当前位置: 首页 > news >正文

网站存在风险什么意思网站建设策划书模板

网站存在风险什么意思,网站建设策划书模板,关于建设网站的报告,googleseo排名公司将Freezed 过的pb文件转成tflite文件,并在手机上测试跑分 └── CONTENTS 目录├── 1. 使用Bazel编译转换工具toco├── 2. 用toco转换*.pb模型为*.tflite模型├── 3. [beta] 使用Bazel编译适用于Android的benchmark_model(tflite)工具├── 3. 使用Bazel编…

将Freezed 过的pb文件转成tflite文件,并在手机上测试跑分

└── CONTENTS 目录├── 1. 使用Bazel编译转换工具toco├── 2. 用toco转换*.pb模型为*.tflite模型├── 3. [beta] 使用Bazel编译适用于Android的benchmark_model(tflite)工具├── 3. 使用Bazel编译适用于Android的benchmark_model(tflite)工具├── 4. adb shell + benchmark_model(tflite) 测试tflite模型└── 附录:测试及测试结果
本机环境:Ubuntu 16.04

1. 使用Bazel编译转换工具toco

(a) cd到tensorflow目录下(也即是换到tensorflow的workspace下)

此处依旧以本机环境和目录为例

unaguo@unaguo:~/backends/tensorflow/$ 
(b) Bazel编译toco
unaguo@unaguo:~/backends/tensorflow/$ bazel build tensorflow/contrib/lite/toco:toco

注意:第一个tensorflow是workspace的意思,前面不能加./


2. 用toco转换*.pb模型为*.tflite模型

unaguo@unaguo:~/backends/tensorflow/$ bazel-bin/tensorflow/contrib/lite/toco/toco \--input_file=/YOUR/PATH/TO/PBFILE/source.pb \--input_format=TENSORFLOW_GRAPHDEF \--output_format=TFLITE \--output_file=/YOUR/PATH/TO/TFLITEFILE/destination.tflite \--inference_type=FLOAT \--input_type=FLOAT \--input_arrays="input_1" \--output_arrays="proba/Sigmoid" \--input_shapes=1,512,512,3
注意:上述options中必须要自己修改的如下
OptionsDefinitions
input_file输入的pb文件名称(不需要加“”)
output_file输出的pb文件名称(不需要加“”)
input_arrays输入节点名称(可加可不加“”)
output_arrays输出节点名称(可加可不加“”)
output_arrays输出节点名称(可加可不加“”)(但是注意,名称中带有诸如“:0”的部分要去掉)
input_shapes输入尺寸

3. [beta] 使用Bazel编译适用于Android的benchmark_model(tflite)工具

依旧在tensorflow的workspace下,参照 官方github上的教程 对适用于Android的benchmark_model(tflite)工具
官方上面写的是:
bazel build -c opt \--config=android_arm \--cxxopt='--std=c++11' \tensorflow/contrib/lite/tools/benchmark:benchmark_model
但是很遗憾,我这个版本的tensorflow没有专门在~/lite/tools/下专门摘出来的benchmark的文件夹。所以代码改一下:
unaguo@unaguo:~/backends/tensorflow/$ bazel build -c opt \--config=android_arm \--cxxopt='--std=c++11' \tensorflow/contrib/lite/tools:benchmark_model
把benchmark去掉就行。可以编译
但是很遗憾,报错:
ERROR: /home/unaguo/backends/tensorflow/tensorflow/core/BUILD:2891:1: C++ compilation of rule '//tensorflow/core:gpu_runtime_impl' failed (Exit 1)
tensorflow/core/common_runtime/gpu/gpu_debug_allocator.cc: In member function 'virtual void* tensorflow::GPUNanResetAllocator::AllocateRaw(size_t, size_t)':
tensorflow/core/common_runtime/gpu/gpu_debug_allocator.cc:176:27: error: 'nanf' is not a member of 'std'std::nanf(""));^
tensorflow/core/common_runtime/gpu/gpu_debug_allocator.cc: In member function 'virtual void tensorflow::GPUNanResetAllocator::DeallocateRaw(void*)':
tensorflow/core/common_runtime/gpu/gpu_debug_allocator.cc:191:29: error: 'nanf' is not a member of 'std'std::nanf(""));^
Target //tensorflow/contrib/lite/tools:benchmark_model failed to build
Use --verbose_failures to see the command lines of failed build steps.
那就用 --verbose_failures看一下报错。
ERROR: /home/unaguo/backends/tensorflow/tensorflow/contrib/lite/profiling/BUILD:41:1: C++ compilation of rule '//tensorflow/contrib/lite/profiling:profile_summarizer' failed (Exit 1): arm-linux-androideabi-gcc failed: error executing command
暂时看不懂。

3. 使用Bazel编译适用于Android的benchmark_model(tflite)工具

