tensorflow用張量這種資料結構來表示所有的資料.你可以把乙個張量想象成乙個n維的陣列或列表.乙個張量有乙個靜態型別和動態型別的維數.張量可以在圖中的節點之間流通.其實張量更代表的就是一種多位陣列。
在tensorflow系統中,張量的維數來被描述為階.但是張量的階和矩陣的階並不是同乙個概念.張量的階(有時是關於如順序或度數或者是n維)是張量維數的乙個數量描述.比如,下面的張量(使用python中list定義的)就是2階.
t = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]你可以認為乙個二階張量就是我們平常所說的矩陣,一階張量可以認為是乙個向量.
階數學例項
python例子0
純量(只有大小)
s = 4831向量
(大小和方向)
v = [1.1, 2.2, 3.3]2矩陣
(資料表)
m = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
33階張量
(資料立體)
t = [[[2], [4], [6]], [[8], [10], [12]], [[14], [16], [18]]]nn階
(自己想想看)
....
tensors有乙個資料型別屬性.你可以為乙個張量指定下列資料型別中的任意乙個型別:
資料型別
python 型別
描述dt_float
tf.float32
32 位浮點數.
dt_double
tf.float64
64 位浮點數.
dt_int64
tf.int64
64 位有符號整型.
dt_int32
tf.int32
32 位有符號整型.
dt_int16
tf.int16
16 位有符號整型.
dt_int8
tf.int8
8 位有符號整型.
dt_uint8
tf.uint8
8 位無符號整型.
dt_string
tf.string
可變長度的位元組陣列.每乙個張量元素都是乙個位元組陣列.
dt_bool
tf.bool
布林型.
dt_complex64
tf.complex64
由兩個32位浮點數組成的複數:實數和虛數.
dt_qint32
tf.qint32
用於量化ops的32位有符號整型.
dt_qint8
tf.qint8
用於量化ops的8位有符號整型.
dt_quint8
tf.quint8
用於量化ops的8位無符號整型.
然後是tensorflow中對於各種資料的操作:
注意上面向量運算中第三個:分割(split)
tf.zeros(shape, dtype=tf.float32, name=none)
tf.zeros_like(tensor, dtype=none, name=none)
tf.ones(shape, dtype=tf.float32, name=none)
tf.ones_like(tensor, dtype=none, name=none
tf.fill(dims, value, name=none)建立乙個張量的形狀dims並填充它value
tf.constant(value, dtype=none, shape=none, name='const')建立乙個常數張量。
tf.random_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=none, name=none)
從正態分佈中輸出隨機值,由隨機正態分佈的數字組成的矩陣
tf.truncated_normal(shape, mean=0.0, stddev=1.0, dtype=tf.float32, seed=none, name=none)
從截斷的正態分佈中輸出隨機值,和 tf.random_normal() 一樣,但是所有數字都不超過兩個標準差
tf.random_shuffle(value, seed=none, name=none)
沿其第一維度隨機打亂
tf.set_random_seed(seed)
設定圖級隨機種子
可用於確定張量的形狀並更改張量的形狀
t = tf.placeholder(tf.float32,[none,2])
import例項**:os
os.environ[
'tf_cpp_min_log_level
']='
2'
importtensorflow as tf
import
osos.environ[
'tf_cpp_min_log_level
'] = '2'
a = tf.constant(2)
#0維() 一維(4) 二維(2,3) 三維(2,3,4)
#with tf.session() as sess:
#print(a.shape)
#print(a.op)
#print(a.name)
b = tf.placeholder(tf.float32,[none,2])
(b)b.set_shape([3,2])
(b)#
一旦靜態形狀已經固定則不能設定了
#b.set_shape([3,2]) valueerror
#下面是動態修改,就是生成乙個和原來資料的元素數量匹配的新的
c = tf.reshape(b,[2,3])
print(c)
tensorflow學習筆記
tensorflow安裝可以直接通過命令列或者原始碼安裝,在此介紹tensorflow8命令列安裝如下 安裝tensorflow sudo pip install upgrade 另外,解除安裝tensorflow命令為 sudo pip uninstall tensorflow tensorflo...
Tensorflow學習筆記
1.如何在虛擬機器中安裝tensor flow 1 首先安裝pip pip install 2 pip install 2.學習tensorflow需要學習 python and linux 3.使用 tensorflow,你必須明白 tensorflow 1 使用圖 graph 來表示計算任務.2...
TensorFlow學習筆記
1 擬合直線 import the library import tensorflow as tf import numpy as np prepare train data train x np.linspace 1,1,100 temp1 train x,temp2 train x.shape,...