2.tensorflow应用程序开发入门
自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取:
https://www.cnblogs.com/bclshuai/p/11380657.html
1 tensorflow应用程序开发入门
1.1 tensorflow程序结构
TensorFlow是将计算图的定义和执行分开的设计结构,方便跨平台执行。计算图包含节点操作(operation)和边(操作间流动的数据,也叫做张量)组成。TensorFlow Python 库有一个默认图 (default graph), op 构造器可以为其增加节点
(1) 张量tensor:常量、变量和占位符。
(2) 操作operation:定义的运算操作,是计算图中的一个节点,可以理解为函数。有多个输入,只有一个输出。
(3) 会话session:通过会话Session启动计算图,执行运算。
所以tensorflow程序开发流程是定义张量和操作op,op组成计算任务图,任务图在会话中执行返回结果。
1.2 helloworld程序
import tensorflow as tf
# 使用TensorFlow输出Hello
# 创建一个常量操作( Constant op )
# 这个 op 会被作为一个节点( node )添加到默认计算图上.
# 该构造函数返回的值就是常量节点(Constant op)的输出.
hello = tf.constant('Hello, world!')
# 启动TensorFlow会话
sess = tf.Session()
# 运行 hello 节点
print(sess.run(hello))
sess.close()
1.3 算术程序
1.3.1 常量运算
import tensorflow as tf
# 基本常量操作
# T构造函数返回的值就是常量节点(Constant op)的输出.
a = tf.constant(2)
b = tf.constant(3)
# 启动默认的计算图
with tf.Session() as sess:
print("a=2, b=3")
print("常量节点相加: %i" % sess.run(a + b))
print("常量节点相乘: %i" % sess.run(a * b))
1.3.2 变量运算
(1)声明变量方法placeholder
tf.placeholder(dtype, shape=None, name=None)
placeholder,占位符,在tensorflow中类似于函数参数,运行时必须传入值。
dtype:数据类型。常用的是tf.float32,tf.float64等数值类型。
shape:数据形状。默认是None,就是一维值,也可以是多维,比如[2,3], [None, 3]表示列是3,行不定。
name:名称。
(2)变量使用实例
import tensorflow as tf
# 使用变量(variable)作为计算图的输入
# 构造函数返回的值代表了Variable op的输出 (session运行的时候,为session提供输入)
# tf Graph input
a = tf.placeholder(tf.int16)
b = tf.placeholder(tf.int16)
# 定义一些操作
add = tf.add(a, b)
mul = tf.multiply(a, b)
# 启动默认会话
with tf.Session() as sess:
# 把运行每一个操作,把变量值输入进去
print("变量相加: %i" % sess.run(add, feed_dict={a: 2, b: 3}))
print("变量相乘: %i" % sess.run(mul, feed_dict={a: 2, b: 3}))
1.3.3 矩阵运算
import tensorflow as tf
# 矩阵相乘(Matrix Multiplication) 创建一个 Constant op ,产生 1行x2列 matrix该op会作为一个节点被加入到默认的计算图。
matrix1 = tf.constant([[3., 3.]])
# 创建另一个 Constant op 产生 2x1 矩阵.
matrix2 = tf.constant([[2.], [2.]])
# 创建一个 Matmul op操作, 以 'matrix1' 和 'matrix2' 作为输入.
product = tf.matmul(matrix1, matrix2)
#调用 session 的 'run()' 方法执行操作, 传入 'product'
# 调用 'run(product)' 就会引起计算图上三个节点的执行:2个 constants 和一个 matmul,返回到 'result':一个 numpy `ndarray` 对象.
with tf.Session() as sess:
result = sess.run(product)
print('矩阵相乘的结果:', result)
# ==> [[ 12.]]orflow应用程序开发入门