TensorFlow的简单实用
Posted abc23
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了TensorFlow的简单实用相关的知识,希望对你有一定的参考价值。
定义常量
import tensorflow as tf # 定义常量 m1 = tf.constant([[3, 3]]) m2 = tf.constant([[2], [3]]) # 定义乘法 product = tf.matmul(m1, m2) # 这里不会直接输出结果,会打印出一个tensor # 想要输出结果要在sess中进行 print(product) # 第一种方式定义session sess = tf.Session() result = sess.run(product) print(result) sess.close() # 第二种方式定义session with tf.Session() as sess: print(sess.run(product)) sess.close()
结果:[[15]]
定义变量
import tensorflow as tf # 定义变量 x = tf.Variable([1, 2]) y = tf.Variable([3, 3]) sub = tf.subtract(x, y) add = tf.add(x, y) # 初始化所有变量 对于变量要进行初始化 init = tf.global_variables_initializer() # 在回话中进行结果 with tf.Session() as sess: sess.run(init) print(sess.run(sub)) print(sess.run(add))
结构:
[-2 -1] [4 5]
占位符
import tensorflow as tf
# Feed:先定义占位符,等需要的时候再传入数据 x1 = tf.placeholder(tf.float32) x2 = tf.placeholder(tf.float32) # 乘法操作 y = tf.multiply(x1, x2) # 使用的占位符元素在计算时要进行赋值运算 with tf.Session() as sess: print(sess.run(y, feed_dict={x1: 3, x2: 4}))
使用tensor进行线性回归
import tensorflow as tf import numpy as np import matplotlib.pyplot as plt # 随机初始化一批数据 x_data = np.random.rand(100) noise = np.random.normal(0, 0.01, x_data.shape) y_data = x_data * 0.1 + 0.2 + noise # 构建一个线性模型 d = tf.Variable(np.random.rand(1)) k = tf.Variable(np.random.rand(1)) y_pre = k*x_data + d # 定义loss值 loss = tf.losses.mean_squared_error(y_pre, y_data) # 定义优化器 使用优化器来优化loss optimezer = tf.train.GradientDescentOptimizer(0.3) train = optimezer.minimize(loss) # 初始化变量 init = tf.global_variables_initializer() with tf.Session() as sess: sess.run(init) for i in range(301): sess.run(train) if i % 30 == 0: print(i, sess.run([k, d])) y_pred = sess.run(y_pre) # 画出y_data和y_pred plt.scatter(x_data, y_data) plt.scatter(x_data, y_pred) plt.show()
结果:
以上是关于TensorFlow的简单实用的主要内容,如果未能解决你的问题,请参考以下文章