[英]Syntax for creating layers in keras functional api for tensorflow2.0 documentation
我正在瀏覽tf2.0文檔https://www.tensorflow.org/beta/tutorials/load_data/csv ,無法理解以下代碼的一部分
for units in hidden_units:
x = tf.keras.layers.Dense(units, activation='relu')(x)
outputs = tf.keras.layers.Dense(1, activation='sigmoid')(x)
(x)在第二行的末尾是什么意思,它的作用是什么? 它是TensorFlow的一部分還是在python中可用?
(x)
只是對tf.keras.layers.Dense(units, activation='relu')
返回的函數的調用,其中x
作為第一個位置參數。
這與TensorFlow無關,而是純Python。 實際上,每個keras層(如Dense
)僅定義了一個可調用的對象(如python函數),因此可以對其進行調用。
例如,您可以執行以下操作:
class A:
def __init__(self):
self.a = 1
def __call__(self, parameter):
self.a = parameter
print("function called. a set to ", self.a)
x = A() #x is a callable object because of the __call__ definition
# Thus you can call it:
x(19)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.