tensorRT_for_keras
tensorRT_for_keras copied to clipboard
FreezeGraph problem
请问您的Tensorflow版本, Cuda版本,cudnn版本。 我使用tensorflow1.7在freezeGraph的时候会报错
@wangzilu 当时使用的tensorflow1.4.1,cuda8.0, cudnn7.0, 不知道你遇到什么错误。。
@yfor1008 freeze_graph.freeze_graph(config['graphdef_file'], '',False, checkpoint_path,out_names, "save/restore_all", "save/Const:0", config['frozen_model_file'], False, "" ) ** 运行这一行的时候会有问题,之前存grapgh 的pb文件时候都可以。** Traceback (most recent call last): File "/home/wang/Downloads/tensorRT_for_keras-dev/train_densenet_tf.py", line 144, in "" File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/tools/freeze_graph.py", line 256, in freeze_graph checkpoint_version=checkpoint_version) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/tools/freeze_graph.py", line 130, in freeze_graph_with_def_protos var_list=var_list, write_version=checkpoint_version) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 1311, in init self.build() File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 1320, in build self._build(self._filename, build_save=True, build_restore=True) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 1357, in _build build_save=build_save, build_restore=build_restore) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 787, in _build_internal saveables = self._ValidateAndSliceInputs(names_to_saveables) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 694, in _ValidateAndSliceInputs variable, "", name) File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/training/saver.py", line 171, in init self.handle_op = var.op.inputs[0] File "/usr/local/lib/python3.5/dist-packages/tensorflow/python/framework/ops.py", line 2029, in getitem return self._inputs[i] IndexError: list index out of range
Process finished with exit code 1
还有一个问题就是我跑DenseNet不收敛,loss和acc基本没有变化,是加上scale层的情况下
我换版本到1.5以下以后FreezeGraph问题就解决了,但是问题是使用from tensorflow.python.layers.normalization import BatchNormalization加scale依旧acc不提高loss不下降 使用from tensorflow.python.keras._impl.keras.layers.normalization import BatchNormalization就可以
-
from tensorflow.python.keras._impl.keras.layers.normalization import BatchNormalization
这个里面使用的是keras的BN,好像是fuseBN,tensorRT3好像是不支持的; - acc下降看是否还和其他超参有关,如学习率、batchsize等;
@yfor1008 感谢回复,我知道from tensorflow.python.keras._impl.keras.layers.normalization import BatchNormalization这个BN tensorRT不支持,我的问题是相同的超参, 使用这个BatchNorm loss 就是下降的,如果使用 tensorflow.python.layers.normalization import BatchNormalization就不会下降,后者确实可以将Frozen pb导出但是似乎acc基本没有变化,很困扰。