###前提・実現したいこと
tensorflow1を用いて、Attentionを使用する際にエラーが出て困っています。
ValueError: Unknown layerの解決方法を教えていただきたいです。
該当のソースコード
python
1 self.GetParent().GetParent().data.delete_analyzed_data() 2 self.load_model_file(dialog.GetPath())
python
1 # load learned model 2 analyzer.load_model(file_name[0] + file_name[1]) 3 with open(file_name[0] + '_params.pickle', 'rb') as f: 4 params = pickle.load(f)
エラーコードにあるAttentionDecoder についてはhttps://github.com/datalogue/keras-attention/blob/master/models/custom_recurrents.py
こちらを参考にして実装しました。
###エラーメッセージ
python
1エラーコード 2 3Traceback (most recent call last): 4 File "D:/Desktop/xxxx/プログラム/xxxx/main_gui.py", line 156, in __click_load_model_btn 5 self.load_model_file(dialog.GetPath()) 6 File "D:/Desktop/xxxx/プログラム/xxxx/main_gui.py", line 167, in load_model_file 7 analyzer.load_model(file_name[0] + file_name[1]) 8 File "D:\Desktop\xxxx\プログラム\xxxx\analyze_data.py", line 101, in load_model 9 self.model = load_model(model_fn) 10 File "D:\Anaconda\envs\py37\lib\site-packages\keras\engine\saving.py", line 492, in load_wrapper 11 return load_function(*args, **kwargs) 12 File "D:\Anaconda\envs\py37\lib\site-packages\keras\engine\saving.py", line 584, in load_model 13 model = _deserialize_model(h5dict, custom_objects, compile) 14 File "D:\Anaconda\envs\py37\lib\site-packages\keras\engine\saving.py", line 274, in _deserialize_model 15 model = model_from_config(model_config, custom_objects=custom_objects) 16 File "D:\Anaconda\envs\py37\lib\site-packages\keras\engine\saving.py", line 627, in model_from_config 17 return deserialize(config, custom_objects=custom_objects) 18 File "D:\Anaconda\envs\py37\lib\site-packages\keras\layers\__init__.py", line 168, in deserialize 19 printable_module_name='layer') 20 File "D:\Anaconda\envs\py37\lib\site-packages\keras\utils\generic_utils.py", line 147, in deserialize_keras_object 21 list(custom_objects.items()))) 22 File "D:\Anaconda\envs\py37\lib\site-packages\keras\engine\sequential.py", line 301, in from_config 23 custom_objects=custom_objects) 24 File "D:\Anaconda\envs\py37\lib\site-packages\keras\layers\__init__.py", line 168, in deserialize 25 printable_module_name='layer') 26 File "D:\Anaconda\envs\py37\lib\site-packages\keras\utils\generic_utils.py", line 140, in deserialize_keras_object 27 ': ' + class_name) 28ValueError: Unknown layer: AttentionDecoder 29
試したこと
CUDAやCUDNNのバージョンを合わせたりしましたが、解決できません。
なぜValueErrorになってしまうかが分からないです。
###補足情報
実装環境は
python 3.7.11
Tensorflow 1.15.1
keras 2.3.1
cuda 10.0
cudnn 7.6.5
です。
あなたの回答
tips
プレビュー