经过一个小时的乱操作,我编成功了,下面记录一下骚操作:
(a) 从github上的master分支上的/lite/tools上手动copy下来benchmark文件夹
上文提到我下的版本中没有benchmark文件夹,所以我考虑是版本不够新,所以决定手动copy下来整个benchmark文件夹。
…1 首先在本地/tensorflow/tensorflow/contrib/lite/tools文件夹下创建叫benchmark的文件夹
…2 然后一个一个拷贝 这个主页下的源码到本地这个benchmark的文件夹下,分别是:
BUILD
benchmark_main.cc
benchmark_model.cc
benchmark_model.h
benchmark_params.cc
benchmark_params.h
benchmark_tflite_model.cc
benchmark_tflite_model.h
command_line_flags.cc
command_line_flags.h
command_line_flags_test.cc
logging.h
因为我们不做IOS的高端产品,所以ios文件夹整个都不拷贝。
…3 README中的那句bazel build代码不求行,我参考了tf版 benchmark_model的bazel build:
unaguo@unaguo:~/backends/tensorflow/$ bazel build -c opt   --crosstool_top=//external:android/crosstool   --cpu=armeabi-v7a  --compiler='clang3.8'   --host_crosstool_top=@bazel_tools//tools/cpp:toolchain  --cxxopt='-std=c++11' --config monolithic   tensorflow/contrib/lite/tools/benchmark:benchmark_model
显示error:
tensorflow/core/platform/default/logging.cc:65: error: undefined reference to '__android_log_write'
找到tensorflow/core/platform/default/logging.cc:65中这第65行,把__android_log_write给他注释掉。 然后再编译:
unaguo@unaguo:~/backends/tensorflow/$ bazel build -c opt   --crosstool_top=//external:android/crosstool   --cpu=armeabi-v7a  --compiler='clang3.8'   --host_crosstool_top=@bazel_tools//tools/cpp:toolchain  --cxxopt='-std=c++11' --config monolithic   tensorflow/contrib/lite/tools/benchmark:benchmark_model
然后success。

4. adb shell + benchmark_model(tflite) 测试tflite模型

(a) 首先把benchmark_model(tflite)扔进手机中
你们知道我的~/tensorflow目录底下有adb的快捷方式的。
unaguo@unaguo:~/backends/tensorflow/$ ./adb push bazel-bin/tensorflow/contrib/lite/tools/benchmark/benchmark_model /data/local/tmp
(b) 进入adb调试
unaguo@unaguo:~/backends/tensorflow/$ ./adb shell
Z91:/ #
© 给/data/local/tmp/benchmark_model开权限
(有些手机不开好像也没什么事)
Z91:/ # chmod 777 /data/local/tmp/benchmark_model
(d) 把tflite模型丢进手机里
unaguo@unaguo:~/backends/tensorflow$ ./adb push /YOUR/PATH/TO/TFLITEFILE/test.tflite /data/local/tmp
(e) 给/data/local/tmp/test.tflite开权限
Z91:/ # chmod 777 /data/local/tmp/test.tflite
(f) 测试tflite模型
Z91:/ # /data/local/tmp/benchmark_model \
--graph=/data/local/tmp/test.tflite \
--input_layer="input_1" \
--input_layer_shape="1,512,512,3" \
--input_layer_type="float" \
--output_layer="proba/Sigmoid:0" \
--show_run_order=false \
--show_time=false \
--show_memory=true \
--show_summary=true \
--show_flops=true \
--max_num_runs=50

output_layer的名称中有没有:0似乎都不会出bug,目前我当它没有太大影响

但是这里的input_1如果加上:0就会报错。

几个一定要修改的options

OptionsDefinitions
--graph模型名称
--input_layer输入节点名称
--input_layer_shape输入值的尺寸
--output_layer输出节点名称

附录:测试及测试结果

Num runs: [50]
Inter-run delay (seconds): [-1]
Num threads: [1]
Benchmark name: []
Output prefix: []
Warmup runs: [1]
Graph: [./MS512_o1.tflite]
Input layers: [input_1]
Input shapes: [1,512,512,3]
Use nnapi : [0]
nnapi error: unable to open library libneuralnetworks.so
Loaded model ./MS512_o1.tflite
resolved reporter
Initialized session in 82.668ms
Running benchmark for 1 iterations 
count=1 curr=1303963Running benchmark for 50 iterations 
count=50 first=1260477 curr=1259469 min=1255535 max=1261653 avg=1.25879e+06 std=1188Average inference timings in us: Warmup: 1.30396e+06, Init: 82668, no stats: 1.25879e+06
结论:TODO
http://www.yayakq.cn/news/275741/

相关文章:

  • 携程电子商务网站建设wordpress 后台很慢
  • 知名网站建设企业多少钱做游戏本测评的网站
  • 宁波做网站的大公司百度关键字怎么搜到公司网站
  • 网站做快捷方式个人简历电子版免费下载
  • wordpress网站好慢成都设计公司视频制作
  • 北京网站排名优化公司呼叫中心外包公司排名
  • 传媒视频软件下载网站手机商城网站制作
  • 合肥seo网站推广外包网络建设推广推荐
  • 昆明响应式网站ui界面设计实例100例
  • 网站建设案例要多少钱哪些平台制作网站
  • 设计一个个人网站的基本步骤wordpress自动转内链
  • 邯郸学校网站建设报价团员个人信息查询系统
  • 沈阳网站开发技术公司网站建设三剑客
  • 坪山手机网站建设潍坊网站优化
  • 平面设计专业网站wordpress支付宝登录界面
  • wordpress如何删除已安装主题新区seo整站优化公司
  • 苏州关键词网站排名工业企业利润加快回升
  • 双浩建设网站如何做网络营销推广员
  • 昆明网站的优化东莞志豪建设公司网站
  • 最好的ppt模板网站黄埔网站建设设计
  • 大德通网站建设公司手机app开发报价
  • 如何看网站是否有做网站地图成都app开发多少钱
  • 带你做网站毕设河南建设工程信息网一体化平台查询
  • 手机网站解析域名网络规划设计师吧
  • 重庆网站优化公司哪家便宜wordpress数字链接出现404
  • 一般设计网站页面用什么软件做网站开发无形资产
  • 响应式网站搭建百度小程序page手机转wordpress
  • 网页设计是网站建设与管理的内容吗网站到期域名怎么解决办法
  • 南通网站建设设计wordpress download monitor
  • 网站开发所以浏览器兼容模式wordpress分类显示文章