TensorFlow神經網絡學習之張量與變量概念

一、張量定義

張量:TensorFlow的張量是n維數組,類型為tf.Tensor。

標量:一個數字 (0階張量)

向量:一維數組 (1階張量)

矩陣:二維數組 (2階張量)

二、張量屬性

1、張量的類型

#創建常數張量
    a = tf.constant(3.0)    
    print(a)

2、張量的階

三、張量的指令

1、常數張量(普通)

#創建常數張量
    a = tf.constant(3.0)    
    print(a)

2、張量數組

1、固定張量數組(0)

#創建張量數組
    #0:
    array_0 = tf.zeros(shape=[3,3])    #3*3數組(0)

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) 標準差

3、查看張量值

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

#會話(查看張量)
    with tf.Session() as sess:
        print(a.eval())
        print(array_0.eval())
        print(array_1.eval())
        print(array_random.eval())

4、張量類型改變

#修改張量類型
    array_0 = tf.cast(array_0, tf.int32)

5、張量形狀改變

註:屬於動態改變張量,需要張量元素個數固定。

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

修改前:

修改後:

代碼

# 張量(創建與修改)
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))

代碼

# 變量
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神經網絡學習之張量與變量概念的詳細內容,更多關於TensorFlow的資料請關註WalkonNet其它相關文章!

推薦閱讀: