欢迎访问 生活随笔!

生活随笔

当前位置: 首页 > 编程资源 > 编程问答 >内容正文

编程问答

TensorFlow 笔记1--基本用法

发布时间:2025/3/12 编程问答 29 豆豆
生活随笔 收集整理的这篇文章主要介绍了 TensorFlow 笔记1--基本用法 小编觉得挺不错的,现在分享给大家,帮大家做个参考.

TensorFlow 基本用法


  • tensorflow编程的基本框架

    • 导入所需要的包
    • 准备数据
    • 构建模型/构建图
      • 定义变量、计算op
      • 定义优化目标及方法op
      • 定义初始化op
    • 启动/运行图
      • 运行初始化op
      • 运行优化目标及方法op
    #导入包 import tensorflow as tf import numpy as np# 准备数据。使用numpy生成假2行100列的数据即100个二维点。 # .randn()表示标准正态分布;.rand()表示[0,1)均匀分布。括号内为数据的shape。 x_data = np.float32(np.random.rand(2, 100)) y_data = np.dot([0.100, 0.200], x_data) + 0.300# 构建模型/构建图 b = tf.Variable(tf.zeros([1])) W = tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0)) y = tf.matmul(W, x_data) + b # 定义目标及方法 loss = tf.reduce_mean(tf.square(y - y_data)) optimizer = tf.train.GradientDescentOptimizer(0.5) train = optimizer.minimize(loss) # 初始化变量,旧版本为tf.initialize_all_variables() init = tf.global_variables_initializer() # 启动/运行图 sess = tf.Session() sess.run(init) # 拟合平面,不断运行train来更新参数。 for step in range(0, 201):sess.run(train)if step % 20 == 0:print (step, sess.run(W), sess.run(b))# 得到最佳拟合结果 W: [[0.100 0.200]], b: [0.300]
  • 构建图

    • 创建placeholder,常量,变量的op
    • 创建计算的op
    • 创建优化目标及方法的op
    • 创建初始化op
    #placeholder。None表示任意数 x = tf.placeholder(tf.float32,[None, 2],name="x_input")with tf.Session() as sess:input=sess.run(x, feed_dict={x:[7.,3.]})#常量op。例:1x2常量矩阵。 tf.constant([[0., 0.]]) tf.constant(0., shape=[1,2]) tf.constant(tf.zero([1,2]))#变量op。例:1x2变量矩阵。 tf.Variable(tf.zeros([1,2])) tf.Variable([[0., 0.]]) tf.Variable(tf.random_randn([1, 2]) tf.Variable(tf.random_uniform([1, 2], -1.0, 1.0))#计算op。例:矩阵相乘 tf.constant([[3., 3.]])#目标及方法的op loss = tf.reduce_mean(tf.square(y - y_data)) optimizer = tf.train.GradientDescentOptimizer(0.5) train = optimizer.minimize(loss)#初始化op init = tf.global_variables_initializer()
  • 运行图

  • 法一:

    # 配置不会占满整个GPU config = tf.ConfigProto() config.gpu_options.allow_growth=True# 启动默认图. sess = tf.Session(config=config)#运行op los=sess.run(loss) sess.run(train)# 任务完成, 关闭会话. sess.close()#为了便于使用诸如 IPython 之类的 Python 交互环境, 可以使用InteractiveSession 代替 Session 类。 #使用 Tensor.eval() 和 Operation.run() 方法代替 Session.run()。这样可以避免使用一个变量来持有会话. sess = tf.InteractiveSession() x = tf.Variable([1.0, 2.0]) a = tf.constant([3.0, 3.0])# 使用初始化器 initializer op 的 run() 方法初始化 'x' x.initializer.run()# 增加一个减法op。使用eval方法。 sub = tf.sub(x, a) print (sub.eval())

    法二:

    #自动关闭会话 with tf.Session() as sess:los=sess.run(loss)sess.run(train)#指定CPU或GPU with tf.Session() as sess:with tf.device("/gpu:1"):matrix1 = tf.constant([[3., 3.]])matrix2 = tf.constant([[2.],[2.]])product = tf.matmul(matrix1, matrix2)

    总结

    以上是生活随笔为你收集整理的TensorFlow 笔记1--基本用法的全部内容,希望文章能够帮你解决所遇到的问题。

    如果觉得生活随笔网站内容还不错,欢迎将生活随笔推荐给好友。