Matlab版本64位2020a,系統windows10.
在matlab官方示例中復制了網路結構部分的代碼,(https://www.mathworks.com/help/d ... unfoldinglayer.html)
filterSize = 5;
numFilters = 20;
numHiddenUnits = 200;
numClasses = 10;
layers = [ ...
sequenceInputLayer(6,'Name','input')
sequenceFoldingLayer('Name','fold')
convolution2dLayer(filterSize,numFilters,'Name','conv')
batchNormalizationLayer('Name','bn')
reluLayer('Name','relu')
sequenceUnfoldingLayer('Name','unfold')
flattenLayer('Name','flatten')
lstmLayer(numHiddenUnits,'OutputMode','last','Name','lstm')
fullyConnectedLayer(numClasses, 'Name','fc')
softmaxLayer('Name','softmax')
classificationLayer('Name','classification')];
lgraph = layerGraph(layers);
lgraph = connectLayers(lgraph,'fold/miniBatchSize','unfold/miniBatchSize');
figure
plot(lgraph)
因為要把最后的分類換成回歸,所以將代碼匯入deep work deginer準備修改最后一層再匯出,但是匯入之后生成的結構圖沒有連接完整,如圖,報錯原因:
層 'conv': 輸入大小不匹配。此層的輸入大小與預期的輸入大小不同。
此層的輸入:
來自 層 'fold' 輸出 'out' (輸出大小 6)
層 'fold': 未連接的輸出。每個層輸出必須連接到另一層的輸入。
檢測到未連接的輸出:
輸出 'miniBatchSize'
層 'unfold': 未連接的輸入。每個層輸入必須連接到另一個層的輸出。
檢測到未連接的輸入:
輸入 'miniBatchSize'
在deep work deginer中把輸入輸出連接好之后重新生成代碼,把網路部分的代碼進行了替換,運行后報錯和上面一樣,但plot(lgraph)繪制出的圖又是連接好的。
求助:請問為什么代碼匯入后生成的結構圖和官網中不一樣?為什么在工具包中連接好的網路匯出之后又報錯沒有連接好?
uj5u.com熱心網友回復:
這是匯入之后顯示的網路,fold和unfold沒有連接完整
uj5u.com熱心網友回復:
這是修改之后生成的代碼
uj5u.com熱心網友回復:
這是plot(lgraph)出的圖,但報錯還是沒有連接
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/38541.html
標籤:其他開發語言
