如何使用Python训练线性模型的TensorFlow?
Tensorflow是Google提供的一个机器学习框架。它是一个与Python一起使用的开源框架,用于实现算法、深度学习应用等等。它被用于研究和生产目的。
“tensorflow”包可以在Windows上使用以下代码行进行安装 –
pip install tensorflow
Tensor是TensorFlow中使用的数据结构。它有助于连接流程图中的边缘。这个流程图被称为“数据流图”。张量不过是多维数组或列表。它们可以使用三个主要属性来识别 –
Rank-它告诉张量的维数。它可以理解为张量的阶或已定义的张量中的维度数。
Type -它告诉与张量元素相关联的数据类型。它可以是一维、二维或n维张量。
Shape-它是行数和列数的总和。
我们将使用Jupyter Notebook运行代码。TensorFlow可以使用“pip install tensorflow”在Jupyter Notebook上安装。
以下是代码 –
更多Python相关文章,请阅读:Python 教程
示例
import tensorflow as tf
A = tf.get_variable("A", initializer=tf.constant([0.1]))
b = tf.get_variable("b", initializer=tf.constant([0.0]))
x = tf.placeholder(tf.float32)
y = tf.placeholder(tf.float32)
my_model = A * x + b
lossVal = tf.reduce_sum(tf.square(my_model − y))
my_optimizer = tf.train.GradientDescentOptimizer(0.01)
train = my_optimizer.minimize(lossVal)
x_train = [1.0, 2.5, 3.8, 4.9]
y_train = [1.7, 3.0, 6.6, 6.8]
with tf.Session() as sess:
sess.run(tf.global_variables_initializer())
for i in range(1000):
sess.run(train, {x:x_train, y:y_train})
if i%100==0:
l_cost = sess.run(lossVal, {x:x_train, y:y_train})
print(f"i: {i} cost: {l_cost}")
l_A, l_b, l_cost = sess.run([A, b, lossVal], {x:x_train, y:y_train})
print(f"A: {l_A} b: {l_b} cost: {l_cost}")
输出
i: 0 cost: 1.7808341979980469
i: 100 cost: 1.6947696208953857
i: 200 cost: 1.691591501235962
i: 300 cost: 1.6913959980010986
i: 400 cost: 1.6913844347000122
i: 500 cost: 1.6913840770721436
i: 600 cost: 1.6913843154907227
i: 700 cost: 1.691383719444275
i: 800 cost: 1.6913838386535645
i: 900 cost: 1.6913845539093018
A: [1.4599526] b: [0.07214472] cost: 1.6913845539093018
说明
-
导入所需的包并为其提供别名,以便于使用。
-
定义名为“my_model”的变量,用于存储线性模型的一般格式。
-
使用“GradientDescentOptimizer”训练这个线性模型。
-
训练是这样做的,使得损失最小,这是使用“最小化”方法来确保的。
-
创建两个列表,存储训练数据。
-
对这些数据进行训练,并在控制台上显示预测值。