在win10里 为啥 Bazel 编译 tensorflow.dll 提示 /arch:SSE4.2 无效命令?要编译SSE4.2的参数怎么配置

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了在win10里 为啥 Bazel 编译 tensorflow.dll 提示 /arch:SSE4.2 无效命令?要编译SSE4.2的参数怎么配置相关的知识,希望对你有一定的参考价值。

参考技术A 河南新华正在火热报名,欢迎参观!!!

Bazel编译tensorflow

这里会逐渐补充。

编译时可以直接在powershell或者cmd或者Anaconda Prompt中执行bazel 命令编译。

编译过程中需要关掉360安全卫士,避免编译进程被杀死导致编译失败。

1、bazel编译tensorflow

(1)打开anaconda prompt

  如果想使用不同版本的虚拟环境可以激活相应的虚拟环境,比如我有一个py35的虚拟环境。  

conda activate py35

(2)配置项目

cd /d D:GitHub	ensorflow-1.13.1
python configure.py

然后根据提示配置符合自己电脑的信息。

(3)编译项目:libtensorflow_cc.so、libtensorflow_framework.so和install_headers

编译之前,去到 ensorflow-master ensorflowBUILD文件里面好好看清楚

需要编译的是libtensorflow_cc.so、libtensorflow_framework.so和install_headers三个项目

install_headers项目会把所有H文件汇总,方便后面引用

cd tensorflow
bazel build :libtensorflow_cc.so(BUILD文件tf_cc_shared_object(name="libtensorflow_cc.so"))
bazel build :libtensorflow_framework.so(BUILD文件tf_cc_shared_object(name="libtensorflow_framework.so"))
bazel build :install_headers(BUILD文件tf_cc_shared_object(name="install_headers"))

最后一条可以不用执行,因为它会将生成的文件安装到C盘,文件很大:

bazel build :install_headers(BUILD文件tf_cc_shared_object(name="install_headers"))

动态库生成到bazel-bin/tensorflow文件夹下,使用时libtensorflow_cc.so需要更名为tensorflow_cc.dll。不知道上面的命令libtensorflow_cc.so直接替换成tensorflow_cc.dll或者tensorflow.dll是不是可以编译成功,可以一试。

 调用示例参考:https://blog.csdn.net/atpalain_csdn/article/details/97945536

 

 

2、build freeze_graph 工具( 需要 bazel ):

bazel build tensorflow/python/tools:freeze_graph

 

参考:https://www.jianshu.com/p/091415b114e2?from=timeline

参考:https://blog.csdn.net/atpalain_csdn/article/details/97945536

 参考:https://blog.csdn.net/jin739738709/article/details/86705735

以上是关于在win10里 为啥 Bazel 编译 tensorflow.dll 提示 /arch:SSE4.2 无效命令?要编译SSE4.2的参数怎么配置的主要内容,如果未能解决你的问题,请参考以下文章

使用 SSE4.2 编译 TensorFlow,AVX 因 bazel 失败

Window10+Bazel+msys2+vs2019+tensorflow2.8+python3.8 编译libtensorflowlite.so CPU

请问在 Dev C++ 里编写的 Windows 程序,为啥原先可以编译的,但修改了之后再改回来就不能编译了呢?

为啥fx8300在win10任务管理器里查看显示是4内核8逻辑处理器啊?

Bazel编译tensorflow

当所有单独的测试都通过时,为啥我的 Bazel 测试报告失败?