TensorFlow2簡單入門 三維張量

2021-10-14 15:54:31 字數 1414 閱讀 8331

三維張量的乙個典型應用是表示序列訊號,它的格式是

x =[

b,se

quen

ce_l

en,f

eatu

re_l

en

]x = [b,sequence\_len,feature\_len ]

x=[b,s

eque

nce_

len,

feat

ure_

len]

其中b

bb表示序列訊號的數量,seq

uenc

e_le

nsequence\_len

sequen

ce_l

en表示序列訊號在時間維度上的取樣點數或步數,fea

ture

_len

feature\_len

featur

e_le

n表示每個點的特徵長度。

在nlp中,可以以單個句子**「the dog barked at the mailman」**為例,將其表示為[1,6,10]。1代表乙個句子,6代表句子長度,10代表單詞長度。

from tensorflow.keras import datasets, layers, models

# 自動載入 imdb 電影評價資料集

(x_train,y_train)

,(x_test,y_test)

=keras.datasets.imdb.load_data(num_words=

10000

)# 將句子填充、截斷為等長 90 個單詞的句子

x_train = keras.preprocessing.sequence.pad_sequences(x_train,maxlen=90)

x_train.shape

"""輸出:

(25000, 90)

"""

張量 x_train 的 shape 為 [25000,90],其中 25000 表示句子個數, 90 表示每個句子共 90 個單詞,每個單詞使用數字編碼方式表示。我們通過 layers.embedding 層將數字編碼的單詞轉換為長度為100的詞向量。

# 建立詞向量 embedding 層類

embedding=layers.embedding(

10000

,100

)# 將數字編碼的單詞轉換為詞向量

out = embedding(x_train)

out.shape

"""輸出:

tensorshape([25000, 90, 100])

"""

[25000,90,100]中的 100 表示每個單詞編碼為長度是 100 的向量。

tensorflow2的資料載入

對於一些小型常用的資料集,tensorflow有相關的api可以呼叫 keras.datasets 經典資料集 1 boston housing 波士頓房價 2 mnist fasion mnist 手寫數字集 時髦品集 3 cifar10 100 物象分類 4 imdb 電影評價 使用 tf.da...

Tensorflow2 自動求導機制

tensorflow 引入了 tf.gradienttape 這個 求導記錄器 來實現自動求導 如何使用 tf.gradienttape 計算函式 y x x 2 在 x 3 時的導數 import tensorflow as tf x tf.variable initial value 3.初始化...

tensorflow2建立卷積核Conv2D函式

使用conv2d可以建立乙個卷積核來對輸入資料進行卷積計算,然後輸出結果,其建立的卷積核可以處理二維資料。依次類推,conv1d可以用於處理一維資料,conv3d可以用於處理三維資料。在進行神經層級整合時,如果使用該層作為第一層級,則需要配置input shape引數。在使用conv2d時,需要配置...