2023年7月10日发(作者:)
Win10+VS2015+CUDA10+TensorflowGPUC++API接⼝编译1. 基本环境Anaconda3: python3.6.5CUDA :10.0cuDNN: 7.5TensorFlow: 1.13.1VS: 20152. 安装VS20153. 安装MSYS2、BazelMSYS2下载地址:
Bazel下载地址:将下载的bazel名字改为 ,并将该添加到msys64usrbin中(根据⾃⼰安装⽬录,例如我的安装⽬录是:E:SoftEnvMsys2usrbin);将msys2和bazel加⼊环境变量path中,例如我的:接下来使⽤ 运⾏以下命令:pacman -S git patch unzip (需要梯⼦)最后通过命令命令:bazel version 验证bazel安装是否成功4. 让PowerShell可执⾏.pl1⽂件⽅法参考:5. 下载编译脚本和tensorflow源码编译脚本下载以及tensorflow源码(v1.13.1):下载完成后解压压缩包,该⽂件夹中为TF的1.13.1版本。注:如果想编译其它版本,则需要删除source下的所有⽂件,然后下载tensorflow源码, 并切换到对应版本即可,tensorflow源码下载:6. 修改 1⽂件并编译修改两个地⽅,如下所⽰:if (!(CheckInstalled pacman)) {$version = askForVersion “20180531.0.0”choco install msys2 --version $version --params “/NoUpdate /InstallDir:E:SoftEnvMsys2” # 改成⾃⼰的安装路径}$ENV:Path += “;E:SoftEnvMsys2usrbin” # 改成⾃⼰的路径$ENV:BAZEL_SH = “E:” # 改成⾃⼰的路径if (!(CheckInstalled python “3.6.5”)) { # 改为⾃⼰的版本号$version = askForVersion “3.6.5”choco install python --version $version --params “‘TARGETDIR:C:/Python36’”}在tensorflow-windows-build-script下执⾏命令:python -m venv venv 创建⼀个虚拟环境;以管理员⽅式打开Windows PowerShell,进⾏编译:$parameterString = "--config=opt --config=cuda --define=no_tensorflow_py_deps=true --copt=-nvcc_options=disable-warnings //tensorflow:libtensorflow_ --verbose_failures".1 ` -BazelBuildParameters $parameterString ` -BuildCppAPI -ReserveSource -ReserveVenv回车,选择⼀个tensorflow版本,默认为 v1.13.1编译过程中会检查配置信息,另外还有需要选择配置的设置,⽰例配置如下:其它的选项基本就是回车就⾏(看情况定),正常情况到这⼀步不会报错接下来就是等待了,时间可能⽐较长.运⽓不差的话,在tensorflow-windows-build-scriptsourcebazel-bintensorflow下应该就⽣成了如下⽂件:liblibtensorflow_libtensorflow_btensorflow_ensorflow_es_manifestlibtensorflow_实际上 libtensorflow_ 、liblibtensorflow_ 就是我们所需要的编译⽂件; libtensorflow_对应dll⽂件,liblibtensorflow_对应lib⽂件,我们只需要分别将libtensorflow_改为tensorflow_ ,liblibtensorflow_改为 tensorflow_即可。下⾯就是整理dll、include和lib⽂件,具体参考博客: ,这⾥⾮常感谢该博主的详细介绍。demo⽰例参考上述博客即可,另外在强调⼀点:编译时出现符号链接错误,将符号链接复制到sourcetensorflow下的tf_exported_symbols_ ⽂件中,然后重新执⾏编译动态库操作(重复上述6的操作即可)另外,如果需要 和 ⽂件,则进⼊source⽂件夹路径下,执⾏以下命令,⽣成的⽂件(C:Usersxx_bazel_xx47nc6e7rexecrootorg_tensorflowbazel-outx64_windows-optbintensorflow下)参照上⾯进⾏修改后缀,然后将修改名字后的放到lib⽂件夹下, 放到lib⽂件夹下。bazel build --config=opt --config=cuda --define=no_tensorflow_py_deps=true --copt=-nvcc_options=disable-warnings //tensorflow:libtensorflow_ --verbose_failures这篇博客早先写了部分,后⾯发现不少更为详细的博客,这⾥也顺便推荐给各位朋友:1.
2.
发布者:admin,转转请注明出处:http://www.yc00.com/news/1688932799a184998.html
评论列表(0条)