美文网首页
TensorFlow 非常基础的知识笔记

TensorFlow 非常基础的知识笔记

作者: liangym | 来源:发表于2019-02-20 15:04 被阅读0次

    1、TensorFlow(tf)变量的类型及使用方法

    (1) tf.constant()        

        先定义变量,后直接使用 tf.Session()

            import tensorflow as tf

            # Define constant tensors

            a = tf.constant(2)

            b = tf.constant(3)

            with tf.Session() as sess:

                print(  sess.run(a+b)  )        # 5


        

    (2) tf.placeholder()

        先定义变量,再定义操作,最后使用 tf.Session() 及 feed_dict

            import tensorflow as tf

            a = tf.placeholder(tf.int16)

            b = tf.placeholder(tf.int16)

            # Define some operations

            add = tf.add(a, b)

            with tf.Session() as sess:

                print(  sess.run(add, feed_dict={a:2, b:3})  )        # 5


    2、Eager API        用 tfe 实现 sess 的作用

    (1)显示 Tensor

        import tensorflow as tf

        import tensorflow.contrib.eager as tfe

        # Set Eager API

        tfe.enable_eager_execution()

        # Define constant tensors

        a = tf.constant(2)

        b = tf.constant(3)

        print(a+b)        # 5

        # Define matrix tensor

        a = tf.constant([[2., 1.], [1., 0.]], dtype=tf.float32)

        b = np.array([[3., 0.], [5., 1.]], dtype=np.float32)

        c = a + b

        d = tf.matmul(a, b)

        print("a + b =%s"%c)        # [ [5., 1.], [6., 1.] ]

        print("a * b =%s" % d)        # [ [11., 1], [3., 0.] ]


    (2)用于训练

        有点难以总结,可以参照代码

    3、batch_size 的作用

        可以参考

        batch_size 盲目小,越难收敛

        batch_size 盲目大,对参数的修正越缓慢

    4、机器学习中常见的计算准确率三步曲

        假设 y 为正确便签;pred 为预测标签。 一般均为 [  [1, 0, 0, ... 0] ,  [0, 0, 1, 0 ...., 0], ...[0, 1, 0, 0,...0] ] 形式。 

    假设 y = [ [1, 0, 0],  [1, 0, 0],  [0, 0, 1],  [0, 1, 0]  ];        (即共有4个样例,3种类型)

            pred = [ [0.8, 0.1, 0.1],  [0.2, 0.1, 0.7],  [0.2, 0.3, 0.5],  [0.1, 0.6, 0.3]  ]

    (1)找标签对应位置即为类别

        a = tf.argmax(y, 1)        # [ 0, 0, 2, 1]

        b = tf.argmax(pred, 1)        # [0,  2, 2, 1]

    (2)查看对应是否相等

        c = tf.equal(a, b)        # [  True, False, True, True]

    (3)计算准确率

        acc = tf.reduce_mean( tf.cast(c, tf.float32) )        # 0.75

    相关文章

      网友评论

          本文标题:TensorFlow 非常基础的知识笔记

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