AI开发软件环境

简介: AI开发软件环境

文章和代码已经归档至【Github仓库:https://github.com/timerring/dive-into-AI 】或者公众号【AIShareLab】回复 AI配置 也可获取。

AI开发软件环境介绍

关于软件方面:

1.ubuntu操作系统的安装

2.抛弃bash,拥抱zsh

3.软件包管理器的使用,

4.安装NVIDIA GPU驱动

5.软件安装:Anaconda

6.软件安装:Python IDE

7.软件安装: ssh

8.软件安装:Git

9.其他效率软件安装

ubuntu操作系统的安装

不同ubuntu版本的ISO File: https://cn.ubuntu.com/download
注意: windows虚拟机中的显卡是物理CPU模拟出来的,没有调用物理GPU,所以虚拟机装ubuntu是无法进行深度学习训练。

Learn Unix:https://www.tutorialspoint.com/unix

抛弃bash, 拥抱zsh

shell是指一种应用程序,这个应用程序提供了一个界面,用户通过这个界面访问操作系统内核的服务。shell脚本(shell script),是一种为shell编写的脚本程序。

当前主流的操作系统都支持shell编程:

Windows PowerShell的诞生就是要提供功能相当于UNIX系统的命令行壳程序(例如:sh、bash或csh),同时也内置脚本语言以及辅助脚本程序的工具。为了同时能用grep, awk, curl等工具,最好装一个cygwin或者mingw来模拟linux环境。

● Powershell: https://docs.microsoft.com/zh-cn/

● Cygwin:http://www.cygwin.com/

● mingw:http://www.mingw.org/

Mac OS不仅带了sh、bash这两个最基础的解释器,还内置了kshcshzsh等不常用的解释器.macOS 10.15 Catalina默认shellzsh

Linux默认安装就带了shell解释器,这里推荐用 ohmyzsh

ohmyzsh:https://github.com/ohmyzsh/ohmyzsh 113k Str & Efficiency & Automatic Suggestion and completion & color display....

软件包的使用

Windows常用.exe.msi为代表的可执行文件来安装应用程序。这种方式需要手动交互介入,不方便。

微软推出了一款内置的软件包管理器 winget。用户无需在窗口中频繁点击,即可完成安装工作。

Mac. 常用homebrew, 必备神器

Linux.apt是一个linux高级工具,用于debian系软件包管理,主要用于自动从互联网的软件仓库中搜索、安装、升级、卸载软件或操作系统的高级工具(debian系的低级工具是dpkg)

常见安装方式:

  1. 源码安装:./configure => make => make install

  2. 二进制包安装:软件官方或第三方编译打包好的,解压就能用

  3. 软件包管理器安装:.deb 、.rpm 、 .tar.gz

    常用软件包管理器:yum、zypper、dpkg、apt....

    Ubuntu Package Management:https://ubuntu.com/server/docs/package-management

    apt(Advanced Package Tool):debian系软件包管理.

软件仓库:aruman(Arch Linux)、yum(CentOS7)、apt(Ubuntu)

安装NVIDIAI GPU驱动

Windows:

GF英伟达推出的一款显卡工具,GF连接到NVIDIA的云数据中心,根据的PC的CPU、GPU和显示器配置来下载最佳的游戏设置

手动查找NVIDIA:https://www.nvidia.cn/Download/index.aspx?lang=cn

自动查找:GeForce Experience

Linux:

1、手动查找NVIDIA:https://www.nvidia.cn/Download/index.aspx?lang=cn

2、自动查找:NVIDIA:https://www.nvidia.cn/Download/index.aspx?lang=cn

