神经网络入门(2)

作者: zidea | 来源:发表于2019-07-05 06:39 被阅读18次
MachineLearninginMarketing

今天通过简单实例给大家介绍如何在 TensorFlow 中定义变量、常量和计算会话。并且会写一个简单事例。感谢教程提供者在网上无私奉献,希望自己将其进行传递。

定义变量

在 TensorFlow 中定义变量,我们学习语言中定义变量方式有所不同,需要通过 tf.Variable 显式声明为变量才是变量。

counter = tf.Variable(0, name='increment')
print(counter.name)
  • 可以给初始值和名字,这里给名字为 increment
increment_1:0

下面运算是对一个变量进行每次自增 1 ,这个在我们平时写程序时候经常遇到,写起来也很简单,不过要用 TensorFlow 实现起来却有所不同而且比较繁琐。

import tensorflow as tf
counter = tf.Variable(0, name='increment')
one = tf.constant(1)

result = tf.add(counter,one)

updata = tf.assign(counter, result)

init = tf.global_variables_initializer()

with tf.Session() as sess:
    sess.run(init)
    for _ in range(3):
        sess.run(updata)
        print(sess.run(counter))
  • 定义常量 one 后通过调用 tf.add 对变量和常量进行加法运算
  • 计算后输出结果为变量,需要通过 update 来赋值回给变量 counter
  • 定义好运算我们一定不要忘记初始化,而且要用 Session 运行一下才能初始化我们的结构。
init = tf.global_variables_initializer()

和我们平时所了解有所差别也就是值得注意的是如果要输出 couter 运算后结果我们还需要调用 sess.run 一下,

计算单元(会话)

import tensorflow as tf

matrix1 = tf.constant([[3,3]])
matrix2 = tf.constant([[2],[2]])

multi = tf.matmul(matrix1,matrix2)

# 方法
sess = tf.Session()
result = sess.run(multi)

print(result)
sess.close()

注意这里 Session 是一个对象所以需要首字母大写,在计算结束我们可以一种优雅形式关闭计算会话。

with tf.Session() as sess:
    result = sess.run(multi)
    print(result)

传入变量

import tensorflow as tf

inputOne = tf.placeholder(tf.float32)
inputTwo = tf.placeholder(tf.float32)

output = tf.multiply(inputOne,inputTwo)

with tf.Session() as sess:
    print(sess.run(output,feed_dict={inputOne:[2.],inputTwo:[3.]}))

我们是通过占位符 placeholder 预留变量位置供调用 run 方法时候进行输入

相关文章

网友评论

    本文标题:神经网络入门(2)

    本文链接:https://www.haomeiwen.com/subject/eemjhctx.html