没想到在Windows部署深度学习模型上面遇到了这么多问题,搞了将近一个月了,问题还是没有彻底解决(TensorFlow识别GPU难道就这么难吗?还是我的GPU有问题?)。
搞的时间太长容易心态崩,既然我自己搞不定,那就把各路人工智能大神拉出来试一下。
我先总结了一下我的问题:我创建了一台Windows10虚拟机,配置是48核CPU(E5 2678V3),128 GB内存,并为虚拟机通过PCI直通方式挂载了GPU,GPU型号为Tesla M4。现在,我已经使用anaconda部署了TensorFlow环境,版本为2.15.0。已经安装了GPU的驱动,版本为537.70,安装了CUDA,版本为12.3,安装了cuDNN,版本为8.9.6,使用nvcc --version进行检查,可以看到回显的CUDA版本为V12.3.103。我希望在TensorFlow中使用该GPU,但tf.test.is_gpu_available()函数返回 False,需要如何排查?
先试试文心一言。
怎么说呢,通篇没什么可用的信息。基本上是把我前面的操作过程重复了一遍,最后的结论是“如果以上方法都无法解决问题,你可以考虑在TensorFlow的官方论坛、StackOverflow或GitHub上提问,提供详细的错误信息和配置信息,寻求社区的帮助”。这个回答也是相当可以,直接把问题甩出去了;我遇到也不止一次了,文心一言让我联系专业人士、或者去其他地方寻求帮助,太无语了!
接下来是通义千问。
比文心一言稍微强一些,多了一些实质性的配置和验证方法,但简单验证之后,发现还是无法解决问题。尤其是最新版的驱动竟然说可能比较旧,不知道联网更新没有。
最终结论是“如果以上步骤都不能解决问题,可能需要进一步检查你的虚拟机配置和硬件兼容性”,一句客套话。
接下来是免费版的ChatGPT 3.5。
很显然,他将我的问题归咎为使用软件版本过高,超出了它的认知范围。换个方式追问一下。
相比于通义千问,多了一个检查Anaconda环境的步骤,但实际上还是解决不了问题。
接下来是号称使用了GPT4模型的微软Copilot。
按照它的检索过程来看,我写了这么多描述,它只提取了排查TensorFlow GPU这一段,我感觉还是很失望的,没有ChatGPT上下文语境对话的感觉。
最后是Google新推出的Gemini。
这个回答是我没想到的,难道是我安装CUDA和cuDNN的方式不对?但是它最后一行命令存在一些错误。
从TensorFlow官网文档来看,只有对于1.15及更早版本,CPU和GPU的软件包才是分开的,之后的版本只有tensorflow一个软件包。
考虑到几家都提到的兼容性问题,我突然想问一下TensorFlow支持Tesla M4吗?
Gemini的回答很新奇,和其他几家的回显方式不一样,它是等待一段时间后,直接将所有的回答一次性输出,不是打字机的输出方式。而且,他竟然还一次输出了3个回答,通过点击,可以查看其他输出的回答。
按照Gemini的提示,应该是和组件的版本存在关联,如果大家都这么说,后面可以试一下。
按照ChatGPT的回答,同样要考虑兼容性的问题,但是给出来的版本和Gemini不一致,他这个是它知识库里面的最新版本。
通义千问的做法是让我自己去查相关的文档资料,但“新版本可能不再支持像Tesla M4这样的旧GPU”这句话有点扎心。
Copilot的回答也是比较潦草。
还有文心一言,可以说是言简意赅的有些敷衍了。
综合来讲,从知识库来看,Gemini可能确实要比ChatGPT稍微好一些。可能后面要多关照一下这个新模型了,感觉起码应该比Copilot和文心一言要强一些。
不过现在Gemini比较反人类的一点是,复制按钮为什么要隐藏起来?
那么问题来了,有没有比这些人工智能模型还厉害的人工呢?