Method1: PPA -- 这种方式并不能保证驱动的安全性与最新版
Method2: CUDA Toolkit => 官方文档 CUDA Installation Guide Linux  
    S1: Install repository meta-data
    S2: Installing the CUDA public GPG key
    S3: Update the Apt repository cache
    S4: Install Driver 
        apt-cache search nvidia-driver
        apt-get install nvidia-driver-435
    S5: reboot => 验证 nvidia-smi
    S6: Install CUDA => 验证
        apt-get install cuda 
        不要一直Yes. 有个地方需要NO, 选不安装驱动
    S7: 修改zsh
        export PATH=/usr/local/cuda-9.2/bin${PATH:+:${PATH}}
        export LD_LIBRARY_PATH=/usr/local/cuda-9.2/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
        export CUDA_HOME=/usr/local/cuda-9.2
    S8: 如何卸载安装
        apt-get --purge  autoremove nvidia*
        apt list --installed|grep cuda
        apt purge cuda-repo-ubuntu1804
        /usr/local/cuda-9.2/bin/cuda-uninstaller
        rm –f /usr/local/cuda-9.2
Method3: ubuntu-drivers --不推荐

软件安装 : ssh

sudo apt-get install openssh-server
ssh user@remote -p port
# 复制文件本地到远程服务器
scp -P port /path/to/local/file user@remote:/path/to/remote/file

软件安装:Git

之前写过很多有关于git的文章了,这里不多赘述。

游戏:Learn Git Branching: https://learngitbranching.js.org/?locale=zh_CN

官方文档:https://git-scm.com/doc

效率软件

XMind, Dash...

常用ubuntu命令

GPU:

# watch 持续看 -n1间隔1s刷新一次
watch -n1 nvidia-smi

CPU:

htop

Anaconda

Anaconda下载地址: https://www.anaconda.com/products/distribution

建议安装到SSD固态上加快读写速度。

这里针对远程服务器的安装:

由于公司/学校Al集群一般是没有图形化界面。需要右键”64-Bit(x86) installer"复制anaconda的下载链接地址。

step1:根据IP/user_id/port链接服务器

ssh frank@18.19.124.245 -p 2022

step2:转到任意一个目录进行wget

cd Downloads
wget -c https: //cepo.anaconda.com/archive/Anaconda3-2021.11-Linux-x86_64.sh

step3:安装,采用默认Enter yes yes即可

sh Anaconda3-2021.11-Linux-x86_64.sh

具体的创建环境这里略过,不过值得注意的是,对于MacOS由于没有NVDIA GPU也就只能安装CPU版本的pytorch。

TensorFlow,Pytorch的安装

TensorFlow: https://www.tensorflow.org/installsource?hl=zh-cn#gpu
TensorFlow不同版本有严格的CUDA对应要求,如果系统装了CUDA10.1去安装tensorflow-2.40会报错,要注意版本的对应。

Pytorch: https://pytorch.org/get-started/previous-versions/
相比于TensorFlow的静态图机制,基于动态图的Pytorch不同版本就不需要严格对应系统CUDA,在上述链接中可以找到不同版本的下载信息。

Python软件库的选择

anaconda: https://anaconda.org/anaconda/repo 里面有很多包,点开有具体安装的命令。

Pypi org: https://pypi.org 同上,建议使用pip

替换清华源
地址: https://mirrors.tuna.tsinghua.edu.cn

step1:激活自己的Anaconda Environment

step2:对于windows系统需要生成.condarc文件,并全局搜索找到.condarc文件

conda config -set show_channel_ruls yes

step3:对于MacOS/ubuntu系统在homelxxx(xxx为自己用户名)找到.condarc文件,替换清华源地址

vim / home/wlsh/ .condarc

Jupyter Lab

本地使用

对于windows/macOS/ubuntu有图形界面的系统

  • 可以通过菜单栏点开Aanaconda的图标,得到上面的界面,然后点开Jupyter Lab

  • 可以在终端直接输入jupyter lab 即可直接打开

服务器使用

step1: 通过IP/use_id/port连接集群

ssh frank@10.19.124.245 -p 2022

step2: 激活自己的Anaconda Environment

conda activate Env_name

step3: 安装jupyterlab并添加Environment到Jupyterlab

pip install jupyterlab
python -m ipykernel install --user --name Env_name

step4: 生成 jupyter lab 配置文件

jupyter lab --generate-config

终端显示生成的配置文件位于

/home/frank/.jupyter/jupyter_lab_config.py

step5: 修改登录密码

Jupyter lab password

