《TensorFlow自然语言处理》—2.4.2 定义TensorFLow图
【摘要】 本节书摘来自华章计算机《TensorFlow自然语言处理》一书中的第2章,第2.4.2节,[澳] 图珊·加内格达拉(Thushan Ganegedara) 著 马恩驰 陆 健 译。
2.4.2 定义TensorFLow图
要定义TensorFlow图,我们首先要为输入图像(tf_inputs)和相应的标签(tf_labels)定义占位符:
接下来,我们将编写一个Python函数,它将首次创建变量。
请注意,我们使用作用域来确保可重用性,并确保正确命名变量:
接下来,我们定义神经网络的推理过程。与使用没有作用域的变量相比,请注意作用域是如何为函数中的代码提供非常直观的流程的。这个网络有三层:
具有ReLU激活的全连接层(第一层)
具有ReLU激活的全连接层(第二层)
完全连接的softmax层(输出)
借助于作用域,我们将每个层的变量(权重和偏差)命名为layer1/weights、layer1/bias、layer2/weights、layer2/bias、output/weights和output/bias。注意,在代码中,它们都具有相同的名称,但作用域不同:
现在,我们定义一个损失函数,然后定义最小化损失运算。最小化损失运算通过将网络参数推向最小化损失的方向来最小化损失。TensorFlow中提供了多种优化器,在这里,我们将使用MomentumOptimizer,它比GradientDescentOptimizer有更好的准确率和收敛性:
最后,我们定义一个运算来获得给定的一批输入的softmax预测概率,它可以用于计算神经网络的准确率:
【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)