TensorFlow 机器学实战指南示例代码之 TensorFlow 实现反向传播(一)
2018-02-07 14:22
459 查看
""" TensorFlow 通过优化函数来实现更新变量和最小化损失函数来实现误差的反向传播 一旦声明优化函数后,TensorFlow 将通过它在所有的计算图中解决反向传播项 """ # 该程序用于实现回归算法的反向传播 import os import numpy as np import tensorflow as tf os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2' s = tf.Session() # 生成数据,创建占位符和变量 A x_vals = np.random.normal(1, 0.1, 100) # 创建均值为 1、标准差为 0.1 的正态分布 y_vals = np.repeat(10., 100) x_data = tf.placeholder(shape=[1], dtype=tf.float32) y_target = tf.placeholder(shape=[1], dtype=tf.float32) A = tf.Variable(tf.random_normal(shape=[1])) # 增加乘法操作 my_output = tf.multiply(x_data, A) # 增加 L2 正则损失函数 loss = tf.square(my_output - y_target) # 运行之前需要初始化变量 init = tf.global_variables_initializer() s.run(init) # 声明变量的优化器 my_opt = tf.train.GradientDescentOptimizer(learning_rate=0.02) train_step = my_opt.minimize(loss) # 训练算法,每 25 次迭代打印返回结果 for i in range(100): rand_index = np.random.choice(100) rand_x = [x_vals[rand_index]] rand_y = [y_vals[rand_index]] s.run(train_step, feed_dict={x_data: rand_x, y_target: rand_y}) if (i + 1) % 5 == 0: print('Step #' + str(i+1) + ' A = ' + str(s.run(A))) print('Loss = ' + str(s.run(loss, feed_dict={x_data: rand_x, y_target: rand_y})))
相关文章推荐
- TensorFlow 机器学实战指南示例代码之 TensorFlow 实现反向传播(二)
- TensorFlow 机器学实战指南示例代码之 TensorFlow 实现随机训练和批量训练
- TensorFlow 机器学实战指南示例代码之 TensorFlow 实现损失函数
- TensorFlow 机器学实战指南示例代码之 TensorFlow 的嵌入 Layer
- TensorFlow 机器学实战指南示例代码之 TensorFlow 的多层 Layer
- TensorFlow实战系列3--实现反向传播
- 深度学习之卷积神经网络CNN及tensorflow代码实现示例详细介绍(转载)
- 用TensorFlow实现多类支持向量机的示例代码
- 神经网络中的反向传播法算法推导及matlab代码实现
- 经典的BPN带动量的误差反向传播神经网络类代码示例
- 深度学习之卷积神经网络CNN及tensorflow代码实现示例
- tensorflow实现对图片的读取的示例代码
- 深度学习之卷积神经网络CNN及tensorflow代码实现示例
- 深度学习之卷积神经网络CNN及tensorflow代码实现示例
- 深度学习之卷积神经网络CNN及tensorflow代码实现示例
- TensorFlow实现反向传播
- 深度学习之卷积神经网络CNN及tensorflow代码实现示例
- 实现属于自己的TensorFlow(二) - 梯度计算与反向传播
- TensorFlow如何实现反向传播
- 微信小程序实战篇之购物车的实现代码示例