資源簡介
前端用畫布手寫,后臺傳送到服務(wù)器,簡單的神經(jīng)網(wǎng)絡(luò)手寫識別。前端用畫布手寫,后臺傳送到服務(wù)器,簡單的神經(jīng)網(wǎng)絡(luò)手寫識別。前端用畫布手寫,后臺傳送到服務(wù)器,簡單的神經(jīng)網(wǎng)絡(luò)手寫識別。前端用畫布手寫,后臺傳送到服務(wù)器,簡單的神經(jīng)網(wǎng)絡(luò)手寫識別。前端用畫布手寫,后臺傳送到服務(wù)器,簡單的神經(jīng)網(wǎng)絡(luò)手寫識別。前端用畫布手寫,后臺傳送到服務(wù)器,簡單的神經(jīng)網(wǎng)絡(luò)手寫識別。前端用畫布手寫,后臺傳送到服務(wù)器,簡單的神經(jīng)網(wǎng)絡(luò)手寫識別。前端用畫布手寫,后臺傳送到服務(wù)器,簡單的神經(jīng)網(wǎng)絡(luò)手寫識別。前端用畫布手寫,后臺傳送到服務(wù)器,簡單的神經(jīng)網(wǎng)絡(luò)手寫識別。前端用畫布手寫,后臺傳送到服務(wù)器,簡單的神經(jīng)網(wǎng)絡(luò)手寫識別。

代碼片段和文件信息
import?csv
import?matplotlib.pyplot?as?plt
import?matplotlib.cm?as?cm
import?numpy?as?np
import?math
import?random
import?os
import?json
from?numpy?import?matrix
from?math?import?pow
from?collections?import?namedtuple
class?HCRNN:
????LEARNING_RATE?=?0.1
????WIDTH_IN_PIXELS?=?20
????NN_FILE_PATH?=?‘./nn.json‘
????def?__init__(self?num_hidden_nodes?data_matrix?data_labels?training_indices?use_file=True):
????????self.sigmoid?=?np.vectorize(self._sigmoid_scalar)
????????self.sigmoid_prime?=?np.vectorize(self._sigmoid_prime_scalar)
????????self._use_file?=?use_file
????????self.data_matrix?=?data_matrix
????????self.data_labels?=?data_labels
????????if?(not?os.path.isfile(HCRNN.NN_FILE_PATH)?or?not?use_file):
????????????#初始化權(quán)重偏置
????????????self.theta1?=?self._rand_initialize_weights(400?num_hidden_nodes)
????????????self.theta2?=?self._rand_initialize_weights(num_hidden_nodes?10)
????????????self.input_layer_bias?=?self._rand_initialize_weights(1?num_hidden_nodes)
????????????self.hidden_layer_bias?=?self._rand_initialize_weights(1?10)
????????????#開始訓(xùn)練
????????????TrainData?=?namedtuple(‘TrainData‘?[‘y0‘?‘label‘])
????????????self.train([TrainData(self.data_matrix[i]?int(self.data_labels[i]))?for?i?in?training_indices])
????????????self.save()
????????else:
????????????self._load()
????def?_rand_initialize_weights(self?size_in?size_out):
????????return?[((x?*?0.12)?-?0.06)?for?x?in?np.random.rand(size_out?size_in)]
????#s激勵(lì)函數(shù)
????def?_sigmoid_scalar(self?z):
????????return?1?/?(1?+?math.e?**?-z)
????def?_sigmoid_prime_scalar(self?z):
????????return?self.sigmoid(z)?*?(1?-?self.sigmoid(z))
????def?train(self?training_data_array):
????????for?data?in?training_data_array:
????????????#前向傳播
????????????y1?=?np.dot(np.mat(self.theta1)?np.mat(data[‘y0‘]).T)
?????????????#添加偏置
????????????sum1?=??y1?+?np.mat(self.input_layer_bias)?
????????????y1?=?self.sigmoid(sum1)
????????????y2?=?np.dot(np.array(self.theta2)?y1)
?????????????#添加偏置
????????????y2?=?np.add(y2?self.hidden_layer_bias)
????????????y2?=?self.sigmoid(y2)
????????????#反向傳播
????????????actual_vals?=?[0]?*?10
????????????actual_vals[data[‘label‘]]?=?1
????????????output_errors?=?np.mat(actual_vals).T?-?np.mat(y2)
????????????hidden_errors?=?np.multiply(np.dot(np.mat(self.theta2).T?output_errors)?self.sigmoid_prime(sum1))
????????????#更新權(quán)重
????????????self.theta1?+=?self.LEARNING_RATE?*?np.dot(np.mat(hidden_errors)?np.mat(data[‘y0‘]))
????????????self.theta2?+=?self.LEARNING_RATE?*?np.dot(np.mat(output_errors)?np.mat(y1).T)
????????????self.hidden_layer_bias?+=?self.LEARNING_RATE?*?output_errors
????????????self.input_layer_bias?+=?self.LEARNING_RATE?*?hidden_errors
????????????
????def?predict(self?test):
????????y1?=?np.dot(np.mat(self.theta1)?np.mat(test).T)
????????y1?=??y1?+?np.mat(self.input_layer_bias)
????????y1?=?self.sigmoid(y1)
????????y2?=?np.dot(np.array(self.theta2)?y1)
????????y2?=?np.add(y2?self.hidden_layer_bias)
????????y2?=?self.sigmoi
?屬性????????????大小?????日期????時(shí)間???名稱
-----------?---------??----------?-----??----
?????文件????????410??2018-06-18?02:00??HandWritingCharRecognition\.vscode\launch.json
?????文件???26337792??2017-02-11?13:21??HandWritingCharRecognition\data.csv
?????文件??????10000??2017-02-11?13:21??HandWritingCharRecognition\dataLabels.csv
?????文件????????129??2018-06-18?02:04??HandWritingCharRecognition\hcr.css
?????文件????????741??2018-06-18?02:03??HandWritingCharRecognition\HCR.html
?????文件???????4266??2018-06-18?01:23??HandWritingCharRecognition\Hcr.js
?????文件???????4026??2018-06-18?01:53??HandWritingCharRecognition\hcr.py
?????文件?????132685??2018-06-18?01:54??HandWritingCharRecognition\nn.json
?????文件???????1090??2018-06-18?02:11??HandWritingCharRecognition\nnnodechoice.py
?????文件???????1699??2018-06-18?02:10??HandWritingCharRecognition\Server.py
?????文件???????4303??2018-06-18?01:53??HandWritingCharRecognition\__pycache__\hcr.cpython-36.pyc
?????目錄??????????0??2018-06-18?02:14??HandWritingCharRecognition\.vscode
?????目錄??????????0??2018-06-18?02:14??HandWritingCharRecognition\__pycache__
?????目錄??????????0??2018-06-18?02:14??HandWritingCharRecognition
-----------?---------??----------?-----??----
?????????????26497141????????????????????14
評論
共有 條評論