Tensorflow学习笔记

tensorflow代码1
tensorflow是基于图计算任务的
op表示operation
创建一个常量 op, 产生一个 1x2 矩阵. 这个 op 被作为一个节点,加到默认图中.
构造器的返回值代表该常量 op 的返回值.

import tensorflow as tf
#引入tensorflow包

matrix1 =  tf.constant([[3.,3.]])
#constant表示定义一个常量 3.表这是一个float32类型的 因为后面matmul里的参数需要float32类型的数据
#此处定义[3,3]的1x2 矩阵.
matrix2 = tf.constant([[2.],[2.]])
#此处定义[[2],[2]]2x1 矩阵.
product = tf.matmul(matrix1,matrix2)
# 创建一个矩阵乘法 matmul op , 把 'matrix1''matrix2' 作为输入.
# 返回值 'product' 代表矩阵乘法的结果.
#方法1:
#sess= tf.Session()
# 启动默认图.如果无任何创建参数, 会话构造器将启动默认图.
#result = sess.run(product)
# 调用 sess 的 'run()' 方法来执行矩阵乘法 op, 传入 'product' 作为该方法的参数.
#
# 上面提到, 'product' 代表了矩阵乘法 op 的输出, 传入它是向方法表明, 我们希望取回矩阵乘法 op 的输出.
#
# 整个执行过程是自动化的, 会话负责传递 op 所需的全部输入. op 通常是并发执行的.
#
# 函数调用 'run(product)' 触发了图中三个 op (两个常量 op 和一个矩阵乘法 op) 的执行.
#
# 返回值 'result' 是一个 numpy `ndarray` 对象.
#print result
# 输出[[ 12.]]

#sess.close
# 任务完成, 关闭会话.
#方法2:使用 "with" 代码块 来自动完成关闭动作.
with tf.Session() as sess:
    #result = sess.run([product])
    #加[]输出[array([[ 12.]], dtype=float32)]
    #不加输出[[ 12.]]
    result = sess.run(product)
    print result

涉及GPU的代码,由于电脑不支持,未测试,只做个笔记
通过with tf.device(“/gpu:1”):来调用

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)
        ...

设备用字符串进行标识. 目前支持的设备包括:
• “/cpu:0” : 机器的 CPU.
• “/gpu:0” : 机器的第一个 GPU, 如果有的话.
• “/gpu:1” : 机器的第二个 GPU, 以此类推.

代码二
目标进入一个交互式 TensorFlow 会话
Python中可以使用InteractiveSession 代替Session 类, 使用Tensor.eval() 和Operation.run() 方法代替Session.run() . 这样可以避免使用一个变量来持有会话.

所给案例中sub = tf.sub(x,a)用sub,但是我的环境识别不了(python2.7)用substract就可以运行

import tensorflow as tf
sess = tf.InteractiveSession()
#可以使用InteractiveSession 代替Session 类, 使用Tensor.eval() 和Operation.run() 
#方法代替Session.run() . 这样可以避免使用一个变量来持有会话.
x=tf.Variable([1.0,2.0])
#定义一个变量x其值是矩阵[1.0,2.0]
a=tf.constant([3.0,3.0])
#定义一个常量量x其值是矩阵[1.0,2.0]
x.initializer.run()
# 使用初始化器 initializer op 的 run() 方法初始化 'x'
sub = tf.subtract(x,a)
# 增加一个减法 subsubtract op, 从 'x' 减去 'a'. 运行减法 op, 输出结果
#案例给的源码用sub,但是我的环境识别不了(python2.7)用substract就可以运行
print sub.eval()
#代替Session.run()
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值