Windows下TensorFlow GPU版编译(三)
这回在tf官方repo发现有人问了类似的问题,给出的建议是按照推荐的编译环境操作一遍。然后因为C盘红了,就装了一个2017的build tools(微软官方提供的,不带IDE的编译器)。
这回好了很多,一口气跑到了1w+的target,越过了之前不到800必红的诅咒(ERROR
)。
结果给我来一句
ImportError: Could not find 'cudart64_.dll'.
然后又红了???
然后找到一个别人发的issue:https://github.com/tensorflow/tensorflow/issues/29831。
发现设置环境变量没有用。照样报错。后来有人在下面建议用bazel自带的环境变量定义方式来传递:
build --action_env TF_CUDA_VERSION="10.1"
build --action_env TF_CUDNN_VERSION="7"
把两个--action_env
和参数一起传进去之后,编译居然重新开始了= =
估计是之前参数压根就没传进去吧。。等编完看结果了(我不想再写第四篇了555)
====================================
第二天更新
编译成功了!Ура!!
然后可能遇到的问题是,cmd下的unzip命令好像有点问题,解压会漏文件,到MSYS2下去执行最后的build_pip_package.sh
即可避免问题。
终于不坑了!系列完结!(真就编译器版本的问题呗)
====================================
2020/4/17
今天编译东西的时候顺便看了一下,似乎是可以不用装VS2017的,实际上在本次与之前编译的区别在于使用的编译器版本不同,VS2019默认的编译工具集是v142,而VS2017是v141。但是实际上是可以在VS2019的安装器中找到v141编译器工具集的选项的。因此推测,直接在VS2019中安装v141版本的工具集,然后在编译的时候指定编译器版本,也是能够正常编译的。有待测试。