温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

TensorFlow神经网络中张量与变量的概念分析

发布时间:2021-10-18 09:21:54 来源:亿速云 阅读:114 作者:小新 栏目:开发技术

这篇文章主要介绍TensorFlow神经网络中张量与变量的概念分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

    一、张量定义

    张量:TensorFlow的张量是n维数组,类型为tf.Tensor。

    标量:一个数字 (0阶张量)

    向量:一维数组 (1阶张量)

    矩阵:二维数组 (2阶张量)

    二、张量属性

    1、张量的类型

    TensorFlow神经网络中张量与变量的概念分析

    #创建常数张量
        a = tf.constant(3.0)    
        print(a)

    TensorFlow神经网络中张量与变量的概念分析

    2、张量的阶

    TensorFlow神经网络中张量与变量的概念分析

    三、张量的指令

    1、常数张量(普通)

    #创建常数张量
        a = tf.constant(3.0)    
        print(a)

    TensorFlow神经网络中张量与变量的概念分析

    TensorFlow神经网络中张量与变量的概念分析

    2、张量数组

    1、固定张量数组(0)
    #创建张量数组
        #0:
        array_0 = tf.zeros(shape=[3,3])    #3*3数组(0)

    TensorFlow神经网络中张量与变量的概念分析

    2、固定张量数组(1)
    #1:
        array_1 = tf.ones(shape=[3,3])     #3*3数组(1)
    3、随机张量数组
    #随机:
        array_random = tf.random_normal(shape=[2,3], mean=1.75, stddev=0.12)
    #                                   2*3数组      均值(1.75) 标准差

    TensorFlow神经网络中张量与变量的概念分析

    3、查看张量值

    查看张量值:张量.eval()

    #会话(查看张量)
        with tf.Session() as sess:
            print(a.eval())
            print(array_0.eval())
            print(array_1.eval())
            print(array_random.eval())

    TensorFlow神经网络中张量与变量的概念分析

    4、张量类型改变

    #修改张量类型
        array_0 = tf.cast(array_0, tf.int32)

    TensorFlow神经网络中张量与变量的概念分析TensorFlow神经网络中张量与变量的概念分析

    5、张量形状改变

    注:属于动态改变张量,需要张量元素个数固定。

    #修改张量形状
        array_random = tf.reshape(array_random, shape=[3,2])

    修改前:

    TensorFlow神经网络中张量与变量的概念分析

    修改后:

    TensorFlow神经网络中张量与变量的概念分析

    代码

    # 张量(创建与修改)
    import tensorflow as tf
    # 创建张量
    def Create_Tensor():
        # 创建常数张量
        a = tf.constant(3.0)
        print(a)
     
        # 创建张量数组
        # 0:
        array_0 = tf.zeros(shape=[3, 3])  # 3*3数组(0)
     
        # 1:
        array_1 = tf.ones(shape=[3, 3])  # 3*3数组(1)
     
        # 随机:
        array_random = tf.random_normal(shape=[2, 3], mean=1.75, stddev=0.12)
        #                                   2*3数组      均值(1.75) 标准差
     
        # 会话(查看张量)
        with tf.Session() as sess:
            print(a.eval())
            print(array_0.eval())
            print(array_1.eval())
            print(array_random.eval()) 
    # 修改张量
    def Modify_Tensor():
        global array_0, array_random
        print('修改后的:')
     
        # 修改张量类型
        array_0 = tf.cast(array_0, tf.int32)
     
        # 修改张量形状
        array_random = tf.reshape(array_random, shape=[3, 2])
     
        # 会话(查看张量)
        with tf.Session() as sess:
            print(array_0.eval())
            print(array_random.eval())
     
    # 创建张量
    Create_Tensor()
    # 修改张量
    Modify_Tensor()

    四、变量

    1、定义变量

    # 定义变量
    a = tf.Variable(initial_value=2)
    b = tf.Variable(initial_value=4)
    c = tf.add(a,b)

    2、初始化变量

    TensorFlow的变量必须初始化,否则会报错。

    # 初始化变量
    init = tf.global_variables_initializer()

    3、开启会话(执行)

    # 开启会话
    with tf.Session() as sess:
        sess.run(init)
        print(sess.run(c))

    TensorFlow神经网络中张量与变量的概念分析

    代码

    # 变量
    import tensorflow as tf
     
    # 定义变量
    a = tf.Variable(initial_value=2)
    b = tf.Variable(initial_value=4)
    c = tf.add(a,b)
     
    # 初始化变量
    init = tf.global_variables_initializer()
     
    # 开启会话
    with tf.Session() as sess:
        sess.run(init)
        print(sess.run(c))

    以上是“TensorFlow神经网络中张量与变量的概念分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

    向AI问一下细节

    免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

    AI