資源簡介
python實現的卷積神經網絡CNN,無框架,python實現的卷積神經網絡CNN,無框架

代碼片段和文件信息
#!/usr/bin/env?python
#?-*-?coding:?utf-8?-*-
?
?
from?PIL?import?Image
import?struct
?
?
def?read_image(filename):
??f?=?open(filename?‘rb‘)
?
?
??index?=?0
??buf?=?f.read()
?
?
??f.close()
?
?
??magic?images?rows?columns?=?struct.unpack_from(‘>IIII‘??buf??index)
??index?+=?struct.calcsize(‘>IIII‘)
?
?
??for?i?in?xrange(images):
??#for?i?in?xrange(2000):
????image?=?Image.new(‘L‘?(columns?rows))
?
?
????for?x?in?xrange(rows):
??????for?y?in?xrange(columns):
????????image.putpixel((y?x)?int(struct.unpack_from(‘>B‘?buf?index)[0]))
????????index?+=?struct.calcsize(‘>B‘)
?
?
????print?‘save?‘?+?str(i)?+?‘image‘
????image.save(‘data/MNIST/mnist-png/‘?+?str(i)?+?‘.png‘)
?
?
def?read_label(filename?saveFilename):
??f?=?open(filename?‘rb‘)
??index?=?0
??buf?=?f.read()
?
?
??f.close()
?
?
??magic?labels?=?struct.unpack_from(‘>II‘??buf??index)
??index?+=?struct.calcsize(‘>II‘)
??
??labelArr?=?[0]?*?labels
??#labelArr?=?[0]?*?2000
?
?
??for?x?in?xrange(labels):
??#for?x?in?xrange(2000):
????labelArr[x]?=?int(struct.unpack_from(‘>B‘?buf?index)[0])
????index?+=?struct.calcsize(‘>B‘)
?
?
??save?=?open(saveFilename?‘w‘)
?
?
??save.write(‘\n‘.join(map(lambda?x:?str(x)?labelArr)))
??save.write(‘\n‘)
?
?
??save.close()
??print?‘save?labels?success‘
?
?
if?__name__?==?‘__main__‘:
??#read_image(‘data/t10k-images.idx3-ubyte‘)
??read_label(‘data/t10k-labels.idx1-ubyte‘?‘data/MNIST/mnist-png/label.txt‘)
?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????文件????????208??2018-07-24?22:02??gParam.py
?????文件???????7150??2018-07-24?21:43??myCnn.py
?????文件???????3061??2018-07-24?22:17??myCnnTest.py
?????文件???????1501??2018-07-24?22:16??analysisMNIST.py
????I..D...?????????0??2018-07-24?22:24??data
?????文件???????4542??2018-07-24?21:46??data\t10k-labels-idx1-ubyte.gz
?????文件????1648877??2018-07-24?21:46??data\t10k-images-idx3-ubyte.gz
-----------?---------??----------?-----??----
??????????????1665339????????????????????7
評論
共有 條評論