|
【深度学习】深度学习之巅:在CentOS7上打造完美Python3.10与PyTorch2.3.0环境大家好我是寸铁👊总结了一篇【深度学习】深度学习之巅:在CentOS7上打造完美Python3.10与PyTorch2.3.0环境✨喜欢的小伙伴可以点点关注💝引言🍎在当今快速发展的深度学习领域,构建一个稳定、高效的开发环境是每个研究人员和开发者的必备条件。而在CentOS7这样的操作系统上,如何将最新的Python3.10和PyTorch2.3.0焕发出最佳性能,是一项需要技巧和专业知识的挑战。本文将引导您通过一系列高级步骤和最佳实践,打造一个完美无缺的深度学习环境,让您的项目在技术之巅驰骋!前言🍐本文是笔者踩过无数坑后亲测出来的安装教程,按照这个教程走下来,可以正常使用pip3installXX安装第三方包,笔者在安装过程看过近30篇安装教程博客,很多的安装步骤走下来经常会报错。例如:大家用pip3installXX发现报错ssl,然后你开始查找配置ssl证书,发现无论是选择任何的信任源都发现不行,最后发现是ssl版本过旧,所以,本文优先更新openssl,确保pip3installXX成功!如果你也是深度学习新手,正苦恼如何搭建环境,跟着笔者一步步走,过程非常丝滑!安装场景🌈Centos7操作系统虚拟机、服务器常见安装场景容器内的Centos7操作系统容器内部安装Centos7镜像后,也是一个Linux,安装操作教程相同,笔者亲测有效。使用dockerfile+requirements.txt安装本质上是docker帮助我们一行行执行命令,其实也是一样的,需要注意dockerfile的编写规范,详情见下方的dockerfile文件,dockerfile也是笔者跑通安装环境的一个范本,笔者亲测有效。在虚拟机、服务器安装🗽一、升级openssl🍉下载必要的依赖包,使用root权限:sudoyuminstall-ygccgcc-c++autoconfautomakezlibzlib-develpcre-devel1进入到opt目录,到OpenSSL官方网站下载源码,解压并进入软件包目录:cd/optsudowgethttps://www.openssl.org/source/openssl-1.1.1q.tar.gz--no-check-certificatesudotar-zxvfopenssl-1.1.1q.tar.gzcdopenssl-1.1.1q1234编译安装sudo./configprefix=/usr/local/openss1上面的报错可以直接用:sudo./configsudomake&sudomakeinstall123配置lib库:echo"/usr/local/lib64/"|sudotee-a/etc/ld.so.confsudoldconfig12备份旧版本openssl:sudomv/usr/bin/openssl/usr/bin/openssl.bak1将新版本软链接/usr/bin/sudoln-s/usr/local/bin/openssl/usr/bin/openssl1检查opensslversionopensslversion1二、安装python3.10🍈安装依赖,使用root权限sudoyuminstall-yncurses-develgdbm-develxz-develsqlite-develtk-develuuid-develreadline-develbzip2-devellibffi-devel1进入目录下载python3.10.6并解压cd/optsudowgethttps://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgzsudotar-zxvfPython-3.10.6.tgz123编译安装cdPython-3.10.6sudo./configure--prefix=/usr/local/python3sudomake&sudomakeinstall123本文指定安装目录/usr/local/python3创建软链接,centos默认安装有python2.7版本,本文两个版本共存:sudoln-s/usr/local/python3/bin/python3.10/usr/bin/python3sudoln-s/usr/local/python3/bin/pip3.10/usr/bin/pip312验证安装是否成功python31三、验证pip3install是否成功🍅pip3installnumpypip3installnumpy1安装成功如下:在docker内部安装🏭容器内的Centos7操作系统容器内部安装Centos7镜像后,也是一个Linux,安装操作教程相同,笔者亲测有效。注意:在容器内安装Centos7用上面的教程前,要先装一下openssl安装命令如下:yuminstallopenssl1后续遇到xx:notcommand,用yuminstallxx即可。之后,按照上面的教程一步步走即可安装成功。安装后,如果需要将容器打包成镜像,则用如下命令:dockercommit容器id打包后的镜像名:版本号1之后,再用如下命令:方式一运行容器后正常启动状态,使用如下命令。dockerrun-itd--entrypoint/bin/bashreqpython//先在后台启动reqpython为刚才打包的镜像名dockerps//查看刚才run的容器名如:testdockerexec-ittest/bin/bash//再进入容器内部12345方式二只是做测试用,测试完后,不想保留容器,使用如下命令:dockerrun-it--rm--entrypoint/bin/bashreqpython//--rm退出即删除容器1使用dockerfile安装🚀使用dockerfile+requirements.txt安装dockerfile文件内容如下:#使用基础镜像CentOS7FROMcentos:7#安装opensslRUNyuminstall-yopenssl#安装必要的依赖RUNyuminstall-ygccgcc-c++autoconfautomakezlibzlib-develpcre-devel\ncurses-develgdbm-develxz-develsqlite-develtk-develuuid-develreadline-devel\bzip2-devellibffi-develwgettarsudo#升级OpenSSLWORKDIR/optRUNwgethttps://www.openssl.org/source/openssl-1.1.1q.tar.gz--no-check-certificate&\tar-zxvfopenssl-1.1.1q.tar.gz&\cdopenssl-1.1.1q&\./configprefix=/usr/local/openssl&\make&makeinstall&\echo"/usr/local/lib64/"|tee-a/etc/ld.so.conf&\ldconfig&\mv/usr/bin/openssl/usr/bin/openssl.bak&\ln-s/usr/local/bin/openssl/usr/bin/openssl#安装Python3.10WORKDIR/optRUNwgethttps://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz&\tar-zxvfPython-3.10.6.tgz&\cdPython-3.10.6&\./configure--prefix=/usr/local/python3&\make&makeinstall&\ln-s/usr/local/python3/bin/python3.10/usr/bin/python3&\ln-s/usr/local/python3/bin/pip3.10/usr/bin/pip3#将requirements.txt文件复制到容器中COPYrequirements.txt/opt/requirements.txt#安装Python依赖包RUNpip3install-r/opt/requirements.txt12345678910111213141516171819202122232425262728293031323334353637383940requirements.txt文件如下:numpy==1.26.4torch_geometric==2.5.3torch==2.3.0torchvision==0.18.0torchaudio==2.3.012345注意:保证requirements.txt文件和dockerfile文件在同一个文件夹下然后,使用如下命令打包镜像dockerbuild-treqpython.//reqpython是你给打包镜像起的名字1最后,使用如下命令进入到容器内部:方式一运行容器后正常启动状态,使用如下命令。dockerrun-itd--entrypoint/bin/bashreqpython//先在后台启动dockerps//查看刚才run的容器名如:testdockerexec-ittest/bin/bash//再进入容器内部123方式二只是做测试用,测试完后,不想保留容器,使用如下命令:dockerrun-it--rm--entrypoint/bin/bashreqpython//先在后台启动1运行结果如下:运行文件✈️后面需要将本地的py文件放到容器内部跑,则需要使用dockercp命令将py文件复制到容器内部的路径下再用python3运行即可。命令如下:dockercp/local/path/directorycontainer_name:/path/to/directory1参考文章🚊博主写得很好,博客简洁高效https://zhuanlan.zhihu.com/p/661077162结语🌅通过本文的指引和技巧,您已经了解了在CentOS7上构建Python3.10和PyTorch2.3.0的深度学习环境所需的关键步骤和优化方法。在您的掌控之下,这个环境将成为您探索人工智能的强大工具,为您的研究和项目注入新的活力。愿您在深度学习之路上驾驭风云,创造出令世界瞩目的成果。看到这里的小伙伴,恭喜你又掌握了一个技能👊希望大家能取得胜利,坚持就是胜利💪我是寸铁!我们下期再见💕往期好文💕保姆级教程【保姆级教程】Windows11下go-zero的etcd安装与初步使用【保姆级教程】Windows11安装go-zero代码生成工具goctl、protoc、go-zero【Go-Zero】手把手带你在goland中创建api文件并设置高亮报错解决【Go-Zero】Error:user.api27:9syntaxerror:expected‘:‘|‘IDENT‘|‘INT‘,got‘(‘报错解决方案及api路由注意事项【Go-Zero】Errornlyoneserviceexpectedgoctl一键转换生成rpc服务错误解决方案【Go-Zero】【error】failedtoinitializedatabase,goterrorError1045(28000):报错解决方案【Go-Zero】Error1045(28000):Accessdeniedforuser‘root‘@‘localhost‘(usingpassword:YES)报错解决方案【Go-Zero】typemismatchforfield“Auth.AccessSecret“,expect“string“,actual“number“报错解决方案【Go-Zero】Error:user.api30:2syntaxerror:expected‘)‘|‘KEY‘,got‘IDENT‘报错解决方案【Go-Zero】Windows启动rpc服务报错panic:contextdeadlineexceeded解决方案Go面试向【Go面试向】defer与time.sleep初探【Go面试向】defer与return的执行顺序初探【Go面试向】Go程序的执行顺序【Go面试向】rune和byte类型的认识与使用【Go面试向】实现map稳定的有序遍历的方式
|
|