|
发表于 2020-2-18 21:42:35
|
显示全部楼层
本帖最后由 ddcat1991 于 2020-2-18 21:46 编辑
你好,我在设置 do_quantization=True 转换上述手势识别的pb模型的时候, 产生如下错误。 (如果使用do_quantization=False时没有错误提示,并且能顺利生成rknn模型).
使用的版本:
* Debian10
* tf 1.14.0
* rknn 1.3.0
- Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.
- E Catch exception when building RKNN model!
- E Traceback (most recent call last):
- E File "rknn/api/rknn_base.py", line 737, in rknn.api.rknn_base.RKNNBase.build
- E File "rknn/api/rknn_base.py", line 1644, in rknn.api.rknn_base.RKNNBase._quantize2
- E File "rknn/base/RKNNlib/app/medusa/quantization.py", line 105, in rknn.base.RKNNlib.app.medusa.quantization.Quantization.run
- E File "rknn/base/RKNNlib/app/medusa/quantization.py", line 44, in rknn.base.RKNNlib.app.medusa.quantization.Quantization._run_quantization
- E File "rknn/base/RKNNlib/app/medusa/workspace.py", line 129, in rknn.base.RKNNlib.app.medusa.workspace.Workspace.run
- E File "rknn/base/RKNNlib/app/medusa/workspace.py", line 99, in rknn.base.RKNNlib.app.medusa.workspace.Workspace._setup_graph
- E File "rknn/base/RKNNlib/app/medusa/workspace.py", line 100, in rknn.base.RKNNlib.app.medusa.workspace.Workspace._setup_graph
- E File "rknn/base/RKNNlib/RKNNnetbuilder.py", line 274, in rknn.base.RKNNlib.RKNNnetbuilder.RKNNNetBuilder.build
- E File "rknn/base/RKNNlib/RKNNnetbuilder.py", line 278, in rknn.base.RKNNlib.RKNNnetbuilder.RKNNNetBuilder.build
- E File "rknn/base/RKNNlib/RKNNnetbuilder.py", line 305, in rknn.base.RKNNlib.RKNNnetbuilder.RKNNNetBuilder.build_layer
- E File "rknn/base/RKNNlib/RKNNnetbuilder.py", line 305, in rknn.base.RKNNlib.RKNNnetbuilder.RKNNNetBuilder.build_layer
- E File "rknn/base/RKNNlib/RKNNnetbuilder.py", line 305, in rknn.base.RKNNlib.RKNNnetbuilder.RKNNNetBuilder.build_layer
- E File "rknn/base/RKNNlib/RKNNnetbuilder.py", line 331, in rknn.base.RKNNlib.RKNNnetbuilder.RKNNNetBuilder.build_layer
- E File "rknn/base/RKNNlib/RKNNnetbuilder.py", line 336, in rknn.base.RKNNlib.RKNNnetbuilder.RKNNNetBuilder.build_layer
- E File "rknn/base/RKNNlib/layer/RKNNlayer.py", line 287, in rknn.base.RKNNlib.layer.RKNNlayer.RKNNLayer.compute_tensor
- E File "rknn/base/RKNNlib/layer/dropout.py", line 20, in rknn.base.RKNNlib.layer.dropout.Dropout.compute_out_tensor
- E File "/home/toybrick/.local/lib/python3.7/site-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
- E return func(*args, **kwargs)
- E File "/home/toybrick/.local/lib/python3.7/site-packages/tensorflow/python/ops/nn_ops.py", line 4170, in dropout
- E return dropout_v2(x, rate, noise_shape=noise_shape, seed=seed, name=name)
- E File "/home/toybrick/.local/lib/python3.7/site-packages/tensorflow/python/ops/nn_ops.py", line 4219, in dropout_v2
- E "range [0, 1), got %g" % rate)
- E ValueError: rate must be a scalar tensor or a float in the range [0, 1), got 1
- --> Building model
代码如下:
- from rknn.api import RKNN
- INPUT_SIZE = 64
- if __name__ == '__main__':
- model_file_path = '../digital_gesture_recognition/model_2500/digital_gesture.pb'
-
- rknn = RKNN()
-
- print("--> Init rknn enviroment")
-
- # ret = rknn.init_runtime()
-
- rknn.load_tensorflow(tf_pb=model_file_path,
- inputs=['input_x'],
- outputs=['probability'],
- input_size_list=[[INPUT_SIZE, INPUT_SIZE, 3]])
- print("--> Model Loaded")
-
- rknn.config(channel_mean_value='0 0 0 255', reorder_channel='0 1 2')
- print("--> Init config")
-
- rknn.build(do_quantization=True, dataset='./dataset_64x64.txt')
- # rknn.build(do_quantization=False)
- print('--> Building model')
-
- rknn.export_rknn('./digital_gesture.rknn')
- rknn.release()
-
- print('Done')
请问这个调用tf的droput_v2报错的问题应该怎么解决?
|
|