DL之DNN优化技术:自定义MultiLayerNetExtend算法(BN层使用/不使用+权重初始值不同)对Mnist数据集训练评估学习过程
生活随笔
收集整理的這篇文章主要介紹了
DL之DNN优化技术:自定义MultiLayerNetExtend算法(BN层使用/不使用+权重初始值不同)对Mnist数据集训练评估学习过程
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
DL之DNN優化技術:自定義MultiLayerNetExtend算法(BN層使用/不使用+權重初始值不同)對Mnist數據集訓練評估學習過程
?
目錄
輸出結果
設計思路
核心代碼
更多輸出
?
?
相關文章:
DL之DNN優化技術:采用三種激活函數(sigmoid、relu、tanh)構建5層神經網絡,權重初始值(He初始化和Xavier初始化)影響隱藏層的激活值分布的直方圖可視化
DL之DNN優化技術:自定義MultiLayerNet【5*100+ReLU】對MNIST數據集訓練進而比較三種權重初始值(Xavier初始化、He初始化)性能差異
DL之DNN優化技術:利用MultiLayerNetExtend算法(BN層使用/不使用+權重初始值不同)對Mnist數據集訓練評估學習過程
DL之DNN優化技術:DNN中參數初始化【Lecun參數初始化、He參數初始化和Xavier參數初始化】的簡介、使用方法詳細攻略
DL之DNN優化技術:自定義MultiLayerNetExtend算法(BN層使用/不使用+權重初始值不同)對Mnist數據集訓練評估學習過程全部代碼
?
輸出結果
更多輸出詳見最后
?
設計思路
?
核心代碼
(x_train, t_train), (x_test, t_test) = load_mnist(normalize=True)x_train = x_train[:1000] t_train = t_train[:1000]max_epochs = 20 train_size = x_train.shape[0] batch_size = 100 learning_rate = 0.01bn_network = MultiLayerNetExtend(input_size=784, hidden_size_list=[100, 100, 100, 100, 100], output_size=10, weight_init_std=weight_init_std, use_batchnorm=True)network = MultiLayerNetExtend(input_size=784, hidden_size_list=[100, 100, 100, 100, 100], output_size=10,weight_init_std=weight_init_std)optimizer = SGD(lr=learning_rate) train_acc_list = [] bn_train_acc_list = []iter_per_epoch = max(train_size / batch_size, 1) for i in range(1000000000):#定義x_batch、t_batchbatch_mask = np.random.choice(train_size, batch_size)x_batch = x_train[batch_mask]t_batch = t_train[batch_mask]for _network in (bn_network, network):grads = _network.gradient(x_batch, t_batch) optimizer.update(_network.params, grads) if i % iter_per_epoch == 0: train_acc = network.accuracy(x_train, t_train) bn_train_acc = bn_network.accuracy(x_train, t_train) train_acc_list.append(train_acc)bn_train_acc_list.append(bn_train_acc)print("epoch:" + str(epoch_cnt) + " | " + str(train_acc) + " - " + str(bn_train_acc)) epoch_cnt += 1if epoch_cnt >= max_epochs: breakreturn train_acc_list, bn_train_acc_list?
?
更多輸出
============== 1/16 ============== epoch:0 | 0.093 - 0.085 epoch:1 | 0.117 - 0.08 epoch:2 | 0.117 - 0.081 epoch:3 | 0.117 - 0.1 epoch:4 | 0.117 - 0.125 epoch:5 | 0.117 - 0.143 epoch:6 | 0.117 - 0.163 epoch:7 | 0.117 - 0.191 epoch:8 | 0.117 - 0.213 epoch:9 | 0.117 - 0.236 epoch:10 | 0.117 - 0.258 epoch:11 | 0.117 - 0.268 epoch:12 | 0.117 - 0.28 epoch:13 | 0.117 - 0.297 epoch:14 | 0.117 - 0.31 epoch:15 | 0.117 - 0.322 epoch:16 | 0.117 - 0.335 epoch:17 | 0.117 - 0.36 epoch:18 | 0.116 - 0.378 epoch:19 | 0.117 - 0.391============== 2/16 ============== epoch:0 | 0.087 - 0.099 epoch:1 | 0.097 - 0.108 epoch:2 | 0.097 - 0.151 epoch:3 | 0.097 - 0.185 epoch:4 | 0.097 - 0.216 epoch:5 | 0.097 - 0.226 epoch:6 | 0.097 - 0.243 epoch:7 | 0.097 - 0.281 epoch:8 | 0.097 - 0.306 epoch:9 | 0.097 - 0.323 epoch:10 | 0.097 - 0.344 epoch:11 | 0.097 - 0.364 epoch:12 | 0.097 - 0.38 epoch:13 | 0.097 - 0.394 epoch:14 | 0.097 - 0.402 epoch:15 | 0.097 - 0.415 epoch:16 | 0.097 - 0.441 epoch:17 | 0.097 - 0.454 epoch:18 | 0.097 - 0.464 epoch:19 | 0.097 - 0.48============== 3/16 ============== epoch:0 | 0.104 - 0.108 epoch:1 | 0.364 - 0.111 epoch:2 | 0.499 - 0.121 epoch:3 | 0.587 - 0.153……epoch:17 | 0.116 - 0.62 epoch:18 | 0.116 - 0.615 epoch:19 | 0.116 - 0.652============== 16/16 ============== epoch:0 | 0.092 - 0.092 epoch:1 | 0.094 - 0.288 epoch:2 | 0.116 - 0.373 epoch:3 | 0.116 - 0.407 epoch:4 | 0.116 - 0.416 epoch:5 | 0.116 - 0.418 epoch:6 | 0.116 - 0.488 epoch:7 | 0.117 - 0.493 epoch:8 | 0.117 - 0.502 epoch:9 | 0.117 - 0.517 epoch:10 | 0.117 - 0.52 epoch:11 | 0.117 - 0.507 epoch:12 | 0.117 - 0.524 epoch:13 | 0.117 - 0.521 epoch:14 | 0.117 - 0.523 epoch:15 | 0.117 - 0.522 epoch:16 | 0.117 - 0.522 epoch:17 | 0.116 - 0.523 epoch:18 | 0.116 - 0.481 epoch:19 | 0.116 - 0.509?
相關文章
CSDN:2019.04.09起
?
?
?
?
?
總結
以上是生活随笔為你收集整理的DL之DNN优化技术:自定义MultiLayerNetExtend算法(BN层使用/不使用+权重初始值不同)对Mnist数据集训练评估学习过程的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ML之DT之CART:分类与回归树CAR
- 下一篇: DL之DNN:利用MultiLayerN