美文网首页
chapter 一个demo的分析

chapter 一个demo的分析

作者: 白敏鸢 | 来源:发表于2018-03-01 12:00 被阅读0次
    构建3个op,2个constant,一个matmul,session调用执行,最后关闭
    iimport tensorflow as tf
    matrix1 = tf.constant([[3., 3.]])
    matrix2 = tf.constant([[2.],[2.]])
    product = tf.matmul(matrix1, matrix2)
    sess = tf.Session()
    result = sess.run(product)
    print result
    sess.close()
    
    Session 对象在使用完后需要关闭以释放资源. 除了显式调用 close 外, 也可以使用 "with" 代码块 来自动完成关闭动作.
    with tf.Session() as sess:
     result = sess.run([product])
     print result
    
    如果机器上有超过一个可用的 GPU, 除第一个外的其它 GPU 默认是不参与计算的. 为了让 TensorFlow 使用这些 GPU, 
    你必须将 op 明确指派给它们执行. with...Device 语句用来指派特定的 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)
    
    
    为了便于使用诸如 [IPython](http://ipython.org) 之类的 Python 交互环境, 
    可以使用 InteractiveSession 代替 `Session` 类,
    使用 [Tensor.eval) 和 Operation.run()方法代替Session.run(). 这样可以避免使用一个变量来持有会话.
    
    import tensorflow as tf
    sess = tf.InteractiveSession()
    x = tf.Variable([1.0, 2.0])
    a = tf.constant([3.0, 3.0])
    x.initializer.run()
    sub = tf.subtract(x, a)#注意tf中的sub已经被废除
    print (sub.eval())
    
    
    
    变量的作用:
    state = tf.Variable(0, name="counter")
    # 创建一个 op, 其作用是使 state 增加 1
    one = tf.constant(1)
    new_value = tf.add(state, one)
    update = tf.assign(state, new_value)#把后面的值赋给前面的值
    # 启动图后, 变量必须先经过`初始化` (init) op 初始化,
    # 首先必须增加一个`初始化` op 到图中.
    init_op = tf.initialize_all_variables()
    # 启动图, 运行 op
    with tf.Session() as sess:
     # 运行 'init' op
     sess.run(init_op)
     # 打印 'state' 的初始值
     print(sess.run(state))
     # 运行 op, 更新 'state', 并打印 'state'
     for _ in range(3):
       sess.run(update)
       print(sess.run(state))
    
    

    相关文章

      网友评论

          本文标题:chapter 一个demo的分析

          本文链接:https://www.haomeiwen.com/subject/kqdgxftx.html