step6: 主机IP/端口设置,编辑文件在最后面添加三行。

vim /home/frank/.jupyter/jupyter_lab_config.py
c.NotebookApp.ip='*'# 允许任何IP链接
c.NotebookApp.open_browser=False #不打开图形界面
c.NotebookApp.port=8888 # 初始端口,如果冲突它会自行替换

这三行的意思分别是允许任何IP链接.集群不打开jupyter lab的图形界面,初始服务器端口IP如果遇到冲突会自行替换。

step7: 启动jupyter lab并挂载到服务器的后台并查看其结果输出,查看后可以找到IP。然后把localhost替换为服务器IP,在自己笔记本浏览器打开即可。

nohup jupyter lab --port=8891 & cat nohup.out

step8: 如果想关闭,只需找到进行关闭即可。

ps -ef | grep jupyter lab
Kill -9 XXXX

Vscode配置

推荐插件:

  • 简体中文=>汉化界面

  • Python =>管理切换python环境

  • Remote-SSH =>服务器链接

  • Remote-SSH: Editing Configuration Files

远程配置

配置SSH - 官方文档:Remote Development Tips and Tricks

ssh-keygen -t rsa -b 4096 #生成mac/ubuntu的local public key
ssh-copy-id -p 2022 frank@10. 19.124.245#复制此key到远程主机

以上是针对py文件的配置,而jupyter notebook 的配置与次有一点差别,但不是很大。自行搜索解决即可。依旧是服务器开启一个端口挂载后台,然后点击Jupyter本地--> 现有url-->把localhost替换为服务器IP输入即可。

此外,还可以配置markdown以及latex环境。注意:latex还需要安装编译器,windows安装TexLive,Mac安装macTex即可。

相关实践学习
基于阿里云DeepGPU实例,用AI画唯美国风少女
本实验基于阿里云DeepGPU实例,使用aiacctorch加速stable-diffusion-webui,用AI画唯美国风少女,可提升性能至高至原性能的2.6倍。
目录
相关文章
|
1月前
|
机器学习/深度学习 人工智能 自然语言处理
好用的AI绘画软件,一次安利给你
好用的AI绘画软件,一次安利给你
52 0
|
8月前
|
人工智能 自然语言处理 搜索推荐
6个好用的AI写作工具合集,各种AI写作软件类型超全整理!
AI生成营销文案、生成文章标题、改写润色内容、写作素材搜集...好用的AI写作工具有哪些?
6个好用的AI写作工具合集,各种AI写作软件类型超全整理!
|
5月前
|
人工智能 数据可视化
用了这8款AI制作PPT软件,年终总结再也不是问题!
8款好用的AI生成PPT软件推荐,轻松解决你的年终总结!
|
3月前
|
人工智能 Cloud Native 算法
应用从云原生走向AI原生,软件可望“以天为单位”开发
【1月更文挑战第8天】应用从云原生走向AI原生,软件可望“以天为单位”开发
43 2
应用从云原生走向AI原生,软件可望“以天为单位”开发
|
4月前
|
人工智能 图形学
AI角色对环境信息的感知方式
AI角色对环境信息的感知方式
|
5月前
|
存储 人工智能 数据可视化
8款好用的AI流程图软件盘点推荐,一键生成高颜值流程图!
8款好用的AI流程图软件盘点推荐,办公必备。
|
5月前
|
Web App开发 人工智能 搜索推荐
进击的AI工具集:全能AI阅读软件Walles AI
Walles AI 是一款 All in One 的全能AI阅读工具。简单来说,Walles AI= AI聊天对话工具 + AI网页阅读工具+AI 浏览器智能助手+ AI 搜索引擎助手+ AI PDF文档阅读工具+AI 视频阅读工具…… 更多新的AI阅读场景正在解锁中。
225 0
|
6月前
|
存储 人工智能 安全
|
9月前
|
机器学习/深度学习 人工智能 自然语言处理
何必去卷 AI,对于普通人简单好用的智能软件推荐
何必去卷 AI,对于普通人简单好用的智能软件推荐
115 0