kears訓練中如何實時輸出卷積層的結果?

2021-08-31 03:57:08 字數 1039 閱讀 7782

在訓練unet模型時,發現**結果和真實結果幾乎完全差距太大,想著列印每層輸出的結果檢視問題在哪?但是發現kears只是提供了訓練完成後在模型測試時輸出每層的函式。並沒有提供訓練時的函式,同時本著不對原有**進行太大改動。最後實現了這個方法。即新建乙個輸出節點新增到現有的網路結構裡面。

#新建乙個列印層。

class

printlayer

(layer)

:#初始化方法,不須改變

def__init__

(self,

**kwargs)

:super

(printlayer, self)

.__init__(

**kwargs)

#呼叫該層時執行的方法

defcall

(self, x)

: x = tf.print(x,

[x],message=

"x is: "

,summarize=

65536

)#呼叫tf的print方法列印tensor方法,第乙個引數為輸入的x,第二個引數為要輸出的引數,summarize引數為輸出的元素個數。

return x;

#一定要返回tf.print()函式返回的變數,不要直接使用傳入的變數。

#接著在網路中引入

conv9 = conv2d(2,

3, activation =

'relu'

, padding =

'same'

, kernel_initializer =

'he_normal'

)(conv9)

print11 = printlayer(

)(conv9)

conv10 = conv2d(1,

1, activation =

'sigmoid'

)(print11)

#printlayer層處理的結果一定要在下一層用到,不然不會列印tensor。該結點可以加在任何結點之間。

JS中如何輸出空格

js中如何輸出空格 在寫js 的時候,大家可以會發現這樣現象 document.write 1 2 3 結果 1 2 3 無論在輸出的內容中什麼位置有多少個空格,顯示的結果好像只有乙個空格。這是因為瀏覽器顯示機制,對手動敲入的空格,將連續多個空格顯示成1個空格。解決方法 1.使用輸出html標籤 來...

JS中如何輸出空格

在寫js時會有這種情況發生 無論在輸出的內容中什麼位置有多少個空格,顯示的結果中只有乙個空格。這是因為瀏覽器顯示機制,對手動敲入的空格,將連續多個空格顯示成1個空格。輸入 document.write 1 2 3 輸出 1 2 3解決方案 1.使用輸出html標籤來解決 document.write...

JS中如何輸出空格

在寫js 的時候,大家可以會發現這樣現象 document.write 1 2 3 結果 1 2 3 無論在輸出的內容中什麼位置有多少個空格,顯示的結果好像只有乙個空格。這是因為瀏覽器顯示機制,對手動敲入的空格,將連續多個空格顯示成1個空格。解決方法 1.使用輸出html標籤 來解決 documen...