關於keras中的Reshape用法
keras中的Reshape
keras自帶
from keras.layers import Reshape layer_1 = Reshape((height, width, chns))( layer1)
tensorflow中的reshape函數
from keras import backend as K K.reshape( layer1,(-1,2,4,8) )
keras自大的Reshape層不需要寫batch的維度,但是tensorflow的reshape需要完整的維度。
keras.layers.Reshape方法
from keras.models import Sequential from keras.layers import Reshape model = Sequential() # 改變數據形狀為3行4列 # 模型的第1層必須指定輸入的維度,註意不需要指定batch的大小 model.add(Reshape((3, 4), input_shape=(12, ))) # 改變數據形狀為6行2列 model.add(Reshape((6, 2))) # 改變數據形狀為 第2,3維為(2,2),根據數據元素數量自動確定第1維大小為3 model.add(Reshape((-1, 2, 2))) # 改變數據形狀為 第1,2維為(2,2),根據數據元素數量自動確定第3維大小為3 model.add(Reshape((2, 2, -1))) model.summary()
context_shape = K.int_shape(context) #(None, 7, 7, 32) #改變第二維是32,根據數據元素數量自動確定第1維大小為none? context = keras.layers.Reshape((-1, context_shape[-1]))(context) #Tensor shape=(None, None, 32), dtype=float32
以上為個人經驗,希望能給大傢一個參考,也希望大傢多多支持WalkonNet。
推薦閱讀:
- Keras 如何修改圖片通道的順序
- tensorflow2.0教程之Keras快速入門
- 基於keras中import keras.backend as K的含義說明
- pycharm中keras導入報錯無法自動補全cannot find reference分析
- 基於Keras的擴展性使用