【发布时间】:2016-08-10 23:43:44
【问题描述】:
我仍在学习如何实现 tflearn 网络,请耐心等待。我从这里尝试了 tflearn 示例代码:https://github.com/tflearn/tflearn/blob/master/examples/images/convnet_cifar10.py
但奇怪的是,损失从未下降,在整个训练过程中,我看到的只是 10% 的验证准确度(相当于这个数据集的随机)。
但是,仅注释掉 2D 卷积和最大池化操作,验证准确度在前 10 个 epoch 中跃升至 0.47。
这是修改后的代码,似乎产生了更好的结果。其余代码与上述链接相同
network = input_data(shape=[None, 32, 32, 3],
data_preprocessing=img_prep,
data_augmentation=img_aug)
#network = conv_2d(network, 32, 3, activation='relu')
#network = max_pool_2d(network, 2)
#network = conv_2d(network, 64, 3, activation='relu')
#network = conv_2d(network, 64, 3, activation='relu')
#network = max_pool_2d(network, 2)
network = fully_connected(network, 512, activation='relu')
network = dropout(network, 0.5)
network = fully_connected(network, 10, activation='softmax')
network = regression(network, optimizer='adam',
loss='categorical_crossentropy',
learning_rate=0.001)
我只是有点担心和困惑,tflearn 网站上给出的示例实现在实现 2D 卷积步骤时会产生随机分类。有没有其他人见过这个?或者有人可以帮助我直观地理解为什么会发生这种情况?或者这是潜入 conv_2d 代码的静默错误的症状?
【问题讨论】:
标签: machine-learning computer-vision tensorflow