calmiLovesAI / TensorFlow2.0_SSD

A tensorflow_2.0 implementation of SSD (Single Shot MultiBox Detector) .
MIT License
82 stars 43 forks source link

保存模型的时候出了问题 我自己的数据集和voc2012都出现了一样的问题 #17

Open lemonight opened 3 years ago

lemonight commented 3 years ago

Traceback (most recent call last): File "D:/LJC/MyPyCharm/TensorFlow2.0_SSD-master/train.py", line 91, in ssd.save_weights(filepath=save_model_dir+"saved_model", save_format="tf") File "D:\LJC\WORK\pycharmprojects\TensorFlow2.0_SSD\venv\jsq\lib\site-packages\tensorflow_core\python\keras\engine\network.py", line 1123, in save_weights self._trackable_saver.save(filepath, session=session) File "D:\LJC\WORK\pycharmprojects\TensorFlow2.0_SSD\venv\jsq\lib\site-packages\tensorflow_core\python\training\tracking\util.py", line 1168, in save file_prefix=file_prefix_tensor, object_graph_tensor=object_graph_tensor) File "D:\LJC\WORK\pycharmprojects\TensorFlow2.0_SSD\venv\jsq\lib\site-packages\tensorflow_core\python\training\tracking\util.py", line 1108, in _save_cached_when_graph_building object_graph_tensor=object_graph_tensor) File "D:\LJC\WORK\pycharmprojects\TensorFlow2.0_SSD\venv\jsq\lib\site-packages\tensorflow_core\python\training\tracking\util.py", line 1076, in _gather_saveables feed_additions) = self._graph_view.serialize_object_graph() File "D:\LJC\WORK\pycharmprojects\TensorFlow2.0_SSD\venv\jsq\lib\site-packages\tensorflow_core\python\training\tracking\graph_view.py", line 381, in serialize_object_graph trackable_objects, path_to_root) File "D:\LJC\WORK\pycharmprojects\TensorFlow2.0_SSD\venv\jsq\lib\site-packages\tensorflow_core\python\training\tracking\graph_view.py", line 337, in _serialize_gathered_objects object_names[obj] = _object_prefix_from_path(path) File "D:\LJC\WORK\pycharmprojects\TensorFlow2.0_SSD\venv\jsq\lib\site-packages\tensorflow_core\python\training\tracking\graph_view.py", line 64, in _object_prefix_from_path for trackable in path_to_root)) File "D:\LJC\WORK\pycharmprojects\TensorFlow2.0_SSD\venv\jsq\lib\site-packages\tensorflow_core\python\training\tracking\graph_view.py", line 64, in for trackable in path_to_root)) File "D:\LJC\WORK\pycharmprojects\TensorFlow2.0_SSD\venv\jsq\lib\site-packages\tensorflow_core\python\training\tracking\graph_view.py", line 57, in _escape_local_name return (name.replace(_ESCAPE_CHAR, _ESCAPE_CHAR + _ESCAPE_CHAR) AttributeError: 'NoneType' object has no attribute 'replace'

Process finished with exit code 1

tengfeiyu123 commented 3 years ago

me too

ytc19990517 commented 3 years ago

请问怎么解决的?

ytc19990517 commented 3 years ago

训练好的模型可以分享一下吗

lemonight commented 3 years ago

俺萌新解决不了 貌似是作者改动后变成这样的 我4月份下这份代码的时候能成功保存模型,作者后面对种类进行了改动 加上了背景,结果就是现在保存模型出错了 有木有大佬改改 可以看看作者的修改代码记录的

ADAMANCY361 commented 3 years ago

referce:https://blog.csdn.net/potato_uncle/article/details/109699651
self.learnable_factor = self.add_weight(shape=(1, 1, 1, 512), dtype=tf.float32, initializer=tf.keras.initializers.Ones(), trainable=True) change to : self.learnable_factor = self.add_weight(name='w',shape=(1, 1, 1, 512), dtype=tf.float32, initializer=tf.keras.initializers.Ones(), trainable=True)

calmiLovesAI commented 2 years ago

ADAMANCY361 说的没错,tensorflow里面新加的参数需要指定一个name,才能正常保存模型。我把整个代码都改过了,但还是有bug,目前debug不出来。