0


【深度学习】深度学习之巅:在 CentOS 7 上打造完美Python 3.10 与 PyTorch 2.3.0 环境

【深度学习】深度学习之巅:在 CentOS 7 上打造完美Python 3.10 与 PyTorch 2.3.0 环境

大家好 我是寸铁👊
总结了一篇【深度学习】深度学习之巅:在 CentOS 7 上打造完美Python 3.10 与 PyTorch 2.3.0 环境✨
喜欢的小伙伴可以点点关注 💝

在这里插入图片描述


引言 🍎

在当今快速发展的深度学习领域,构建一个稳定、高效的开发环境是每个研究人员和开发者的必备条件。而在

 CentOS 7

这样的操作系统上,如何将最新的

Python 3.10

PyTorch 2.3.0

焕发出最佳性能,是一项需要技巧和专业知识的挑战。本文将引导您通过一系列高级步骤和最佳实践,打造一个完美无缺的深度学习环境,让您的项目在技术之巅驰骋!


前言🍐

本文是笔者踩过

无数

坑后亲测出来的安装教程,按照这个教程走下来,可以正常使用pip3 install XX安装第三方包,笔者在安装过程看过近30篇安装教程博客,很多的安装步骤走下来经常会报错。例如:大家用pip3 install XX发现报错

ssl

,然后你开始查找配置

ssl

证书,发现无论是选择任何的信任源都发现不行,最后发现是

ssl

版本过旧,所以,本文优先更新

openssl

,确保

pip3 install XX

成功!
如果你也是深度学习新手,正苦恼如何搭建环境,跟着笔者一步步走,过程非常丝滑!


安装场景🌈

  • Centos7操作系统

虚拟机、服务器常见安装场景

  • 容器内的Centos7操作系统

容器内部安装

Centos7

镜像后,也是一个

Linux

,安装操作教程相同,笔者亲测有效。

  • 使用dockerfile+requirements.txt安装

本质上是

docker

帮助我们一行行执行命令,其实也是一样的,需要注意

dockerfile

的编写规范,详情见下方的

dockerfile

文件,

dockerfile

也是笔者跑通安装环境的一个范本,笔者亲测有效。


在虚拟机、服务器安装🗽

一、升级openssl🍉

  • 下载必要的依赖包,使用root权限:
sudo yum install-y gcc gcc-c++ autoconf automake zlib zlib-devel pcre-devel
  • 进入到opt目录,到OpenSSL官方网站下载源码,解压并进入软件包目录:
cd /opt
sudowget https://www.openssl.org/source/openssl-1.1.1q.tar.gz --no-check-certificate 
sudotar-zxvf openssl-1.1.1q.tar.gz
cd openssl-1.1.1q
  • 编译安装
sudo ./config prefix=/usr/local/openss1
上面的报错可以直接用: sudo ./config
sudomake&&sudomakeinstall
  • 配置lib库:
echo"/usr/local/lib64/"|sudotee-a  /etc/ld.so.conf
sudo ldconfig
  • 备份旧版本openssl
sudomv /usr/bin/openssl /usr/bin/openssl.bak
  • 将新版本软链接/usr/bin/
sudoln-s /usr/local/bin/openssl /usr/bin/openssl
  • 检查openssl version
openssl version

二、安装python3.10🍈

  • 安装依赖,使用root权限
sudo yum install-y ncurses-devel gdbm-devel xz-devel sqlite-devel tk-devel uuid-devel readline-devel bzip2-devel libffi-devel
  • 进入目录下载python3.10.6并解压
cd /opt
sudowget https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz
sudotar-zxvf Python-3.10.6.tgz
  • 编译安装
cd Python-3.10.6
sudo ./configure --prefix=/usr/local/python3
sudomake&&sudomakeinstall

本文指定安装目录

/usr/local/python3
  • 创建软链接,centos默认安装有python2.7版本,本文两个版本共存:
sudoln-s /usr/local/python3/bin/python3.10 /usr/bin/python3
sudoln-s /usr/local/python3/bin/pip3.10 /usr/bin/pip3
  • 验证安装是否成功
python3

在这里插入图片描述

三、 验证pip3 install 是否成功🍅

pip3 install numpy
pip3 install numpy

安装成功如下:

在这里插入图片描述


在docker内部安装🏭

  • 容器内的Centos7操作系统

容器内部安装

Centos7

镜像后,也是一个

Linux

,安装操作教程相同,笔者亲测有效。

注意:在容器内安装

Centos7

用上面的教程前,要先装一下

openssl

安装命令如下:

yum install openssl

后续遇到

xx: not command

,用

yum install xx

即可。

之后,按照上面的教程一步步走即可安装成功。

安装后,如果需要将容器打包成镜像,则用如下命令:

docker commit 容器id 打包后的镜像名:版本号

之后,再用如下命令:

  • 方式一

运行容器后正常启动状态,使用如下命令。

docker run -itd--entrypoint /bin/bash reqpython 
//先在后台启动 reqpython为刚才打包的镜像名

