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即可。

相关实践学习
部署Stable Diffusion玩转AI绘画(GPU云服务器)
本实验通过在ECS上从零开始部署Stable Diffusion来进行AI绘画创作,开启AIGC盲盒。
目录
相关文章
|
3月前
|
机器学习/深度学习 人工智能 安全
ai集成环境
【4月更文挑战第27天】ai集成环境
50 1
|
19天前
|
机器学习/深度学习 人工智能 算法
在 AI Native 环境中实现自动超参数优化的微调方法
【8月更文第1天】随着人工智能技术的不断发展,深度学习模型的训练变得越来越复杂。为了达到最佳性能,需要对模型进行微调,特别是对超参数的选择。本文将探讨如何在 AI Native 环境下使用自动化工具和技术来优化模型的微调过程。
39 5
|
3天前
|
机器学习/深度学习 人工智能 自然语言处理
探索软件自动化测试的未来:AI驱动的测试策略
【7月更文挑战第47天】 随着人工智能(AI)技术不断进步,其在软件测试领域的应用也日益广泛。本文将探讨如何整合AI技术与现有的自动化测试流程,提出一个面向未来的测试策略。文章重点分析了AI在测试用例生成、执行、结果分析和持续集成中的作用,同时预测了这种技术融合对测试工程师角色的影响,以及它如何提高软件测试的效率和准确性。
|
1月前
|
人工智能 IDE Devops
当「软件研发」遇上 AI 大模型
大模型和软件工具链的结合,使软件研发进入下一个时代。那它第一个落脚点在哪?实际上就是辅助编程,所以我们就开始打造了通义灵码这款产品,它是一个基于代码大模型的的 AI 辅助工具。本文会分为三个部分来分享。第一部分先介绍 AIGC 对软件研发的根本性影响,从宏观上介绍当下的趋势;第二部分将介绍 Copilot 模式,第三部分是未来软件研发 Agent 产品的进展。
123 2
|
1月前
|
人工智能 Serverless 异构计算
[AI Cog] 想要运营AI业务,但没有GPU?环境搞不定?使用Cog帮您轻松将业务部署上云
[AI Cog] 想要运营AI业务,但没有GPU?环境搞不定?使用Cog帮您轻松将业务部署上云
|
1月前
|
人工智能 运维 Serverless
报名参课丨解锁 Serverless+AI 新模式,拥有专属 AIGC 环境
Serverless 和 AI 大模型都是当前云上最火的技术方向,本次活动期望通过 Severless+AI 技术的强强联合,期待为客户提供基于 Serverless 技术实现 AI 推理部署平台的技术思路,一键解锁 AI 潜力,无需繁琐运维,降低 GPU 的使用成本、减少企业或个人创业的试错成本,让人人都可以拥有自己“专属”的 AIGC 环境成为可能。
|
18天前
|
机器学习/深度学习 人工智能 自然语言处理
探索自动化测试的边界:如何有效整合AI技术提升软件质量
随着人工智能技术的飞速发展,其在软件测试领域的应用逐渐深入。本文将探讨自动化测试与AI结合的现状和挑战,分析AI在提升测试效率、发现深层次缺陷等方面的潜力,并提出实现这一融合的实践策略。
20 0
|
2月前
|
机器学习/深度学习 敏捷开发 人工智能
自动化测试的崛起:如何利用AI提升软件质量
【6月更文挑战第20天】在软件开发的浪潮中,自动化测试已成为确保产品质量的关键工具。随着人工智能(AI)技术的飞速发展,其在自动化测试中的应用日益广泛,为测试流程带来了革命性的变化。本文将探讨AI如何优化测试用例生成、提高缺陷检测效率和预测潜在问题,从而显著提升软件测试的效率和准确性。
58 3
|
2月前
|
SQL 人工智能 Devops
《AIGC+软件开发新范式》--01.当「软件研发」遇上 AI 大模型(1)
在AI 热度持续上升的当下,阿里云推出AI智能编码助手—通义灵码。通义灵码是一款基于阿里云通义代码大模型打造的智能编码助手,基于海量优秀开源代数据集和编程教科书训练,为开发者带来高效、流畅的编码体验。
110 0
|
2月前
|
人工智能 自然语言处理 IDE
《AIGC+软件开发新范式》--01.当「软件研发」遇上 AI 大模型(2)
在AI 热度持续上升的当下,阿里云推出AI智能编码助手—通义灵码。通义灵码是一款基于阿里云通义代码大模型打造的智能编码助手,基于海量优秀开源代数据集和编程教科书训练,为开发者带来高效、流畅的编码体验。
106 1