专栏首页从流域到海域tensorflow dropout实现

tensorflow dropout实现

指定keep_prob即可,下面的例子使用了占位符。为了简便起见,直接给keep_prob赋一个定值可能更好,但占位符在每次运行时都可以指定keep_prob的值。

keep_prob = tf.placeholder('float')

L1 = ...

L1_d = tf.nn.dropout(L1, keep_prob)

# Train
sess.run(optimizer, feed_dict={X: batch_xs, Y: batch_ys, keep_prob: 0.7})
# Evaluation
print("Accuracy", accuracy.eval({X: mnist.test.images, Y: mnist.test.labels, keep_prob: 1}))

更详细的例子:

# dropout (keep_prob) rate  0.7 on training, but should be 1 for testing
keep_prob = tf.placeholder(tf.float32)

W1 = tf.get_variable("W1", shape=[784, 512])
b1 = tf.Variable(tf.random_normal([512]))
L1 = tf.nn.relu(tf.matmul(X, W1) + b1)
L1 = tf.nn.dropout(L1, keep_prob=keep_prob)

W2 = tf.get_variable("W2", shape=[512, 512])
b2 = tf.Variable(tf.random_normal([512]))
L2 = tf.nn.relu(tf.matmul(L1, W2) + b2)
L2 = tf.nn.dropout(L2, keep_prob=keep_prob)
…
# train model
for epoch in range(training_epochs):
    ...
    for i in range(total_batch):
        batch_xs, batch_ys = mnist.train.next_batch(batch_size)
        feed_dict = {X: batch_xs, Y: batch_ys, keep_prob: 0.7}
        c, _ = sess.run([cost, optimizer], feed_dict=feed_dict)
        avg_cost += c / total_batch

# Test model and check accuracy
correct_prediction = tf.equal(tf.argmax(hypothesis, 1), tf.argmax(Y, 1))
accuracy = tf.reduce_mean(tf.cast(correct_prediction, tf.float32))
print('Accuracy:', sess.run(accuracy, feed_dict={
     X: mnist.test.images, Y: mnist.test.labels, keep_prob: 1}))

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • tensorflow入门:Logistic Regression

    g(z)=11+e−zg(z) = \frac{1}{1+e^{-z}}g(z)=1+e−z1​

    Steve Wang
  • tensorflow入门:Softmax Classication

    Softmax用于多元分类,同logistic regression一样使用cross entropy作为损失函数,其原理不再赘述。

    Steve Wang
  • tensorflow入门:Neural Network for mnist

    我们使用tensorflow实现类似于上图的简单深度网络,用于mnist数据集预测模型的实现。理论方面不再赘述。

    Steve Wang
  • Tensorflow入门教程(七)——控制流操作:条件和循环

    上一篇我介绍了Tensorflow中执行顺序和控制依赖关系。在构建循环神经网络等复杂模型时,可能需要通过条件和循环来控制操作流程。这一篇我会说一说一些常用的...

    用户7498388
  • tensorflow学习笔记(八):dropout

    我们都知道dropout对于防止过拟合效果不错 dropout一般用在全连接的部分,卷积部分一般不会用到dropout,输出曾也不会使用dropout,适用...

    ke1th
  • 从零开始搭建大数据平台系列之(1)——环境准备

    (1)物理机配置 处理器:Intel® Core™ i7 处理器 内存:8.00GB 系统类型:64 位操作系统,基于 x64 的处理器 操作系统:Wi...

    魏晓蕾
  • 机器学习在气象领域的应用

    这是一篇无关技术细节的推送,只大概了解一下目前机器学习在气象领域的应用。关于大家要求的一些机器学习/深度学习资料后面会分享给大家。

    bugsuse
  • java基础学习_IO流03_字符流、IO流小结、案例_day21总结

    黑泽君
  • 团队空间:敏捷团队的办公室设计

    Martin Fowler在他的一篇博客(Team Room)中介绍了ThoughtWorks对敏捷软件开发团队所应采用的“团队空间”的观点:团队空间内部应当完...

    ThoughtWorks
  • 使用TBtools对叶绿体蛋白编码基因进行GO注释

    python extract_CDS_from_gb.py input.gb output.fasta

    用户7010445

扫码关注云+社区

领取腾讯云代金券