dockerps //查看刚才run的容器名 如:test 
dockerexec-ittest /bin/bash //再进入容器内部
  • 方式二

只是做测试用,测试完后,不想保留容器,使用如下命令:

docker run -it--rm--entrypoint /bin/bash reqpython // --rm退出即删除容器

使用dockerfile安装🚀

  • 使用dockerfile+requirements.txt安装
dockerfile

文件内容如下:

# 使用基础镜像 CentOS 7
FROM centos:7

# 安装openssl
RUN yum install-y openssl

# 安装必要的依赖
RUN yum install-y gcc gcc-c++ autoconf automake zlib zlib-devel pcre-devel \
    ncurses-devel gdbm-devel xz-devel sqlite-devel tk-devel uuid-devel readline-devel \
    bzip2-devel libffi-devel wgettarsudo# 升级 OpenSSL
WORKDIR /opt
RUN wget https://www.openssl.org/source/openssl-1.1.1q.tar.gz --no-check-certificate &&\tar-zxvf openssl-1.1.1q.tar.gz &&\cd openssl-1.1.1q &&\
    ./config prefix=/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

# 安装 Python 3.10
WORKDIR /opt
RUN wget https://www.python.org/ftp/python/3.10.6/Python-3.10.6.tgz &&\tar-zxvf Python-3.10.6.tgz &&\cd Python-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文件复制到容器中
COPY requirements.txt /opt/requirements.txt

# 安装 Python 依赖包
RUN pip3 install-r /opt/requirements.txt
requirements.txt

文件如下:

numpy==1.26.4
torch_geometric==2.5.3
torch==2.3.0
torchvision==0.18.0
torchaudio==2.3.0

注意: 保证

requirements.txt

文件和

dockerfile

文件在同一个文件夹下

然后,使用如下命令打包镜像

docker build -t reqpython .     // reqpython是你给打包镜像起的名字

最后,使用如下命令进入到容器内部:

  • 方式一

运行容器后正常启动状态,使用如下命令。

docker run -itd--entrypoint /bin/bash reqpython //先在后台启动
dockerps //查看刚才run的容器名 如:test 
dockerexec-ittest /bin/bash //再进入容器内部
  • 方式二

只是做测试用,测试完后,不想保留容器,使用如下命令:

docker run -it--rm--entrypoint /bin/bash reqpython //先在后台启动

运行结果如下:

在这里插入图片描述

运行文件✈️

后面需要将本地的

py

文件放到容器内部跑,则需要使用

docker cp

命令将

py

文件复制到容器内部的路径下再用

python3

运行即可。

命令如下:

dockercp /local/path/directory container_name:/path/to/directory

参考文章🚊

博主写得很好,博客简洁高效

https://zhuanlan.zhihu.com/p/661077162


结语🌅

通过本文的指引和技巧,您已经了解了在

CentOS 7 

上构建

Python 3.10

PyTorch 2.3.0

的深度学习环境所需的关键步骤和优化方法。在您的掌控之下,这个环境将成为您探索人工智能的强大工具,为您的研究和项目注入新的活力。愿您在深度学习之路上驾驭风云,创造出令世界瞩目的成果。


看到这里的小伙伴,恭喜你又掌握了一个技能👊
希望大家能取得胜利,坚持就是胜利💪
我是寸铁!我们下期再见💕


往期好文💕

保姆级教程

【保姆级教程】Windows11下go-zero的etcd安装与初步使用

【保姆级教程】Windows11安装go-zero代码生成工具goctl、protoc、go-zero

【Go-Zero】手把手带你在goland中创建api文件并设置高亮


报错解决

【Go-Zero】Error: user.api 27:9 syntax error: expected ‘:‘ | ‘IDENT‘ | ‘INT‘, got ‘(‘ 报错解决方案及api路由注意事项

【Go-Zero】Error: only one service expected goctl一键转换生成rpc服务错误解决方案

【Go-Zero】【error】 failed to initialize database, got error Error 1045 (28000):报错解决方案

【Go-Zero】Error 1045 (28000): Access denied for user ‘root‘@‘localhost‘ (using password: YES)报错解决方案

【Go-Zero】type mismatch for field “Auth.AccessSecret“, expect “string“, actual “number“报错解决方案

【Go-Zero】Error: user.api 30:2 syntax error: expected ‘)‘ | ‘KEY‘, got ‘IDENT‘报错解决方案

【Go-Zero】Windows启动rpc服务报错panic:context deadline exceeded解决方案


Go面试向

【Go面试向】defer与time.sleep初探

【Go面试向】defer与return的执行顺序初探

【Go面试向】Go程序的执行顺序

【Go面试向】rune和byte类型的认识与使用

【Go面试向】实现map稳定的有序遍历的方式


本文转载自: https://blog.csdn.net/joeyoj/article/details/138723084
版权归原作者 寸 铁 所有, 如有侵权,请联系我们删除。

“【深度学习】深度学习之巅:在 CentOS 7 上打造完美Python 3.10 与 PyTorch 2.3.0 环境”的评论:

还没有评论