美文网首页
Tensorflow与神经网络

Tensorflow与神经网络

作者: 丁功春 | 来源:发表于2021-10-25 19:53 被阅读0次

    在tensorflow1中,程序一般可以分为两个阶段,第一个阶段定义计算图中的所有阶段,并没有真正进行计算;第二个阶段赋予数据执行计算。
    例如:
    1、定义计算:

    y=3a+2 
    

    2、给a赋值a=5,执行计算,得到y=17
    系统一般会维护一个默认的计算图,若想查看a所属的计算图,可以用a.graph
    TensorFlow支持通过tf.Graph函数来生成新的计算图,不同计算图上的张量和运算都不会共享。

    #指定计算运行的设备
    tf.device("/gpu:0"):
    

    TensorFlow中的会话(Session)

    会话拥有并管理TensorFlow程序运行时的所有资源。

    #通过python中的上下文管理器,可以解决异常退出时资源释放的问题
    with tf.Session() as sess:
          ......
    

    变量的作用就是保存和更新神经网络中的参数,如下声明一个23矩阵的变量

    weights = tf.Variable(tf.random_normal([2.3]), stddev = 2)) #stddev=2:均值为0,标准差为2
    

    所有的变量都会被自动的加到GraphKeys.VARIABLES这个集合中,可以通过tf.global_variables()函数拿到。
    一般来说,一个神经网络的训练会经过几百万轮甚至几亿轮的迭代,这样计算图就会非常大,因此TensorFlow提供了placeholder机制用于提供输入数据。以上的写法就改为:

    a = tf.placeholder(tf.float32, shape=(1,2),name="input")
    sess = tf.Session()
    init_op = tf.global_variables_initializer()
    sess.run(init_op)
    sess.run(y,feed_dict = {x:3})
    

    相关文章

      网友评论

          本文标题:Tensorflow与神经网络

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