• TensorFlow常用基本操作


    会话(session):会话拥有并管理Tensorflow程序运行时的所有资源,计算之后需关闭会话回收资源

    import tensorflow.compat.v1 as tf
    
    #定义计算图
    tens=tf.constant([1,2,4])
    #创建一个会话
    sess=tf.Session()
    # 使用这个创建好的会话来得到关心的结果,如调用的sess.run(tens1),得到张量tensl的取值
    print(sess.run(tens))
    # 关闭会话使释放本次运行中使用的资源
    sess.close()

    import tensorflow.compat.v1 as tf
    #constant:定义常量
    node1=tf.constant(3.0,tf.float32,name="node1")
    node2=tf.constant(4.0,tf.float32,name="node2")
    
    result=tf.add(node1,node2)
    #创建一个会话,通过Python的上下文管理器来管理
    with tf.Session() as sess:
        # 使用创建好的会话来计算结果
        print(sess.run(result))
    
    # 不需要再调用sess.close()来关闭会话
    #上下文退出时自动关闭

     当python不生成默认对话,需要手动指定,可通过tf.Tensor.eval()计算值

    import tensorflow.compat.v1 as tf
    import numpy as np
    
    node1=tf.constant(3.0,tf.float32,name="node1")
    node2=tf.constant(4.0,tf.float32,name="node2")
    
    result=tf.add(node1,node2)
    #当python不生成默认对话,需要手动指定,可通过tf.Tensor.eval()计算值
    sess=tf.Session()     #sess=tf.InteractiveSession()  print(result.eval())    sess.close() 等价
    # with sess.as_default():
    #     # 使用创建好的会话来计算结果
    #     print(result.eval())
    print(sess.run(result))
    print(result.eval(session=sess))
    # 不需要再调用sess.close()来关闭会话
    #上下文退出时自动关闭x

    变量:Variable

    在运行过程中值会改变的单元,在Tensorflow中必须进行初始化操作创建语句:

    name_variable=tf.Variable(value,name)

    个别变量初始化:init_op=name_variable.initializer()

    所有变量初始化:init_op=tf.global_variables_initializer()

            sess.run(init_op)  #调用会话run命令对参数进行初始化

    计算1+2+...+10

    import tensorflow.compat.v1 as tf
    
    x=tf.Variable(0)
    y=tf.Variable(0)
    t=tf.constant(1)
    
    new_x=tf.add(x,t)
    update_x=tf.assign(x,new_x)
    new_y=tf.add(y,x)
    update_y=tf.assign(y,new_y)
    #变量更新
    
    init=tf.global_variables_initializer()
    
    with tf.Session() as sess:
        sess.run(init)
        for i in range(10):
            sess.run(update_x)
            
            print(sess.run(update_y))

    占位符:placeholder

    在定义时并不知道其数值,只有当真正运行程序时,才由外部输入,如训练数据

    tf.placeholder先定义一种数据,其参数为数据的Type和Shape

    tf.placeholder(dtype,shape=None,name=None)

    Feed提交数据:

    placeholder占用的变量必须通过feed_dict参数传递进去

    import tensorflow.compat.v1 as tf
    
    a=tf.placeholder(tf.float32)
    b=tf.placeholder(tf.float32)
    c=tf.multiply(a,b)
    
    with tf.Session() as sess:
        result=sess.run(c,feed_dict={a:0.5,b:8.0})
        print(result)

    tf.assign(A, B)函数的作用是把B的值赋值给A

  • 相关阅读:
    Linq之旅:Linq入门详解(Linq to Objects)(转)
    第四章 禅坐和外相的修行
    第三章 生活就是我们的修行
    第二章 更正我们的知见
    第一章 明了佛陀的教导(宁静的森林水池)
    第二章 取其一半
    你的程序员是在努力工作还是在偷懒?
    给JavaScript初学者的24条最佳实践
    简单理解Socket
    oracle18c linux x86-64 install 杂记
  • 原文地址:https://www.cnblogs.com/a155-/p/14259306.html
Copyright © 2020-2023  润新知