我想使用'功能API构建一个模型。我的模型非常大,因此我想通过继承来自 来创建自定义图层。以下是我的尝试,灵感来自TensorFlow的文档。tf.kerastf.keras.layers.Layer
import tensorflow as tf
class Conv2D(tf.keras.layers.Layer):
def __init__(self):
super().__init__()
input_layer = tf.keras.layers.Input(
shape=(256, 256, 3)
)
self.conv = tf.keras.layers.Conv2D(
filters=16,
kernel_size=3,
strides=(1, 1),
padding="same"
)(input_layer)
def call(self, inputs):
return self.conv(inputs)
outer_input_layer = tf.keras.layers.Input(
shape=(256, 256, 3)
)
x = Conv2D()(outer_input_layer)
此代码崩溃,出现以下错误。
Traceback (most recent call last):
File "c:\Users\user\.vscode\extensions\ms-python.python-2020.2.64397\pythonFiles\ptvsd_launcher.py", line 48, in <module>
main(ptvsdArgs)
File "c:\Users\user\.vscode\extensions\ms-python.python-2020.2.64397\pythonFiles\lib\python\old_ptvsd\ptvsd\__main__.py", line 432, in main
run()
File "c:\Users\user\.vscode\extensions\ms-python.python-2020.2.64397\pythonFiles\lib\python\old_ptvsd\ptvsd\__main__.py", line 316, in run_file
runpy.run_path(target, run_name='__main__')
File "C:\Users\user\code\.env\lib\runpy.py", line 263, in run_path
pkg_name=pkg_name, script_name=fname)
File "C:\Users\user\code\.env\lib\runpy.py", line 96, in _run_module_code
mod_name, mod_spec, pkg_name, script_name)
File "C:\Users\user\code\.env\lib\runpy.py", line 85, in _run_code
exec(code, run_globals)
File "c:\Users\user\code\tests.py", line 23, in <module>
x = Conv2D()(outer_input_layer)
File "C:\Users\user\code\.env\lib\site-packages\tensorflow_core\python\keras\engine\base_layer.py", line 773, in __call__
outputs = call_fn(cast_inputs, *args, **kwargs)
File "C:\Users\user\code\.env\lib\site-packages\tensorflow_core\python\autograph\impl\api.py", line 237, in wrapper
raise e.ag_error_metadata.to_exception(e)
TypeError: in converted code:
我的方法有什么问题?
慕桂英3389331
相关分类