网站建设从化,指数计算器,网站做视频的软件叫什么,境外网站在国内做镜像Vitis AI是 Xilinx 的开发平台#xff0c;适用于在 Xilinx 硬件平台#xff08;包括边缘设备和 Alveo 卡#xff09;上进行人工智能算法推理部署。它由优化的IP、工具、库、模型和示例设计组成。Vitis AI以高效易用为设计理念#xff0c;可在 Xilinx FPGA 和 ACAP 上充分发…Vitis AI是 Xilinx 的开发平台适用于在 Xilinx 硬件平台包括边缘设备和 Alveo 卡上进行人工智能算法推理部署。它由优化的IP、工具、库、模型和示例设计组成。Vitis AI以高效易用为设计理念可在 Xilinx FPGA 和 ACAP 上充分发挥人工智能加速的潜力。
0. 工具/软件 mobaXtermssh/uart/…方式远程连接zynq balena etcher镜像烧录工具 vitis自动安装对应版本的vivado、vitis HLS # *********** 1. 安装依赖 ***********
sudo add-apt-repository ppa:xorg-edgers/ppa
sudo apt-get update
sudo apt-get install libgl1-mesa-glx
sudo apt-get install libgl1-mesa-dri
sudo apt-get install libgl1-mesa-dev
sudo add-apt-repository --remove ppa:xorg-edgers/ppa
sudo apt install net-tools
sudo apt-get install -y unzip
sudo apt install gcc
sudo apt install g
sudo apt install python
ln -s /usr/bin/python2 /usr/bin/python# *********** 2. 重启系统 ***********
reboot# *********** 3. 安装vitis vivado ***********
# 参考vitis的UG手册有详细的安装教程# 1. Go to the Xilinx Downloads Website.
# 2. Download the installer for your operating system.
# 3. Run the installer, which opens the Xilinx Unified 2020.1 Installer.
# 4. Click Next.
# 5. Enter your Xilinx user account credentials,and then select Download and Install Now.
# 6. Click Next.
# 7. Accept the terms and conditions by clicking each I Agree check box.
# 8. Click Next.
# 9. Select Vitis, and then click Next.
# 10. Optionally,customize your installation by selecting design tools and devices, and then click Next.
# 11. Select the installation directory, optional shortcut and file association options,and then click Next.
# 12. Review the installation summary, which shows the options and locations you have selected.
# 13. To proceed with the installation of the Vitis software platform, click Install. After a successful installation, a confirmationmessage is displayed.# *********** 4. 安装XRT ***********
# Xilinx Runtime(XRT) is implemented as a combinationof user-space and kernel driver components. XRT supports Alveo PCIe-based cards, as well as Zynq UltraScale MPSoC-based embedded system platforms,and provides a softwareinterface to Xilinx programmable logic devices.
# 该指令执行后可能会报错缺少一些依赖包。对此缺啥直接装即可网不好的话可能会耗费一定时间
sudo apt install deb-dir/xrt_filename_OS.debvivadovitis集成vivado petalinux 安装详见UG1144 Xilinx 公司推出的嵌入式linux开发套件包括了u-boot、kernel、rootfs、device-tree等源码和库以及 Yocto recipes可以让客户很方便的创建、配置、编译及自定义linux 系统 Petalinux 支持Versal、Zynq UltraScale MPSoC、Zynq-7000 SoC 以及MicroBlaze可与Xilinx硬件设计工具Vivado协同工作 # petalinux 工具需要主机系统的/bin/sh是bash而 Ubuntu 默认的/bin/sh是dash所以这里需要进行更改。
# 弹出窗口选择No即可
sudo dpkg-reconfigure dash
sudo apt install autoconf
mkdir -p /opt/pkg/petalinux/petalinux-version# petalinux新建/opt/pkg/petalinux之后在执行.run文件安装之前需要进行如下操作
cd /opt/pkg
ls -l
# 输出如下结果为异常需要将权限者变更为用户名xuyang
# drwxrwxrwx 5 root root 4096 Aug 31 14:32 petalinux
sudo chown -R xuyang:xuyang /opt/pkg/petalinux./petalinux-vpetalinux-version-final-installer.run --dir /opt/pkg/petalinux/petalinux-version# 可添加到.bashrc文件中
source path-to-installed-PetaLinux/settings.sh# By default, the WebTalk optionis disabled to send tools usage statisticsback to Xilinx. You can turn on the WebTalk feature by running the petalinux-util --webtalkcommand after the installationis complete.
petalinux-util --webtalk on# 验证工作环境设置成功
echo $PETALINUXvitis AI exit命令可以退出docker环境
1. FPGA/ZYNQ基础知识
1.1 FPGA基础语法 数据类型 寄存器类型reg reg clk_sys[31:0];寄存器类型只能在initial和always语句块内赋值 线网类型wiretri //中括号为位宽
wire [31:0] key_flag;参数类型parameter是一个常量类似于C语言中的define 运算符 算数运算符-*/%关系运算符!逻辑运算符||!条件操作符a?b:c类似于C中的三元运算符位运算符~取反与|或^异或移位运算符拼接运算符{a,b}
1.2 zynq嵌入式SDK开发
系统裸机开发流程【1-4为硬件5-6为软件】 创建vivado工程使用IP集成器创建Process System生成顶层HDL生成Bitstream并导出到SDK在SDK中创建应用工程板级验证 嵌入式最小系统使系统正常工作的最小条件所有系统的公共基础部分。
1.3 petalinux设计流程
搭建vivado工程导出hdf文件创建一个petalinux工程将hdf文件导入petalinux工程将vivado设计应用到petalinux工程配置petalinux工程其中包括配置内核、U-Boot及根文件系统编译petalinux工程U-Boot镜像、内核镜像及rootfs、bitstreamfsbl镜像文件启动开发板。
2. Ubuntu系统安装 参考视频从零开始的Vitis教程 硬件要求由于vivado/vitis安装环境需要ubuntu系统所在硬件内存32G起64G推荐硬盘100G起需要联网
2.0 安装配置常用软件 卸载ubuntu不必要的软件 sudo apt remove libreoffice-common
sudo apt remove thunderbird totem rhythmbox simple-scan gnome-mahjongg aisleriot gnome-mines cheese transmission-common gnome-sudoku unity-webapps-common
sudo rm -f /usr/share/applications/com.canonical.launcher.amazon.desktop
sudo rm -f /usr/share/applications/ubuntu-amazon-default.desktop# 能联网就update/upgrade
sudo apt update
sudo apt upgrade必要软件安装 sudo apt install cmake make htop git vim net-tools cmake-curses-gui python-pip python3-pip openssh-server gcc g build-essential lightdmpip install numpy
# 升级pip的指令
sudo pip3 install --upgrade pip安装Googlevscodewpstyporaqv2ray sudo dpkg -i google***.deb
sudo dpkg -i typora***.deb
sudo dpkg -i wps***.deb
sudo dpkg -i code***.debUbuntu qv2ray配置 .config/qv2ray/路径下,放置v2ray安装包中的qv2ray文件夹Qv2ray软件设置: Preferences - Kernel Settings1. 设置V2ray Core Executable Path为/home/xuyang/.config/qv2ray/vcore/v2ray2. 设置V2ray Assets Directory为/home/xuyang/.config/qv2ray/vcore/Preferences - Inbound SettingsSOCKS Setting中的Port默认为1089需要与Google插件内对应 Google之Proxy SwitchyOmega插件配置 PROFILES中默认有的profile全部删了然后新建一个名字可以叫为V2Proxy servers中Protocol选择SOCKS5Server为127.0.0.1, Port为1089与软件中的对应 最后Apply changes即可。 Windows v2ray配置 设置 - 参数设置本地监听端口10808与与Google插件内对应设置 - 路由设置 - 基础功能 域名解析策略IPIfNonMatch选中【启用路由高级功能】域名匹配算法linear预定义规则集列表绕过大陆 Google插件配置同上。 vscode 关闭红色波浪线 选择Workspace工作区搜索框输入error在Extensions里选择C/C在右侧把C_Cpp:Error Squiggles选项设置为Disabled即可 更换字体 字体下载字体1-Hack 字体2-FiraCode 解压后直接双击ttf文件右上角install进行安装 在VSCode中【设置-文本编辑器-字体】进行字体替换即可 原始字体 Droid Sans Mono, monospace, monospace更换为 Hack, Courier New, monospace
// or
Fira Code, Courier New, monospace搜狗输入法 sudo apt install fcitx
sudo dpkg -i sogoupinyin***.deb
# 如果有报错则执行以下命令否则跳过
sudo apt --fix-broken install安装成功后到setting-language下面把fcitx选中并apply system-wide 重启登陆后在右上角出现一个键盘标志点击进入选择Configure Current Input Method anaconda 下载自己需要版本后根据以下提示enter键继续向下 nucnuc:~/Downloads$ bash Anaconda3-5.1.0-Linux-x86_64.sh Welcome to Anaconda3 5.1.0In order to continue the installation process, please review the license
agreement.
Please, press ENTER to continue阅读完信息后输入yes回车继续 Do you accept the license terms? [yes|no]
[no] Please answer yes or no: Anaconda3 will now be installed into this location:
/home/nuc/anaconda3- Press ENTER to confirm the location- Press CTRL-C to abort the installation- Or specify a different location below[/home/nuc/anaconda3] 一系列安装完成后输入yes加入环境变量即可在之后会提示是否安装VScode选择no 完成后开启新的终端查看 conda 的版本号 nucnuc:~$ conda -V
conda 4.4.10打开 Jupyter Notebook nucnuc:~$ jupyter notebook
[I 01:48:14.486 NotebookApp] The port 8888 is already in use, trying another port.
[I 01:48:14.711 NotebookApp] JupyterLab beta preview extension loaded from /home/nuc/anaconda3/lib/python3.6/site-packages/jupyterlab
[I 01:48:14.712 NotebookApp] JupyterLab application directory is /home/nuc/anaconda3/share/jupyter/lab
[I 01:48:14.759 NotebookApp] Serving notebooks from local directory: /home/nuc
[I 01:48:14.759 NotebookApp] 0 active kernels
[I 01:48:14.759 NotebookApp] The Jupyter Notebook is running at:
[I 01:48:14.760 NotebookApp] http://localhost:8889/?token605b46819a7dd5e99d71a07c7f3a53ea4a789b62c6c38764
[I 01:48:14.760 NotebookApp] Use Control-C to stop this server and shut down all kernels (twice to skip confirmation).
[C 01:48:14.761 NotebookApp] Copy/paste this URL into your browser when you connect for the first time,to login with a token:http://localhost:8889/?token605b46819a7dd5e99d71a07c7f3a53ea4a789b62c6c38764
[I 01:48:22.437 NotebookApp] Accepting one-time-token-authenticated connection from 127.0.0.1conda用法 # 列出当前可安装的各个版本, 拿qt举个例子
conda search qt
# 根据所列出的版本号,安装相应的版本即可
conda install qt5.9.7kazam录屏软件 sudo apt-get update
sudo apt-get install kazam ROS ros melodic # Setup your computer to accept software from packages.ros.org.
$ sudo sh -c echo deb http://packages.ros.org/ros/ubuntu $(lsb_release -sc) main /etc/apt/sources.list.d/ros-latest.list
# Set up your keys
$ sudo apt install curl
$ curl -s https://raw.githubusercontent.com/ros/rosdistro/master/ros.asc | sudo apt-key add -# Installation
$ sudo apt update
$ sudo apt install ros-melodic-desktop-full# Environment setup
$ echo source /opt/ros/melodic/setup.bash ~/.bashrc
$ source ~/.bashrc# Dependencies for building packages
$ sudo apt install python-rosdep python-rosinstall python-rosinstall-generator python-wstool build-essential python-pip$ sudo rosdep init
$ rosdep update# install moveit
sudo apt-get install ros-melodic-moveit
source /opt/ros/melodic/setup.bash
sudo apt-get install ros-melodic-moveit-resources
sudo apt-get install ros-melodic-moveit-visual-tools可能的问题 no pip: sudo apt-get install python-pipcatkin_make不成功检查source /opt/ros/melodic/setup.bash在不在~/.bashrc里
2.1 关闭自动更新 打开文件 sudo vim /etc/apt/apt.conf.d/10periodic 修改内容为 APT::Periodic::Update-Package-Lists 0;
APT::Periodic::Download-Upgradeable-Packages 0;
APT::Periodic::AutocleanInterval 0; 2.2 更换清华源 指令 # 备份
sudo cp /etc/apt/sources.list /etc/apt/sources.list.baksudo gedit /etc/apt/sources.list替换为下面内容 # 默认注释了源码镜像以提高 apt update 速度如有需要可自行取消注释
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-updates main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-backports main restricted universe multiverse
deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-security main restricted universe multiverse# 预发布软件源不建议启用
# deb https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse
# deb-src https://mirrors.tuna.tsinghua.edu.cn/ubuntu/ bionic-proposed main restricted universe multiverse再次更新即可 sudo apt-get update
sudo apt-get upgrade2.3 搜狗输入法 安装Fcitx输入框架 sudo apt install fcitx安装deb包 sudo dpkg -i sogou*.deb
#如果上述指令有报错则执行下面一条指令
sudo apt --fix-broken install进入设置-【Region Language】进入【Manage Installed Languages】输入框架改为fcitx然后点击上面的Apply System-Wide应用到全局。 重启登陆后在右上角出现一个键盘标志点击进入选择Configure Current Input Method进入Input Method界面后选择号将下面的Only Show Current Language点掉后在搜索栏搜索sogou选中之后进行添加即可。
2.4 解锁cpu锁频
$ sudo apt install cpufrequtils$ sudo systemctl disable ondemand
$ sudo systemctl enable cpufrequtils
$ sudo sh -c echo GOVERNORperformance /etc/default/cpufrequtils
$ sudo systemctl daemon-reload sudo systemctl restart cpufrequtils# 检查$ cpufreq-info2.5 OpenCV 编译3.4.13版本4.5.1建议备用 default path should be full_project_test/3rdparty/opencv, please don’t modify 参考链接参考网址 # 依赖项
$ sudo apt-get install build-essential
$ sudo apt-get install cmake git libgtk2.0-dev pkg-config libavcodec-dev libavformat-dev libswscale-dev
$ sudo apt-get install python-dev python-numpy libtbb2 libtbb-dev libjpeg-dev libpng-dev libtiff5-dev libdc1394-22-dev
$ sudo apt-get install libavcodec-dev libavformat-dev libswscale-dev libv4l-dev liblapacke-dev
$ sudo apt-get install libxvidcore-dev libx264-dev # 处理视频
$ sudo apt-get install libatlas-base-dev gfortran # 优化opencv功能
$ sudo apt-get install ffmpeg下载opencv下载地址 下载opencv_contrib下载地址 # 将opencv解压到3rdparty文件夹下将opencv_contrib解压到opencv文件夹下
visionvision:~/xy_ws/3rdparty$ cd opencv-3.4.13visionvision:~/xy_ws/3rdparty/opencv-3.4.13$ mkdir build cd build
# 编译
visionvision:~/xy_ws/3rdparty/opencv-3.4.13/build$ cmake -D CMAKE_BUILD_TYPERelease -D CMAKE_INSTALL_PREFIX/usr/local OPENCV_EXTRA_MODULES_PATH../opencv_contrib-3.4.13/modules/ ..visionvision:~/xy_ws/3rdparty/opencv-3.4.13/build$ make
visionvision:~/xy_ws/3rdparty/opencv-3.4.13/build$ sudo make install
# 环境配置
sudo /bin/bash -c echo /usr/local/lib /etc/ld.so.conf.d/opencv.conf
pkg-config --modversion opencv如果默认的opencv3.2不能满足需要则在CMakeLists.txt中用以下方式指定特定版本opencv路径 find_package(Opencv 3.4 REQUIREDPATH /your/path/to/opencv-3.4.13/buildNO_DEFAULT_PATH)2.6 NVIDIA相关驱动
2.6.1 Nvidia pre-settings edit grub file use sudo gedit /etc/default/grub change grub file, notice that don’t input any space beside # old
GRUB_TIMEOUT_STYLEhidden# new
#GRUB_TIMEOUT_STYLEhidden
GRUB_TIMEOUT_STYLEmenu
GRUB_TIMEOUT5sudo update-grub blacklist nouveau driver $ sudo bash -c echo blacklist nouveau /etc/modprobe.d/blacklist-nvidia-nouveau.conf
$ sudo bash -c echo options nouveau modeset0 /etc/modprobe.d/blacklist-nvidia-nouveau.confConfirm the content of the new modprobe config file: $ cat /etc/modprobe.d/blacklist-nvidia-nouveau.conf
# output
blacklist nouveau
options nouveau modeset0Update kernel initramfs, Enter the following linux command to regenerate initramfs: $ sudo update-initramfs -ureboot the machine # 验证nouveau是否已禁用
# 执行下面一条命令没有信息显示说明nouveau已被禁用接下来可以安装nvidia的显卡驱动
lsmod | grep nouveau2.6.2 Nvidia driver
注意RTX 4090等较新的显卡一定要安装较新的驱动老版本已经不支持了 基本依赖 sudo apt install gcc g make build-essential lightdmctrlaltf4进入超级终端 # 在ubuntu下按ctrlaltf1进入命令行界面
# 这个是关闭图形界面不执行会出错。
sudo service lightdm stop# 卸载原有NVIDIA驱动如果卸载完之后仍提示已有相关驱动被检测到请reboot一下再安装
sudo apt-get remove nvidia* 若安装过其他版本或其他方式安装过驱动执行此项# 注意版本对应
sudo chmod ax NVIDIA-Linux-x86_64-418.43.run# 安装选项不能丢只有禁用opengl这样安装才不会出现循环登陆的问题
sudo ./NVIDIA-Linux-x86_64-418.43.run -no-x-check -no-nouveau-check -no-opengl-files #-no-x-check安装驱动时关闭X服务
#-no-nouveau-check安装驱动时禁用nouveau
#-no-opengl-files只安装驱动文件不安装OpenGL文件# 安装期间的选项如下
# The distribution-provided pre-install script failed! Are you sure you want to continue?
# 选择 yes 继续。# Would you like to register the kernel module souces with DKMS? This will allow DKMS to automatically build a new module, if you install a different kernel later?
# 选择 No 继续。# 问题没记住选项是install without signing# 问题大概是Nvidia’s 32-bit compatibility libraries?
# 选择 No 继续。# Would you like to run the nvidia-xconfigutility to automatically update your x configuration so that the NVIDIA x driver will be used when you restart x? Any pre-existing x confile will be backed up.
# 选择 Yes 继续sudo service lightdm start# 可以reboot一下看是否能正常进入系统
# 随后检查驱动是否安装成功
nvidia-smi2.6.3 CUDA ctrlaltf4进入超级终端 sudo service lightdm stop# 请到标题超链接去下载对应版本CUDA的.run包# test nvidia-driver
$ nvidia-smi$ lsmod | grep nouveau
# 若无输出代表禁用nouveau生效可以继续操作。# 注意版本对应标题中450.51.05为该版本cuda所对应的最低显卡驱动的版本
$ sudo chmod ax cuda_11.0.2_450.51.05_linux.run# drivers不安装accept EULA rules
# select cuda Toolkit only! No driver! No samples!
$ sudo ./cuda_11.0.2_450.51.05_linux.run --no-opengl-libssudo service lightdm start$ gedit .bashrc
# cuda 11.0 注意对应关系
export LD_LIBRARY_PATH${LD_LIBRARY_PATH}:/usr/local/cuda-11.0/lib64
export PATH${PATH}:/usr/local/cuda-11.0/bin#保存环境变量
$ source .bashrc#重启电脑
$ reboot# 通过执行以下命令来确定驱动程序的版本
$ cat /proc/driver/nvidia/version# 进入/usr/local/cuda-11.0/Samples目录:
$ sudo make -k
$ cd ~/usr/local/cuda-11.0/Samples/bin/x86_64/linux/release
$ ./deviceQuery2.6.4 cuDNN cuDNN与CUDA的版本对应问题详见cuDNN标题超链接。 $ sudo cp cuda/include/cudnn*.h /usr/local/cuda/include
$ sudo cp -P cuda/lib64/libcudnn* /usr/local/cuda/lib64
$ sudo chmod ar /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*# 可以查看cuDNN版本
cat /usr/local/cuda-11.1/include/cudnn.h | grep CUDNN_MAJOR -A 2
nvcc -V#测试cudnn
cp -r /usr/src/cudnn_samples_v8/ ~
cd ~/cudnn_samples_v8/mnistCUDNN
sudo make
sudo ./mnistCUDNN
# 如果成功运行会显示下列信息Test passed!3. docker相关
# 查看本地所有的镜像
docker images
# 从网络中查找需要的镜像
docker search 镜像名称
# 拉取镜像从Docker仓库下载镜像到本地镜像名称格式为 名称:版本号如果版本号不指定则是最新的版本。如果不知道镜像版本可以去docker hub 搜索对应镜像查看。
docker pull 镜像名称
# 删除指定本地镜像
docker rmi 镜像id
# ***************************************
# 查看正在运行的容器
docker ps
# 查看所有容器
docker ps –a
# 创建并启动容器
docker run 参数
# 参数说明
# • -i保持容器运行。通常与 -t 同时使用。加入it这两个参数后容器创建后自动进入容器中退出容器后容器自动关闭。
# • -t为容器重新分配一个伪输入终端通常与 -i 同时使用。
# • -d以守护后台模式运行容器。创建一个容器在后台运行需要使用docker exec 进入容器。退出后容器不会关闭。
# • -it 创建的容器一般称为交互式容器-id 创建的容器一般称为守护式容器
# • --name为创建的容器命名# 进入容器
docker exec 参数 # 退出容器容器不会关闭
# 停止容器
docker stop 容器名称
# 启动容器
docker start 容器名称
# 删除容器如果容器是运行状态则删除失败需要停止容器才能删除
docker rm 容器名称
# 查看容器信息
docker inspect 容器名称3.0 Ubuntu-docker镜像存放位置
rootwlj569:/var# ls
backups cache lib local lock log mail opt run spool tmp
rootwlj569:/var# cd lib/docker/
rootwlj569:/var/lib/docker# ls
buildkit containers image network overlay2 plugins runtimes swarm tmp trust volumes
rootwlj569:/var/lib/docker# cd containers
rootwlj569:/var/lib/docker/containers# ls
7333ce90a9b664360d8b4a8d2291ff7547c1a732ab7d2bb352372b3bcb33c097
afd2a42978dd83e2ae681fcda8cb1130201a61c3eb601546ba48c57357f7c470
d501ddf0548b1716090712fd37605e6ee59c4923e1882eca4fdc99788b5eaee0# 到/var/lib/docker路径下image下存放下载的镜像containers下存放的是创建的容器均可按需删除
# cd var/lib/docker/
# cd ls
# 删除镜像
# rm d501ddf0548b1716090712fd37605e6ee59c4923e1882eca4fdc99788b5eaee0/ -r 3.1 离线获取docker镜像 在有公网环境下使用 docker pull 命令下载相应的镜像使用docker images 列出所有镜像 liuchendeMacBook-Pro:Downloads liuchen$ docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
mysql latest 102816b1ee7d 3 weeks ago 486MB使用docker save命令对镜像进行打包 liuchendeMacBook-Pro:Downloads liuchen$ docker save -o mysql.tar mysql:latest
liuchendeMacBook-Pro:Downloads liuchen$ ls -trl mysql.tar
-rw------- 1 liuchen staff 490642944 1 23 17:03 mysql.tar将打包好的镜像传送至内网环境的机器使用docker load 命令将镜像加载 liuchendeMacBook-Pro:Downloads liuchen$ docker load -i mysql.tar
Loaded image: mysql:latest现在使用docker images 就可以查出刚才加载的镜像了。
3.2 在线安装docker 安装依赖 sudo apt-get update
# 安装依赖包
sudo apt-get install apt-transport-https ca-certificates curl gnupg-agent software-properties-common下载并安装秘钥以下几种源中任选其一 # 官方源
$ curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
# 中科大源
$ curl -fsSL https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 清华源
$ curl -fsSL https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu/gpg | sudo apt-key add -
# 检查秘钥是否安装成功
$ sudo apt-key fingerprint 0EBFCD88添加安装docker的软件源如果觉得官方源慢的可以选择中科大源和清华源。同样任选其一 # 中科大源
$ sudo add-apt-repository deb [archamd64] https://mirrors.ustc.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable
# 清华源
$ sudo add-apt-repository deb [archamd64] https://mirrors.tuna.tsinghua.edu.cn/docker-ce/linux/ubuntu $(lsb_release -cs) stable安装docker-ce sudo apt install docker-ce
# 验证安装
sudo docker run hello-world3.3 离线安装docker 先决条件 Ubuntu Kinetic 22.10、Ubuntu Jammy 22.04 (LTS)、Ubuntu Focal 20.04 (LTS)、Ubuntu Bionic 18.04 (LTS) Docker Engine is compatible with x86_64 (or amd64), armhf, arm64, and s390x architectures. 卸载旧版本docker sudo apt-get remove docker docker-engine docker.io containerd runc下载离线安装包 前往官网选择对应ubuntu版本进入/pool/stable选择对应系统架构 下载下述deb包并完成安装 containerd.io_version_arch.deb docker-ce_version_arch.deb docker-ce-cli_version_arch.deb docker-compose-plugin_version_arch.deb # This command downloads a test image and runs it in a container. When the container runs, it prints a message and exits.
sudo dpkg -i ./containerd.io_version_arch.deb \./docker-ce_version_arch.deb \./docker-ce-cli_version_arch.deb \./docker-compose-plugin_version_arch.deb
# 验证安装
sudo docker run hello-worldGPU版本还需要安装一些附加环境具体参考GitHub 第三方链接
4. vitis AI 环境搭建流程
4.0 硬件需求 工作站 ComponentRequirementGPU (Optional, but strongly recommended for quantization acceleration)NVIDIA GPU supporting CUDA 11.0 or higher, (eg: NVIDIA P100, V100, A100)CUDA DriverNVIDIA-450 or higher for CUDA 11.0Docker Version19.03 or higher, nvidia-docker2Operating SystemUbuntu 18.04, 20.04CentOS 7.8, 7.9, 8.1, 8.2RHEL 8.3, 8.4CPUIntel i3/i5/i7/i9/Xeon 64-bit CPUAMD EPYC 7F52 64-bit CPU 板卡 ComponentRequirementAlveoU50, U50LV, U200, U250, U280 cardsZynq UltraScale MPSoCZCU102 and ZCU104 BoardsVersalVCK190 and VCK5000 boardsKriaKV260
4.1 工作站配置 配置SSH服务 # 查看当前的ubuntu是否安装了ssh-server服务。默认只安装ssh-client服务。
dpkg -l | grep ssh# 安装ssh-server服务
sudo apt-get install openssh-server# 再次查看安装的服务, 如果看到 openssh-server的字样表示SSH服务已经打开。从输出结果可以看到状态是active(running
dpkg -l | grep ssh# 安装好以后ssh server应该已经开始运行了可以用下面的命令检查ssh server的状态
systemctl status sshd# 需要的时候还可以利用systemctl命令打开(start)/关闭(stop)/重启(restart) ssh server例如下面的命令就可以用来重启ssh server服务
sudo systemctl restart ssh# 使用下面命令查看当前服务器的IP地址
ip addr show
# 获得IP地址后即可在windows中使用ssh进行连接配置NFS服务 后面进行 Linux 驱动开发的时候需要 NFS 启动 sudo apt install nfs-kernel-server
sudo mkdir -p ~/linux/nfssudo gedit /etc/exports
# 添加下一行内容到最后
/home/xuyang/linux/nfs *(rw,sync,no_root_squash)
# /home/xuyang/linux/nfs是要共享的目录*代表允许所有的网络段访问rw是可读写权限sync是文件同步写入存储器no_root_squash是nfs客户端分享目录使用者的权限。如果客户端使用的是root用户那么对于该共享目录而言该客户端就具有root权限。# 重启 NFS 服务
sudo service nfs-kernel-server restart
# 显示出所共享的目录
showmount -e
# 在 nfs 运行的过程中修改了/etc/exports 配置文件可以使用 exportfs 命令使改动生效
sudo exportfs -rv搭建 tftp 服务器 TFTP 作为一种简单的文件传输协议在嵌入式开发中会经常使用到而且后面我们在安装 Petalinux 工具时也会提示需要 tftp 服务所以我们需要在 Ubuntu 上搭建 TFTP 服务器。 sudo apt install tftp-hpa tftpd-hpa
# TFTP需要一个文件夹来存放文件。在根目录下新建一个/tftpboot目录做为TFTP文件存储目录之所以使用该目录是因为后面使用的Petalinux工具默认使用该目录。
sudo mkdir -p /tftpboot
sudo chmod 777 /tftpboot# 配置tftp
sudo gedit /etc/default/tftpd-hpa
# 将内容改为如下5行。TFTP_DIRECTORY就是我们上面创建的/tftpboot文件夹目录以后我们就将所有需要通过TFTP传输的文件都放到该文件夹里面。
# /etc/default/tftpd-hpa
TFTP_USERNAMEtftp
TFTP_DIRECTORY/tftpboot
TFTP_ADDRESS:69
TFTP_OPTIONS-l -c -s# 重启TFTP服务器
sudo service tftpd-hpa restartEnsure your linux user is in the group docker 创建docker group sudo groupadd dockerAdd your user to the docker group sudo usermod -aG docker $USER执行以下命令 newgrp docker
#之后就可以不再使用sudo了输入以下命令进行测试
docker run hello-world添加权限 sudo chown $USER:$USER /home/$USER/.docker -R
sudo chmod grwx $HOME/.docker -R下载Vitis AI 仓库 git clone --recurse-submodules https://github.com/Xilinx/VitisAI
cd Vitis-AI下载最新的vitis AI 镜像 docker pull xilinx/vitis-ai-cpu:latest运行容器 # 每次执行这个命令一定要确认是否新建了docker容器
./docker_run.sh xilinx/vitis-ai-cpu:latest容器跑起来后在具体容器中打补丁 You can install the patches by starting the Vitis AI Docker container, and installing the package to a specific conda environment. For example, patching the unilog package in the vitis-ai-caffe conda environment Vitis-AI /workspace cd /tmp
Vitis-AI /tmp wget https://www.xilinx.com/bin/public/openDownload?filenameunilog-1.3.2-h7b12538_35.tar.bz2 -O unilog-1.3.2-h7b12538_35.tar.bz2
Vitis-AI /tmp sudo conda install -n vitis-ai-caffe ./unilog-1.3.2-h7b12538_35.tar.bz2安装交叉编译环境【此项是在linux系统下安装不是docker容器内】 cd Vitis-AI/setup/mpsocsudo chmod 777 host_cross_compiler_setup.sh
sudo ./host_cross_compiler_setup.sh# 上述交叉编译完成之后按照提示执行下述指令
#Please run the following command to enable Cross Compiler
# source /home/vitis-ai-user/petalinux_sdk_2022.1/environment-setup-cortexa72-cortexa53-xilinx-linux
#If you run the above command failed, run the following commands to enable Cross Compiler
# unset LD_LIBRARY_PATH
# source /home/vitis-ai-user/petalinux_sdk_2022.1/environment-setup-cortexa72-cortexa53-xilinx-linux交叉编译环境默认安装在 ~/petalinux_sdk_2022.1
source环境变量【此项是在linux系统下安装不是docker容器内】 # 每个终端都要source除非添加到.bashrc文件中
source ~/petalinux_sdk_2022.1/environment-setup-cortexa72-cortexa53-xilinx-linux以resnet50为例交叉编译样例。编译不报错生成可执行文件resnet50则说明前面一切正常。【此项是在linux系统下安装不是docker容器内】 cd Vitis-AI/examples/VART/resnet50
bash –x build.sh4.2 板卡配置 下载并设置官方镜像到板卡上 Use Etcher software to burn the image file onto the SD card. Insert the SD card with the image into the destination board. Plug in the power and boot the board using the serial port to operate on the system. Set up the IP information of the board using the serial port. # 查看IP地址
ifconfig# 设置固定的IP地址新建interfaces文件
vi /etc/network/interfaces
# 添加或调整以下内容auto loiface lo inet loopbackauto eth0iface eth0 inet static #static的作用是不需要虚拟机给我自动分配IP地址address 192.168.1.4netmask 255.255.255.0gateway 192.168.1.1# :wq!保存退出# 重启网卡即可
ifdown eth0 // 先关掉
ifup eth0 // 再打开模型部署 模型下载从model zoo中下载原始浮点模型到工作站上以tensorflow resnet50为例。 cd Vitis-AI
wget https://www.xilinx.com/bin/public/openDownload?
filenametf_resnetv1_50_imagenet_224_224_6.97G_2.5.zip -O tf_resnetv1_50_imagenet_224_224_6.97G_2.5.zip
unzip tf_resnetv1_50_imagenet_224_224_6.97G_2.5.zip模型量化工作站docker容器环境内 # 1. 下载标定图片并copy到Vitis-AI文件夹下# 2. 启动docker容器
./docker_run.sh xilinx/vitis-ai-cpu:latest# 3. Set CALIB_BATCH_SIZE in the tf_resnetv1_50_imagenet_224_224_6.97G_2.5/code/quantize/config.ini to 5.# 4. 激活conda仿真环境vitis-ai-tensorflowvitis-ai-tensorflow2vitis-ai-pytorch等
conda activate vitis-ai-tensorflow# 5. 解压标定用图片到指定路径下
tar -xzvf Imagenet_calib.tar.gz -C tf_resnetv1_50_imagenet_224_224_6.97G_2.5/data# 6.改变路径
cd tf_resnetv1_50_imagenet_224_224_6.97G_2.5/code/quantize# 7.量化量化后模型位于tf_resnetv1_50_imagenet_224_224_6.97G_2.5/quantized
bash quantize.sh模型编译工作站docker容器环境内 cd ../..# 路径需要对应更改ZCU102/ZCU104/...
vai_c_tensorflow -f ./quantized/quantize_eval_model.pb \
-a /opt/vitis_ai/compiler/arch/DPUCZDX8G/ZCU102/arch.json -o ./compiled -n resnet50_tf模型部署工作站上 # 复制编译好的模型到板卡对应变更BOARD_IP
[Host]$ scp tf_resnetv1_50_imagenet_224_224_6.97G_2.5/compiled/
resnet50_tf.xmodel root[BOARD_IP]:~# 当然也可以试试直接下载xmodel文件到板卡看是否可以直接运行【先在工作站上下载在scp到板卡上进行解压】
#wget https://www.xilinx.com/bin/public/openDownload?filenameresnet50-zcu102_zcu104_kv260-r2.5.0.tar.gz -O resnet50-zcu102_zcu104_kv260-r2.5.0.tar.gz#scp resnet50-zcu102_zcu104_kv260-r2.5.0.tar.gz root[IP_OF_BOARD]:~/#tar -xzvf resnet50-zcu102_zcu104_kv260-r2.5.0.tar.gz#具体放到板卡哪个路径下需要仔细斟酌
#cp resnet50 /usr/share/vitis_ai_library/models -r下载图片并拷贝到板卡上解压待用用于模型测试板卡上 # 需要确认测试图片是不是放在该路径下与代码内对应
cd ~
tar -xzvf vitis_ai_runtime_r*2.5*_image_video.tar.gz -C VitisAI/examples/VART在板卡上运行编译好的模型板卡上 cd ~/Vitis-AI/examples/VART/resnet50# resnet50可执行文件需要先在工作站上交叉编译再scp到板卡
# 交叉编译指令sh -x build.sh
./resnet50 ~/resnet50_tf.xmodel在ZCU102/ZCU104板卡上运行Vitis AI样例命令 IDExample NameCommand1resnet50./resnet50 /usr/share/vitis_ai_library/models/resnet50/resnet50.xmodel2resnet50_pt./resnet50_pt /usr/share/vitis_ai_library/models/resnet50_pt/resnet50_pt.xmodel …/images/001.jpg3resnet50_mt_pypython3 resnet50.py 1 /usr/share/vitis_ai_library/models/resnet50/resnet50.xmodel4adas_detection./adas_detection video/adas.webm /usr/share/vitis_ai_library/models/yolov3_adas_pruned_0_9/yolov3_adas_pruned_0_9.xmodel5segmentation./segmentation video/traffic.webm /usr/share/vitis_ai_library/models/fpn/fpn.xmodel
4.3 访问板卡方法
串口 波特率115200数据位8停止位1校验位no 以太网 ssh连接方式ssh usernameIP 单机 键盘、鼠标、屏幕直接连到板卡linux GUI桌面可直接显示
4.4 Vitis-AI-Library
与VART不同也有一些测试用例详见GitHub
5. 虚拟机之ubuntu环境配置
5.1 FTP文件传输 这只是虚拟机和主机之间的其中一种文件传输方式更多方式详见【领航者ZYNQ之嵌入式Linux开发指南】文档 虚拟机为服务器Windows为客户端软件FileZilla #如果能联网则装否则不能使用ifconfig命令
# sudo apt install net-tools# ubuntu的FTP服务
sudo apt install vsftpdsudo gedit /etc/vsftpd.conf
# 确保下面两行取消注释去掉文中的#号
# local_enableYES
# write_enableYES# 重启FTP服务
sudo /etc/init.d/vsftpd restart6. 野生办法之在ZCU106板子上配置AI环境 参考链接 第一阶段利用Vitis开发基于ZCU106的神经网络加速器一——Vitis概述及XRT编译第二阶段利用Vitis开发基于ZCU106的神经网络加速器二——DPU编译及Demo前两阶段的综合[Zcu106开发]离线环境下用Vitis搭建Zcu106嵌入式系统神经网络加速器踩坑实录 基本环境 Ubuntu 18.04 18.04.4即可千万不要装18.04.62020.1版本的vitis/petalinux不兼容.6版本Vitis 2020.1 集成vivado该离线安装包贼大30G同时再下载对应Vivado_license_2037.lic文件导入破解petalinux 2020.1Xilinx Runtime 2020.1 期间的大坑前两个如果能联网则忽略 在执行第一阶段期间make all的执行肯定会报错。紧接着在执行make petalinux_proj XSA_DIRxsa dir path命令之前需要先配置petalinux的离线编译环境将所下载的sstate文件包和download文件包解压放到相应位置并通过petalinux-config指令进行配置。随后再重新执行make petalinux_proj XSA_DIRxsa dir path命令。在执行第一阶段期间上述离线编译环境配置完成后还是会报错经过对报错信息的分析发现还是需要再下载一个common并将之放到zcu16_base/petalinux/build/tmp/work/aarch64-xilinx-linux/gst-interpipes/1.0.4-r0/git/common路径下即可。之后make petalinux_proj XSA_DIRxsa dir path命令可顺利执行完成。在执行第二阶段期间第4步make KERNELDPU_SM DEVICEzcu106时报错ERROR: [VPL UTLZ-1] Resource utilization: RAMB18 and RAMB36/FIFO over-utilized in Top Level Design (This design requires more RAMB18 and RAMB36/FIFO cells than...解决办法参考GitHub。在执行第二阶段期间第5步【烧录SD卡】期间可能会涉及到使用FileZilla软件传输sd_card.img文件到Windows系统但请注意【千万不要选用SFTP-SSH File Transfer Protocol】协议否则传输的文件会丢失本来3.3G的文件变成了1.5G…在执行第二阶段期间第7步【测试resnet50】期间指令env LD_LIBRARY_PATHsamples/lib XLNX_VART_FIRMWARE/media/sd-mmcblk0p1/dpu.xclbin samples/bin/resnet50 img/bellpeppe-994958.JPEG执行之前需要先使用cp model/resnet50.elf ./指令正确设置elf模型文件的路径否则会报错经过测试发现该测试用例所推理出的结果是错的 VART之AI算法测试流程 首先使用上述第二阶段最后的测试用例但测试结果与博客中一样出现推理错误的情况 其次上述教程所生成的linux系统镜像很不错。因此我们可以基于此系统在ZCU106评估板上启动linux系统搜集官方的AI算法例程加入其中进行算法的二次开发工作。 之后使用Vitis-AI1.2.1/VART/samples中的AI例程参考Vitis-AI/VART/README.md文件配置相关编译依赖环境。该README.md文件中除了ZCU102/ZCU104官方镜像不能用到ZCU106评估板之外用上述生成的镜像代替其余东西应装尽装包括Optional选项均可以正常安装。 随后将Vitis-AI/VART/samples/路径下的示例一一进行编译后可以直接把整个Vitis-AI工程拷贝到ZCU106评估板进行后续的AI算法测试。 经测试Vitis-AI工程中所提供的适用于ZCU104评估板的AI模型可以直接适用于ZCU106参照README.md文件中./resnet50 model_dir_for_zcu104/resnet50.elf等相关例程直接在ZCU106评估板上运行即可。但其中resnet50_mt_py和inception_v1_mt_py涉及到python3指令运行会报错terminate called after throwing an instance of pybind11::error_already_set具体解决办法未知。但其他cpp的例程交叉编译后在ZCU106上均能正常运行。 拷贝sd_card.img文件到SD卡之后默认并没有完全使用SD卡的64G空间通过MobaXterm的串口进入ZCU106的系统后 # 该部分过程在ZCU106系统内进行
# 查看硬盘及所属分区情况
fdisk -l# 打开磁盘分区管理
sudo fdisk /dev/mmcblk0# 输入 n新建一个磁盘分区
# 输入 p选择主分区
# 输入 3新建分区号为3根据实际情况灵活设置
# 输入 w保存分区表并退出。# 格式化新建的分区3
mkfs -t ext4 /dev/mmcblk0p3# 将之挂载到根目录下灵活调整分区号
mount -t ext4 /dev/mmcblk0p3 /以上扩容办法不行尚未找到解决办法应对措施如下 正常使用balenaEtcher软件烧录到SD卡将SD卡中两个分区中的文件备份出来按照3_领航者ZYNQ之嵌入式Linux开发指南_V2.2.pdf中6.2.10小节内容手动给SD卡重新分区分别将2.小节备份出来的内容分别放回去即可。 运行期间如果想直接把图片/视频在显示器上直观地显示出来参照以下命令 # 方式1使用ZCU106评估板上的DP接口输出图片到显示器HDMI似乎不太行...
export DISPLAY:0.0
# 方式2显示到主机上借助MobaXterm软件需要将setting - X11 - X11 setting - X11 remote access选项改为full。此种方式需要通过SSH方式连接而不是串口。
export DISPLAY192.168.1.3主机IP:0.0# 之后再执行相应算法运行指令即可正常显示图片/视频流。
./resnet50 model_dir_for_zcu104/resnet50.elf# 在服务器上交叉编译可执行文件
cd ~/vitis_wild/Vitis-AI/Vitis-AI-Library/overview/samples/refinedet/# 必须得是.不能用source
. /opt/petalinux/2020.1/environment-setup-aarch64-xilinx-linux
bash -x build.sh#之后将编译好的可执行文件拷贝到ZCU106评估板即可运行 0USB相机 8所开启线程数
cd Vitis-AI/examples/Vitis-AI-Library/samples/yolov4
./exec/test_video_yolov4 /usr/share/vitis_ai_library/models/yolov4_leaky_416_tf/yolov4_leaky_416_tf.xmodel 0 -t 8Vitis-AI-Library之AI算法测试流程参照VART之AI算法流程估计算法也能运行。 Vitis AI DNNDK之AI算法测试流程参照VART之AI算法流程估计算法也能运行。
7. 编译运行Vitis-AI 2.5
7.1 工作站上编译DPU支持的xmodel模型文件
# 在服务器的vitisAI虚拟机上
cd Vitis-AI
# 启动docker环境编译xmodel用交叉编译可执行文件不用这个其只需要source一下sysroot下的环境即可
./docker_run.sh xilinx/vitis-ai-cpu:latest# 以下完全是在docker容器内进行操作
# 根据模型启动对应的conda环境
conda activate vitis-ai-tensorflow2# 将下载好的GPU版本的model拷贝至./model_zoo/model_xy/路径下
cd model_zoo/model_xy/tf2_yolov3_coco_416_416_65.9G_2.5/# 之后依据所下载model压缩包内quantized路径下量化好的模型进行编译生成xmodel模型文件
# 1,416,416,3根据原始模型进行调整
vai_c_tensorflow2 -m ./quantized/quantized.h5 -a ../../../arch.json -o ./compiled/ -n xxx -e {input_shape:1,416,416,3}7.2 ZCU106评估板之gdb调试技巧
# 以下操作均在ZCU106平台进行
cd Vitis-AI/examples/Vitis-AI-Library/samples/yolov4
# 启动gdb
gdbgdbfile exec/test_video_yolov4
gdbset args model/yolo4_tf.xmodel 0 -t 8
gdbrun# 查看某进程是否启动
top | grep yolo进程名8. 报错信息
8.1 运行容器docker_run.sh
# 报错信息
bash /bin/bash^m bad interpreter no such file or directory
# or
line $\r command not found# 解决办法
sed -i -e s/\r$// setup.sh8.2 安装vitis2020.1时没有弹出安装窗口
vitis2020.1/petalinux2020.1官方支持到ubuntu18.04.4因此不要安装.6版本的ubuntu
# 终端报错
exception in thread main java.lang.illegalstateexception: no splash screen availableat java.desktop/java.awt.SplashScreen.checkVisible(Unknown Source)at java.desktop/java.awt.SplashScreen.close(Unknown Source)at com.xilinx.installer.gui.G.b(Unknown Source)at com.xilinx.installer.gui.InstallerGUI.G(Unknown Source)at com.xilinx.installer.gui.InstallerGUI.e(Unknown Source)at com.xilinx.installer.api.InstallerLauncher.main(Unknown Source)# 解决办法野办法
The installer has been tested on my arch OS.1. backup your /usr/lib/os-release.2. replace the file content with:NAMEUbuntu
VERSION18.04.3 LTS (Bionic Beaver)
IDubuntu
ID_LIKEdebian
PRETTY_NAMEUbuntu 18.04.3 LTS
VERSION_ID18.04
HOME_URLhttps://www.ubuntu.com/
SUPPORT_URLhttps://help.ubuntu.com/
BUG_REPORT_URLhttps://bugs.launchpad.net/ubuntu/
PRIVACY_POLICY_URLhttps://www.ubuntu.com/legal/terms-and-policies/privacy-policy
VERSION_CODENAMEbionic
UBUNTU_CODENAMEbionic3. run xsetup4. restore os-releaseGood luck.9. Ubuntu下Conda环境迁移
Conda 提供了多种复制项目环境的方法, 创建环境的克隆可以提供定制的基本环境或该环境的快照。conda-pack 可创建特定于平台和操作系统的环境副本, 可以打包包括软件包二进制文件在内的整个环境这在带宽不足或没有网络的情况下很有用。Conda导出 environment.yml 的方式非常适合在不同平台和操作系统之间重新创建环境, 但需要连接网络 !
9.1 Conda Pack方式
Conda-pack 是一个命令行工具用于打包 conda 环境其中包括该环境中安装的软件包的所有二进制文件。 当您想在没有网络的系统中重现环境时此功能很有用。其他conda打包环境的方法均从其各自的存储库下载软件包以创建环境, 而此方法不需要。注意conda-pack 指定平台和操作系统目标计算机必须具有与源计算机相同的平台和操作系统。
将本地环境打包
# 首先在base环境下安装Conda Pack
pip install conda-pack# 打包环境
conda pack -n [my_env] -o [out_name].tar.gz目标机器内安装环境
在服务器anaconda文件夹的envs目录下创建目标环境文件夹。然后解压即可使用。
cd /home/xuyang/anaconda3/envs/# -p 指可以多级创建目录
mkdir -p [my_env] # -C 后面接文件夹路径
tar -xzf [my_env].tar.gz -C [my_env] # 直接启用python解释器, 使用python而不激活或修复前缀。
# 大多数python库可以正常工作但需要处理前缀的部分将失败。
./[my_env]/bin/python # 激活环境同时这步操作会将路径my_env/bin添加到环境变量path
source ./[my_env]/bin/activate# 在环境中运行python
(my_env) $ python# 从激活环境中清除前缀, 只要机器上已经安装了某个版本的python。
# 此步可先不执行, 看环境是否能正常启动运行. 后续报错的话再回来执行这个!
# [prefix: /home/xuyang/anaconda3/envs/772_track] 只要原机器和目标机器安装路径/用户名等一致, 不执行这个应该不会报错!
(my_env) $ conda-unpack# 此时环境与您在此路径直接使用conda安装的环境完全相同。
# 所有脚本都应该工作正常。
(my_env) $ ipython --version# 停用环境以将其从环境变量 path 中删除
(my_env) $ source my_env/bin/deactivate# 即可查到虚拟环境列表中已经出现了新加入的虚拟环境。
conda env list9.2 Environment.yml方式
使用 -export 选项生成一个 environment.yml 文件以在不同的平台和操作系统之间复现项目环境。 environment.yml 文件不针对特定操作系统并且使用YAML格式。environment.yml 仅列出了软件包名称由 conda 基于软件包的名称构建环境, 目标设备需要能联网。
导出environment.yml文件
# 如果当前路径已经有了environment.yml文件conda会重写这个文件
conda env export environment.yml重现环境
conda env create -f environment.yml10. Ubuntu_server离线安装软件
10.1 ubuntu离线安装ssh-server 查看当前的服务器是否安装了ssh-server服务默认只安装ssh-client服务 dpkg -l | grep ssh首先明确apt和apt-get命令的区别 apt-get在安装软件之前先将所需的安装包下载到本地然后再安装apt命令直接联网安装并不下载。所以可以利用apt-get先下载再安装的特点来收集所需的离线安装包。 apt-get命令将安装包都下载到/var/cache/apt/archives目录下为了避免其他安装包的干扰需要先使用apt clean all命令将该目录下的缓存包清理一下 sudo apt clean all之后检查一下该路径下只剩下lock和partial两个东西 下载所需的deb包到archives路径下【注意一定要用apt-get】 sudo apt-get install -y openssh-server接下来需要把除lock和partial之外的所有deb包下载到U盘然后再到离线的机器上去安装。 传到离线服务器/home/username/ssh_deb目录下直接dpkg -i *.deb即可完成安装。 查看进程是否启动 # 如果看到sshd那说明ssh-server已经启动了。
ps -ef | grep sshd# 如果没有则可以这样启动
sudo /etc/init.d/ssh start
# or
sudo service ssh start10.2 ubuntu离线安装MobaXterm We can use MobaXterm’s portable exe and run it using wine on Ubuntu. MobaXterm portable version could be downloaded from here. 离线安装wine 如果正在运行64位Ubuntu Linux系统以安装Wine则需要首先启用i386架构 dpkg --add-architecture i386使用同9.1的方式安装wine # 先到能联网的机器上执行下述指令一定要用apt-get
sudo apt clean all
sudo apt-get install -y openssh-server# 传输deb包后再到离线服务器上执行下述指令
sudo dpkg -i *.debOnce you have installed wine on your linux distro, you simply need to unzip the file downloaded from the above link (thus revealing the portable exe) and run the exe as wine /path/to/MobaXterm/Portable/exe添加桌面快捷方式 Download MobaXtrem icon and save it on MobaXtrem folder with name icon.jpg Create file .desktop cd /usr/share/applications (Global)
or
cd ~/.local/share/applications/ (Local)
vi mobaXtrem.desktopand past the content对路径进行调整 [Desktop Entry]
NameMobaXtrem
Execenv WINEPREFIX/home/ysellami/.wine wine /home/ysellami/path/to/MobaXterm/MobaXterm_Personal_22.2_Preview2.exe
TypeApplication
Icon/home/ysellami/path/to/MobaXterm/icon.jpg
StartupNotifytrue如果实在装不上就使用最原始的ssh终端方式连接远端设备此外还可以在ubuntu下使用vscode实现MobaXterm的ssh连接功能。 ssh username192.168.1.103
# 其中username为192.168.1.103机器上的用户需要输入密码。
# 断开连接exit