1、concat,拼接
例:統計班級的學生的分數
a = [class1-4,student,scores],4個班級,35個學生,8門課的分數
b = [class5-6,student,scores],2個班級,35個學生,8門課的分數
cancat要求除了指定合併的維度之外,其餘的維度要大小要相同
1 a = tf.ones([4,35,8])2 b = tf.ones([2,35,8])
3 c = tf.concat([a,b],axis = 0) #
引數要用括起來,而且要指定維度,typeerror: concat() missing 1 required positional argument: 'axis'
4print(c.shape) #
(6, 35, 8)
56 a = tf.ones([4,35,8])
7 b = tf.ones([4,3,8]) #
除了指定的維度,其餘的維度要相同
8 c = tf.concat([a,b],axis = 1)
9print(c.shape) #
(4, 38, 8)
2、stack,建立乙個新維度,需要合併建立乙個新維度的所有張量的維度一樣
1 #建立新的維度需要所有維度的大小是一樣的2 a = tf.ones([4,35,8])
3 b = tf.ones([4,35,8])
45 c1 = tf.concat([a,b],axis=-1)
6print(c1.shape) #
(4, 35, 16)
78 c2 = tf.stack([a,b],axis=0) #
在第乙個維度之前建立新的維度
9print(c2.shape) #
(2, 4, 35, 8)
1011 c3 = tf.stack([a,b],axis=3) #
在最後乙個維度之後建立新的維度
12print(c3.shape) #
(4, 35, 8, 2)
3、unstack 對乙個張量進行切割,按指定的維度分成等數量的個數,如[4,35,8]指定在第一維度上進行切割,那麼會切割成4個[35,8]的張量
1 #3、unstack分割資料2 a = tf.ones([4,35,8])
3 b = tf.ones([4,35,8])
45 c = tf.stack([a,b],axis=0)
6print(c.shape) #(2, 4, 35, 8)
78 aa,bb = tf.unstack(c,axis=0)
9print(aa.shape,bb.shape)#分割成兩個一樣的(4, 35, 8)
4、split ,在對乙個張量進行切割之後,可以指定要分割之後的數量
1#4、split
2 a = tf.ones([4,35,8])
3 b = tf.ones([4,35,8])
45 c = tf.stack([a,b],axis=0)
6print
(c.shape)
78 res = tf.unstack(c,axis=3) #
生成8個[4,35]張量的list
9print(len(res)) #810
11 res = tf.split(c,axis=3,num_or_size_splits=2) #
num_or_size_split指定要分割的份數,也可以指定每乙份張量數,用列表裝著
12print(len(res)) #
2 生成兩個(2, 4, 35, 4)
13print(res[0].shape) #
(2, 4, 35, 4)
1415 res = tf.split(c,axis=3,num_or_size_splits=[1,2,3,2]) #
指定劃分後的張量的個數,並對劃分後每個張量的維度大小進行指定
16print(res[0].shape) #
(2, 4, 35, 1)
17print(res[1].shape) #
(2, 4, 35, 2)
18print(res[2].shape) #
(2, 4, 35, 3)
19print(res[3].shape) #
(2, 4, 35, 2)
UNIX合併與分割
sort用法 sort命令將許多不同的域按不同的列順序分類.命令格式 sort cmu o output file other options pos1 pos2 input files sort選項 c 測試檔案是否分類 m 合併兩個分類檔案 u 刪除所有複製行 o 儲存sort結果的輸出檔名 b...
TensorFlow 合併與分割
二 分割 合併是指將多個張量在某個維度上合併為乙個張量。以某學校班級成績冊資料為例,設張量a 儲存了某學校1 4 號班級的成績冊,每個班級35 個學生,共8 門科目,則張量a的shape 為 4,35,8 同樣的方式,張量b 儲存了剩下的6 個班級的成績冊,shape 為 6,35,8 通過合併2 ...
檔案的合併與分割
檔案的合併與分割其實比較簡單,分割時將乙個大檔案按二進位制方式讀取,然後按二進位制寫成乙個個小檔案。合併時就把小檔案順次讀取,再寫入乙個大檔案。下面是乙個簡單的例子 檔案分割,二進位制讀取 void cmyupdatedlg onbinary byte buf 140000 緩衝區 dword dw...