TensorFlow

TensorFlow 采用数据流图的方式进行计算: 通俗的解释就是先把相关计算画成线和节点, 线表示关系,节点是操作符或者输入输出,要求某个节点的时候,将这个节点依赖的其他节点初始化,然后进行计算,和该节点无关的节点不动。

tensor:中文解释为张量,一阶张量为标量,tensorflow表示为[1], 二阶张量为数组或者矩阵,比如图片,tensorflow表示为[[1,2],[3,4]],三阶张量,直观来说就是个长方体或者正方体这样子的了,比如多通道图像,tensorflow表示为[[[1][2][3]]],总之就是几阶就有几重括号了

使用用tensorflow分为两步:(1)构建图 (2)启动图

构建图:就是定义一些变量,常量和运算,比如

import tensorflow as tf
matrix1 = tf.constant([[3.,3.]])
matrix2 = tf.constant([[2.],[2.]])
product = tf.matmul(matrix1, matrix2)

启动图:要建立一个称为Session()会话的结构,用完还的关

sess = tf.Session()
result = sess.run(product)
print(result)

sess.close()

于是为了省事,改成了:

with 在python中称为上下文管理器,其实感觉和c++的函数差不多,退出就全部回收了除非显示输出的量

with tf.Session() as sess:
    with tf.device("/cpu:0"):     设备选择 “/gpu:0”
        matrix1 = tf.constant([[3.,3.]])
        matrix2 = tf.constant([[2.],[2.]])
        product=tf.matmul(matrix1, matrix2)

        print(product)

后来觉得一个个改输入数据不好找,于是就把输入数据统一申请相对占位格式后,feed喂进去

import tensorflow as tf
input1 = tf.placeholder(tf.float32)
input2 = tf.placeholder(tf.float32)
output = tf.multiply(input1, input2)
with tf.Session() as sess:

    print(sess.run([output], feed_dict = {input1:[7.], input2:[2.]}))

这是一个定义变量的方法,变量不像常量,所以要进行初始化

import tensorflow as tf
state = tf.Variable(0, )
one = tf.constant(1)
new_value = tf.add(state, one)
update = tf.assign(state, new_value)
init_op = tf.global_variables_initializer()    *
with tf.Session() as sess:
    sess.run(init_op)                                     *
    print(sess.run(state))
    for _ in range(3):
        sess.run(update)
        print(sess.run(state))

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值