Toybrick

楼主: troy

人工智能开发系列(1) 中文手势识别例程

 

ddcat1991

注册会员

积分
126
楼主
发表于 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

  1. Please use `rate` instead of `keep_prob`. Rate should be set to `rate = 1 - keep_prob`.
  2. E Catch exception when building RKNN model!
  3. E Traceback (most recent call last):
  4. E   File "rknn/api/rknn_base.py", line 737, in rknn.api.rknn_base.RKNNBase.build
  5. E   File "rknn/api/rknn_base.py", line 1644, in rknn.api.rknn_base.RKNNBase._quantize2
  6. E   File "rknn/base/RKNNlib/app/medusa/quantization.py", line 105, in rknn.base.RKNNlib.app.medusa.quantization.Quantization.run
  7. E   File "rknn/base/RKNNlib/app/medusa/quantization.py", line 44, in rknn.base.RKNNlib.app.medusa.quantization.Quantization._run_quantization
  8. E   File "rknn/base/RKNNlib/app/medusa/workspace.py", line 129, in rknn.base.RKNNlib.app.medusa.workspace.Workspace.run
  9. E   File "rknn/base/RKNNlib/app/medusa/workspace.py", line 99, in rknn.base.RKNNlib.app.medusa.workspace.Workspace._setup_graph
  10. E   File "rknn/base/RKNNlib/app/medusa/workspace.py", line 100, in rknn.base.RKNNlib.app.medusa.workspace.Workspace._setup_graph
  11. E   File "rknn/base/RKNNlib/RKNNnetbuilder.py", line 274, in rknn.base.RKNNlib.RKNNnetbuilder.RKNNNetBuilder.build
  12. E   File "rknn/base/RKNNlib/RKNNnetbuilder.py", line 278, in rknn.base.RKNNlib.RKNNnetbuilder.RKNNNetBuilder.build
  13. E   File "rknn/base/RKNNlib/RKNNnetbuilder.py", line 305, in rknn.base.RKNNlib.RKNNnetbuilder.RKNNNetBuilder.build_layer
  14. E   File "rknn/base/RKNNlib/RKNNnetbuilder.py", line 305, in rknn.base.RKNNlib.RKNNnetbuilder.RKNNNetBuilder.build_layer
  15. E   File "rknn/base/RKNNlib/RKNNnetbuilder.py", line 305, in rknn.base.RKNNlib.RKNNnetbuilder.RKNNNetBuilder.build_layer
  16. E   File "rknn/base/RKNNlib/RKNNnetbuilder.py", line 331, in rknn.base.RKNNlib.RKNNnetbuilder.RKNNNetBuilder.build_layer
  17. E   File "rknn/base/RKNNlib/RKNNnetbuilder.py", line 336, in rknn.base.RKNNlib.RKNNnetbuilder.RKNNNetBuilder.build_layer
  18. E   File "rknn/base/RKNNlib/layer/RKNNlayer.py", line 287, in rknn.base.RKNNlib.layer.RKNNlayer.RKNNLayer.compute_tensor
  19. E   File "rknn/base/RKNNlib/layer/dropout.py", line 20, in rknn.base.RKNNlib.layer.dropout.Dropout.compute_out_tensor
  20. E   File "/home/toybrick/.local/lib/python3.7/site-packages/tensorflow/python/util/deprecation.py", line 507, in new_func
  21. E     return func(*args, **kwargs)
  22. E   File "/home/toybrick/.local/lib/python3.7/site-packages/tensorflow/python/ops/nn_ops.py", line 4170, in dropout
  23. E     return dropout_v2(x, rate, noise_shape=noise_shape, seed=seed, name=name)
  24. E   File "/home/toybrick/.local/lib/python3.7/site-packages/tensorflow/python/ops/nn_ops.py", line 4219, in dropout_v2
  25. E     "range [0, 1), got %g" % rate)
  26. E ValueError: rate must be a scalar tensor or a float in the range [0, 1), got 1
  27. --> Building model
复制代码


代码如下:
  1. from rknn.api import RKNN

  2. INPUT_SIZE = 64

  3. if __name__ == '__main__':
  4.     model_file_path = '../digital_gesture_recognition/model_2500/digital_gesture.pb'
  5.    
  6.     rknn = RKNN()
  7.    
  8.     print("--> Init rknn enviroment")
  9.    
  10.     # ret = rknn.init_runtime()
  11.    
  12.     rknn.load_tensorflow(tf_pb=model_file_path,
  13.                      inputs=['input_x'],
  14.                      outputs=['probability'],
  15.                      input_size_list=[[INPUT_SIZE, INPUT_SIZE, 3]])
  16.     print("--> Model Loaded")
  17.    
  18.     rknn.config(channel_mean_value='0 0 0 255', reorder_channel='0 1 2')
  19.     print("--> Init config")
  20.    
  21.     rknn.build(do_quantization=True, dataset='./dataset_64x64.txt')
  22.     # rknn.build(do_quantization=False)
  23.     print('--> Building model')
  24.    
  25.     rknn.export_rknn('./digital_gesture.rknn')
  26.     rknn.release()
  27.    
  28.     print('Done')
复制代码


请问这个调用tf的droput_v2报错的问题应该怎么解决?

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

产品中心 购买渠道 开源社区 Wiki教程 资料下载 关于Toybrick


快速回复 返回顶部 返回列表