跨模态神经搜索实践VCED 环境准备

跨模态神经搜索实践VCED 环境准备

本文基于WSL2及docker进行环境搭建

安装和配置WSL2 Ubuntu发行版

安装WSL2 Ubuntu

相关安装命令:

  • wsl --install:默认安装Ubuntu发行版
  • wsl --list --online:查看可支持的发行版本
  • wsl --install -d :自定义安装想要的版本
  • wsl --unregister :注销或卸载指定Linux发行版
  • wsl --setdefault :设置默认启动和安装的发行版

其它WSL命令参考链接

补充:如果觉得命令麻烦,可以在Microsoft Store中搜索Ubuntu安装WSL2 Ubuntu

笔者踩坑:笔者在使用命令行安装Ubuntu时,发现没法打开,即使重启多次仍然无用,在使用Microsoft Store安装Ubuntu时,出现错误,在启用或关闭Windows功能中重新安装适用于Linux的Windows子系统

跨模态神经搜索实践VCED 环境准备_第1张图片

设置Linux用户信息

在开始菜单中打开安装的发行版(笔者这里是Ubuntu),第一次打开需要设置相关用户名和密码即可。

如果忘记密码,可以使用wsl -d ubuntu -u root进行指定发行版,使用passwd <用户名>即可修改密码。

这里还可以设置发行版的wsl版本,通过wsl --set-version 设置

更换国内源

  • 备份源文件:sudo cp /etc/apt/sources.list /etc/apt/sources.list.bak
  • 修改源文件:sudo vi /etc/apt/sources.list,删除原文件内容,可以直接输入49dd
  • 修改为国内源:内容如下
deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse 
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
  • 换源:sudo apt-get -y update && sudo apt-get -y upgrade

配置VSCode和WSL2

在VSCode中安装WSL2的扩展,笔者选择的是WSL,而非官网中推荐的Remote Development。

安装好后,即可在WSL2 Ubuntu中输入code .命令,使用用本机上的VSCode打开WSL2中当前文件夹。

这里需要注意,如果需要支持代码智能提示、自动编译等功能,需要在每个WSL2中安装对应的插件,但是如VSCode的主题,只需要在本机上的VSCode上安装插件即可。

也就是说,VSCode将本地和远程(WSL2)上的插件分开,需要按需进行安装,如下图:

跨模态神经搜索实践VCED 环境准备_第2张图片

配置WSL2和Docker容器

在WSL2中安装Docker有两种方式:

  • 基于Windows下的Docker Desktop安装:官方使用的方式,详见链接
  • 基于原生Linux安装:不推荐,笔者尝试失败,笔者参考链接

基于原生Linux安装(失败)

这里笔者因为不想在Windows本机上安装Docker,选择第二种方式

  • 安装daemonize
sudo apt install daemonize
sudo apt install -yqq fontconfig daemonize
  • 创建一个脚本:sudo vim /etc/profile.d/00-wsl2-systemd.sh
# Create the starting script for SystemDvi /etc/profile.d/00-wsl2-systemd.sh
SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
if [ -z "$SYSTEMD_PID" ]; then   
  sudo /usr/bin/daemonize /usr/bin/unshare --fork --pid --mount-proc /lib/systemd/systemd --system-unit=basic.target   
  SYSTEMD_PID=$(ps -ef | grep '/lib/systemd/systemd --system-unit=basic.target$' | grep -v unshare | awk '{print $2}')
fi
if [ -n "$SYSTEMD_PID" ] && [ "$SYSTEMD_PID" != "1" ]; then 
   exec sudo /usr/bin/nsenter -t $SYSTEMD_PID -a su - $LOGNAME
fi
  • 安装依赖:
sudo apt-get update && sudo apt-get install apt-transport-https ca-certificates curl software-properties-common
  • 添加docker官方密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
  • 添加docker镜像地址:
### 添加 Docker apt 仓库
sudo add-apt-repository \
  "deb [arch=amd64] https://download.docker.com/linux/ubuntu \
  $(lsb_release -cs) \
  stable"
  • 安装docker:
sudo apt-get update && sudo apt-get install containerd.io   docker-ce   docker-ce-cli -y
  • 配置docker:sudo mkdir /etc/docker && vim /etc/docker/daemon.json
{
  "registry-mirrors": ["https://docker.mirrors.ustc.edu.cn/", "https://hub-mirror.c.163.com/", "https://reg-mirror.qiniu.com"],
  "exec-opts": ["native.cgroupdriver=systemd"],
  "log-driver": "json-file",
  "log-opts": {
    "max-size": "100m"
  },
  "storage-driver": "overlay2"
}
  • 启动docker:
sudo mkdir -p /etc/systemd/system/docker.service.d

基于Docker Desktop安装

从官网下载docker desktop即可,安装时勾选WSL2即可在WSL2中使用docker

环境准备

基于docker-compose

这里可以直接基于docker-compose启动项目,这里配置的docker国内镜像源如下:

"registry-mirrors": [
	"https://registry.docker-cn.com",
    "https://hub-mirror.c.163.com/",
    "https://reg-mirror.qiniu.com"
  ]

在Docker Desktop中修改镜像源的方式如下图:

跨模态神经搜索实践VCED 环境准备_第3张图片

构建项目:docker-compose build

启动项目:docker-compose up -d

基于源代码构建

为了方便管理多个python版本,这里在WSL2中基于miniconda构建整个项目

  • 安装miniconda,安装完成后,需要重启终端
wget https://repo.anaconda.com/miniconda/Miniconda3-latest-Linux-x86_64.sh
bash Miniconda3-latest-Linux-x86_64.sh
  • 新建虚拟环境:conda create --name vced python=3.9 -y
  • 启动虚拟环境:conda activate vced
  • 安装依赖:sudo apt install rustc ffmpeg -y
  • 安装clip:pip install git+https://github.com/openai/CLIP.git

启动server

cd code/service
pip install -r requirements.txt
python app.py

启动web

cd code/web
pip install -r requirements.txt
streamlit run app.py

访问localhost:8501即可,最终效果如下图:

跨模态神经搜索实践VCED 环境准备_第4张图片

References

  1. WSL 安装
  2. WSL安装及换源
  3. WSL原生安装Docker
  4. VCED项目启动

你可能感兴趣的:(深度学习,pytorch,深度学习实战,ubuntu,linux,windows)