三維張量的乙個典型應用是表示序列訊號,它的格式是
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時,需要配置...