這個問題可能很愚蠢,但我對 Python 的了解還不夠,無法知道發生了什么。所以我試圖學習 TensorFlow 并注意到這個奇怪的呼叫:
model = Sequential(
# ...
)
predictions = model(x_train[:1]).numpy()
有人可以解釋一下model(x_train[:1])這里在做什么嗎?據我所知,模型是上面已經構建的物件嗎?這是使用物件作為方法/函式嗎?還是這里發生了其他事情?
uj5u.com熱心網友回復:
在這種情況下,Tensorflow 作者已經為類層次結構__call__中的“魔術方法”提供了一個實作。tf.keras.Sequential
這使您可以像呼叫函式一樣呼叫物件的實體。呼叫通過建構式model = Sequential(...)初始化類本身。對魔術方法__init__的model()呼叫。__call__
Tensorflow 和 Torch 使用它作為通過網路前向傳遞的便利包裝器(在大多數情況下)。
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/473127.html
