自从Tensorflow 2.6版本发布以来,我遇到了一个我在2.5版本中没有的问题。
下面的代码工作正常:
from tensorflow.keras.utils import get_custom_objects
from tensorflow.keras.layers import Dense
def my_act(x):
return x
get_custom_objects().update({"my_act": my_act})
dense = Dense(3, activation="my_act")
然而,如果我尝试做同样的事情,但使用自定义层而不是Tensorflow内置层,我有错误:
ValueError: Unknown activation function: my_act. Please ensure this object is passed to the `custom_objects` argument. See https://www.tensorflow.org/guide/keras/save_and_serialize#registering_the_custom_object for details.
这里你有最小的代码复制加上我显示2.5版本工作正常(你需要重新启动运行时来运行它)。
尝试像这样导入activations
:
from tensorflow.keras import activations
代替from tensorflow.python.keras import activations
在tensorflow 2.7及以后的版本中,tensorflow.python
将不再存在,并且在TF 2.6中似乎已经不兼容其他一些函数。