大数据,机器学习,人工智能程序员深度学习

神经网络入门(2)

2019-07-05  本文已影响18人  zidea
MachineLearninginMarketing

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

定义变量

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

counter = tf.Variable(0, name='increment')
print(counter.name)
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))
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 方法时候进行输入

上一篇 下一篇

猜你喜欢

热点阅读