TensorFlow筆記 元件

2022-04-28 01:51:01 字數 3220 閱讀 4489

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'

例項**:

import

tensorflow 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])

print

(b)b.set_shape([3,2])

print

(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,...