91av视频/亚洲h视频/操亚洲美女/外国一级黄色毛片 - 国产三级三级三级三级

  • 大小: 16.25MB
    文件類型: .zip
    金幣: 1
    下載: 0 次
    發布日期: 2023-08-01
  • 語言: Python
  • 標簽: Python實現??

資源簡介

自己編寫的MNIST手寫字Python實現,相關介紹http://blog.csdn.net/hoho1151191150/article/details/79583879

資源截圖

代碼片段和文件信息

“““
gnetwork.py
~~~~~~~~~~
采用隨機梯度法進行前饋神經網絡訓練的模塊,梯度訓練使用BP算法
該程序為練習所寫,簡單易懂。
相關介紹參見:http://blog.csdn.net/hoho1151191150/article/details/79583879
“““
####?Libraries
#?Standard?library
import?random
#?Third-party?libraries
import?numpy?as?np

class?gNetwork(object):

????def?__init__(self?sizes):
????“““
????sizes:list類型,表示網絡結構,比如[231]表示輸入層2個神經元,
????一個包含3個神經元的隱層,1個輸出層
????“““
????????self.num_layers?=?len(sizes)
????????self.sizes?=?sizes
#初始化網絡
????????self.biases?=?[np.random.randn(y?1)?for?y?in?sizes[1:]]
????????self.weights?=?[np.random.randn(y?x)
????????????????????????for?x?y?in?zip(sizes[:-1]?sizes[1:])]
????????#為了方便代碼編寫,weights和biases與網絡結構相同,輸入層為空即可
????????self.biases.insert(0[])
????????self.weights.insert(0[])
????????self.accuracy=[];

????def?feedforward(selfaz):
????????“““Return?the?output?of?the?network“““
#z=w*x+b,a=sigma(z)
????????for?ik?in?range(1self.num_layers):
????????????z[ik]?=?np.dot(self.weights[ik]?a[ik-1])+self.biases[ik]
????????????a[ik]?=?sigmoid(z[ik])

????def?SGD(self?training_data?epochs?mini_batch_size?etatest_data=None):
#中間變量,weights和biases的導數,以及激活值a和帶權輸入z
????????nabla_biases?=?self.biases[:]
????????nabla_weights?=?self.weights[:]
????????a?=?[[]?for?i?in?range(self.num_layers)]
????????z?=?[[]?for?i?in?range(self.num_layers)]
????????#測試數據
????????if?test_data:?
????????????n_test?=?len(test_data)
????????????x_test?=?np.squeeze(np.array([d[0]?for?d?in?test_data]).transpose())
????????????y_test?=?np.squeeze(np.array([d[1]?for?d?in?test_data]).transpose())
????????
????????n?=?len(training_data)
#主循環
????????for?j?in?range(epochs):
????????????#對樣本數據隨機排列
????????????random.shuffle(training_data)
#mini_batch
????????????mini_batches?=?[
????????????????training_data[k:k+mini_batch_size]
????????????????for?k?in?range(0?n?mini_batch_size)]
????????????
????????????for?mini_batch?in?mini_batches:
#將tuple的數據處理成矩陣形式,這樣可以一次計算所有的mini_batch
#比在mini_batch中循環單個樣本快很多
????????????????x_train?=?np.squeeze(np.array([x[0]?for?x?in?mini_batch])).transpose()
????????????????y_train?=?np.squeeze(np.array([y[1]?for?y?in?mini_batch])).transpose()
????????????????a[0]?=?x_train
????????????????#前饋
self.feedforward(az)
#反向傳播誤差,并更新模型
????????????????self.update_mini_batch(y_trainaznabla_weightsnabla_biasesmini_batch_sizeeta)
????????????
????????????if?test_data:
????????????????yp?=?self.evaluate(x_testy_test)
????????????????self.accuracy.append(yp/n_test)
????????????????print(“Epoch?{%d}:?{%d}?/?{%d}“?%(j?self.evaluate(x_testy_test)?n_test))
????????????else:
????????????????print(“Epoch?{%d}?complete“?%(j))

????def?update_mini_batch(selfy_trainaznabla_weightsnabla_biasesmini_batch_sizeeta):
????????#計算輸出層,公式BP1
????????delta?=?(a[-1]-y_train)*sigmoid_prime(z[-1])
????????nabla_biases[-1][:0]?=?np.mean(deltaaxis?=?1)
????????nabla_weights[-1]?=?np.dot(deltaa[-2].transpose

?屬性????????????大小?????日期????時間???名稱
-----------?---------??----------?-----??----
?????目錄???????????0??2018-03-17?11:51??神經網絡學習(七)MNIST?Python程序\
?????目錄???????????0??2018-03-17?10:33??神經網絡學習(七)MNIST?Python程序\data\
?????文件????17051982??2018-01-27?02:42??神經網絡學習(七)MNIST?Python程序\data\mnist.pkl.gz
?????目錄???????????0??2018-03-17?11:20??神經網絡學習(七)MNIST?Python程序\fig\
?????文件???????15308??2018-03-17?12:23??神經網絡學習(七)MNIST?Python程序\fig\arch30-mini-10-eta3.png
?????文件???????16672??2018-03-17?11:12??神經網絡學習(七)MNIST?Python程序\fig\arch30-mini-15-eta3.png
?????目錄???????????0??2018-03-17?11:45??神經網絡學習(七)MNIST?Python程序\src\
?????文件????????4533??2018-03-17?13:02??神經網絡學習(七)MNIST?Python程序\src\gnetwork.py
?????文件????????3573??2018-02-26?16:27??神經網絡學習(七)MNIST?Python程序\src\mnist_loader.py
?????文件????????6939??2018-03-17?10:55??神經網絡學習(七)MNIST?Python程序\src\network.py
?????文件?????????942??2018-03-17?12:01??神經網絡學習(七)MNIST?Python程序\src\test.py
?????目錄???????????0??2018-03-17?11:19??神經網絡學習(七)MNIST?Python程序\src\__pycache__\
?????文件????????4463??2018-03-17?11:19??神經網絡學習(七)MNIST?Python程序\src\__pycache__\gnetwork.cpython-36.pyc
?????文件????????4041??2018-03-17?10:47??神經網絡學習(七)MNIST?Python程序\src\__pycache__\mnist_loader.cpython-36.pyc
?????文件????????7220??2018-03-17?11:03??神經網絡學習(七)MNIST?Python程序\src\__pycache__\network.cpython-36.pyc

評論

共有 條評論