在本教程中,我将引导您完成所有步骤,并演示如何在Windows 10(WSL)上安装Ubuntu,如何设置用于试用PULSE的环境,上传另一张原始照片并获得了不错的效果。
变形动画和视频教程-进一步。
给了我们什么
Face-Depixelizer是使用PULSE的前端。
PULSE是基于StyleGAN神经网络的引擎。它的含义是从模糊的照片中还原人脸的图像。顺便说一句,这是一个科学工作的CFV。
StyleGAN是NVidia产生的对抗神经网络,它生成不存在的人的随机面孔(实际上,如果这样的人已经存在,这将很有趣)。最后,
PULSE将大致告诉我们这张照片中眨眼的那个人的样子!
承担脉冲
我想知道PULSE的背后是什么,总的来说,它如何在本地启动。
出于兴趣,在对角地看了一篇科学文章之后,我开始思考如何开始以及如何建立所有这一切(尽管我从未为自己设定“神经网络”这一事实)。
我首先说,在github崩溃之前(如果您知道我的意思),我切换到了PULSE项目。作者指出该安装选项的位置:anaconda和python。那些。无论如何,都需要特定于平台的软件包(库)。我更是Windows用户,而不是Linux。但是,尽管如此,我还是希望在运行时无需编辑和繁琐的库选择。如果没有Linux,这是无法完成的。
前一段时间,一些IT专家正在谈论Windows中的Linux。我会告诉你的,对我来说是徒劳的。事情很方便,尽管尚未完成。
WSL是Windows的Linux子系统,允许开发人员直接在Windows上运行GNU / Linux环境,包括大多数命令行程序,实用程序和应用程序,而无需进行任何修改,从而不需要单独的虚拟机。
那些。这是从Windows访问Linux命令行。使用Linux的终端与cmd一样容易启动。方便。
让我们开始吧
要使用终端,请在此处和视频中使用Windows终端(来自Windows Store)。
简而言之
检查要求
- 支持CUDA的NVidia视频卡(StyleGAN神经网络使用CUDA)。此处支持的视频卡列表
- NVidia CUDA WSL2 ( , ).
- Windows 10 version 2004 build 20150 ( Windows Insider Program ), .
- WSL2 (4.19.121 ; Windows) linux .
- Ubuntu 18.04 WSL2 Windows Store.
Ubuntu
- cmake
- unzip,
- NVidia CUDA Toolkit.
CUDA
下载并安装 anaconda。
安装PULSE
- 从github PULSE 下载
- 编辑pulse.yml:
- 添加频道anaconda,conda-forge
- 删除对特定程序集的引用
- 使用编辑后的文件安装PULSE环境
- 在Python中检查 Pytorch和CUDA Toolkit 的性能。
实验中
- 使用pip将 Jupyter Notebook 更新到最新版本
- 调整图像(他们写道,PULSE适用于1024 * 1024的正方形图像和三个RGB通道,即没有透明度)
- 我们增加/减少步数和错误
- ...
- 利润!
上面是从中间图像创建的变形动画。
俗话说:“看一次比听一百次更好”。该视频显示了所有步骤,从更新WSL2开始和安装Ubuntu。
现在…
更多细节
要求
我将再次重复要求(...,并在进行第100次编辑后,我将第100次记得福勒):
- Windows 10版本2004内部版本20150或更高版本
- WSL2(4.19.121及更高版本)
- 适用于WSL2的Ubuntu 18.04是Windows应用商店中的发行版。在所有Windows 10 Insider更新前滚后安装,包括。WSL2
- NVidia驱动程序WSL是驱动程序的实验版本,支持新版本的WSL2。需要获得参与NVidia实验计划的同意。但是并非每张卡都能工作。
操作系统准备
Windows 10
目标:Windows 10版本2004内部版本20150及更高版本的
预处理:
- 启动更新
- 然后,使用该应用程序
winver
,检查Windows的当前版本。 - 如果您的Windows版本低于Windows 10版本2004内部版本20150,则您需要执行以下步骤
- 如果一切正常,那么恭喜,您不必加入Windows Insider程序!随时进入下一阶段!
我们的工作:
- 进入Windows Insider程序
- 此外,在系统参数“更新和安全”中:
- 内部程序选项卡(如果为空白,请参见下面的“疑难解答”部分):
- 评估选项:抢先体验
- 点击“开始”。
- Windows Update选项卡:
- 在“高级”中,确保允许“在更新时可以接收其他Microsoft产品的更新”(这是用于安装WSL2 4.19.121及更高版本)
- 我们正在更新。
- 内部程序选项卡(如果为空白,请参见下面的“疑难解答”部分):
检查:启动
winver
。在打开的对话框中,查看版本。
NVidia驱动程序CUDA WSL
目的:安装最新版本的NVidia驱动程序CUDA WSL
我们该怎么做:
- 转到页面
- 如果您尚未注册,我们将进行注册;同意参加实验计划
- 下载并安装。
验证:将处于“ CUDA可操作性检查”阶段
WSL2
目标:WSL2 4.19.121和更高版本的
预处理:
- 我们将Windows更新为Windows 10版本2004内部版本20150及更高版本(如果未按照上述步骤更新)
- 如果在终端中执行后:
帮助的内容将显示(lawsl --update
wsl --help
),那么您使用的是旧版本。然后继续执行以下步骤 - 如果显示的版本为4.19.121及更高版本,则我们跳过此阶段。
我们的工作:
- 以管理员身份启动PowerShell并按顺序执行:
- 我们包括附加组件“ Linux的Windows子系统”:
dism.exe /online /enable-feature /featurename:Microsoft-Windows-Subsystem-Linux /all /norestart
- 然后,启用“虚拟机平台”组件:
dism.exe /online /enable-feature /featurename:VirtualMachinePlatform /all /norestart
- 我们重启。
- 我们包括附加组件“ Linux的Windows子系统”:
- 更新WSL:
wsl --update
- 接下来,我们安装第二个版本的WSL-作为所有将来发行版的默认版本:
为此,请以管理员权限启动PowerShell并执行:
wsl --set-default-version 2
检查:命令:
wsl --update
[安装更新后]将显示4.19.121及更高版本。
WSL2上的Ubuntu 18.04
目标:预先在WSL2上
进行 Ubuntu 18.04的安装:如果先前已在Ubuntu 18.04上安装了WSL(如果我没有测试以下分支,但是如果您在注释中指定,谁会受到帮助将是很好的):
- 我们在列表中检查它:
wsl --list --all -v
- 对于此分发,将WSL版本切换到版本2:
wsl --set-version Distro 2
例如:
wsl --set-version Ubuntu-18.04 2
- 我们重启。
我们的工作:
- 转到Windows应用商店
- 我们正在寻找Ubuntu 18.04并安装
检查:打开终端,执行:
wsl --list --all -v
看到
Ubuntu 18.04 Version 2
准备Ubuntu
预备
- 更新包索引:
sudo apt update
- 安装cmake(安装dlib):
sudo apt install cmake
- 要解压缩zip归档文件,请安装例如unzip实用程序:
sudo apt install unzip
安装CUDA工具包
- 将CUDA添加到包索引中:
sudo apt-key adv --fetch-keys http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64/7fa2af80.pub sudo sh -c 'echo "deb http://developer.download.nvidia.com/compute/cuda/repos/ubuntu1804/x86_64 /" > /etc/apt/sources.list.d/cuda.list' sudo apt update
- 安装CUDA工具包:
sudo apt install -y cuda-toolkit-11-0
检查CUDA工具包的性能
为此,请运行示例(deviceQuery程序可提供信息):
- 正在下载:
wget https://github.com/NVIDIA/cuda-samples/archive/master.zip
- 解压缩:
unzip master.zip
- 继续构建(一切):
make
- 跑:
./bin/x86_64/linux/release/deviceQuery
该应用程序将显示兼容设备的列表。
安装Anaconda
- 从链接下载发行版
- 跑:
bash Anaconda3-2020.02-Linux-x86_64.sh
在安装过程中:
- 同意许可
- 我们离开PREFIX
- 我们同意初始化
- 重新启动终端,或运行:
source ~/.bashrc
在Anaconda中设置环境
配置PULSE
- 正在下载:
wget https://github.com/adamian98/pulse/archive/master.zip
- 解压缩:
unzip master.zip
- 创建pulse.yml的备份:
cp pulse.yml pulse.yml.bak
- 修复pulse.yml:
- 添加渠道(这些是软件包来源):
- 康达伪造
- 水蟒
- 我们会删除该程序包特定版本的所有参考。
示例:从行“zstd=1.3.7=h5bba6e5_0
”中删除最后一个以等号“ ”开头的部分=h5bba6e5_0
。结果,我们得到“zstd=1.3.7
”。
我们通过手工或通过sed实用程序来完成:
sed '/==/b; s/=\([^=]*\)$//' pulse.yml > pulse1.yml
: , , "==", regexp
- 添加渠道(这些是软件包来源):
-
pulse1.yml
:
conda env create -f pulse1.yml
- , -
NotResolverPackage
.libfortran 3.0.1
:
- conda libfortran
- Anaconda Cloud Files (3.0.1), , , osx-64
- Anaconda Cloud, cloud-forge 3.0.0-1 linux-64. !
- pulse1.yml
libfortran=3.0.1
libfortran=3.0.0=1
- :
conda env create -f pulse1.yml
- , !
- 如果需要其他软件包,请务必注意频道,必要时添加。
- 我们正在等待它的安装
- 然后我们激活:
conda activate pulse
在python中检查Pytorch和CUDA 的性能
- 该脚本:
from __future__ import print_function import torch x = torch.rand(5, 3) print(x)
应该输出如下内容:
tensor([[0.3380, 0.3845, 0.3217], [0.8337, 0.9050, 0.2650], [0.2979, 0.7141, 0.9069], [0.1449, 0.1132, 0.1375], [0.4675, 0.3947, 0.1426]])
- 还有这个:
import torch torch.cuda.is_available()
将输出:
True
从理论上讲,现阶段可以停止。但是我继续并安装了jupyter笔记本进行实验。
Jupyter Notebook是用于交互开发和展示数据科学项目的强大工具。
使用PULSE
让我们开始吧
- 我们激活脉冲环境:
conda activate pulse
- 安装木星:
pip install jupyter
- 跑:
并进一步:jupyter notebook
- 创建一个新笔记本New-> Python3(笔记本)
- 从文件中粘贴代码
- 我们将源文件放入项目的根目录,将其重命名为source.png:
cp /mnt/c/Users//Desktop/face1.png source.png
- 我们启动。我们等
笔记
- , 500-800, eps
- :
- , , 1024*1024
- PNG
- (RGB) RGBA
- : "
Could not find a face that downscales correctly within epsilon
", :
steps \ eps, , (steps), eps L2. .
:
BEST (400) | L2: 0.0013 GEOGROSS: | TOTAL: | time: ...
(指定的)已实现的步骤数(400)是哪里,L2是感兴趣的值,它必须小于指定的eps(据我所知,这是优化的准确性; AI开发人员同志,请告诉我它是什么?)
因此,例如,您需要增加一项或全部:步骤(输入大于400)和\或eps(输入eps = 0.0013或更多,即应使eps> = L2) ...
- 如果要查看每个步骤的中间照片,请添加参数
-save_intermediate
图像保存到文件夹runs/
:在文件夹中HR
-高分辨率,在文件夹中LR
-低分辨率)
可能的问题如下。
解决问题
如果您不仅遇到错误,而且还解决了错误,请在这里添加。
Windows Insider程序中的白屏
选项:您在另一个用户下,您没有足够的特权。
解决方案:请参阅链接。但是我无需更改注册表即可解决它。
CUDA示例无法开始
选项:
- 不支援您的显示卡
- 您尚未推出最新的WSL2
- 您尚未安装NVidia驱动程序CUDA WSL的最新(实验)版本。
启动时jupyter notebook
引发错误
错误:
Start : This command cannot be run due to the error: The system cannot find the file specified.
解决方案:将连接字符串复制到浏览器(我不理解其他解决方案)。
启动PULSE时,错误不断出现
错误:
Google Quota Exceeded
解决方案:从我这里复制源文件,然后将其扔到根目录-缓存文件夹中(如果不存在,请创建它)。
要么:
- 使用第一个Google链接从PULSE.py下载文件
- 使用模板md5hash _synthesis.pt 重命名,其中md5hash是下载文件的md5哈希值(在当前版本中为
6b943ee69b8491ac40e8e9ced6175659_synthesis.pt
) - 我们将其扔到缓存文件夹中(如果它不在PULSE所在目录的根目录中,则创建它)
启动PULSE或检查Pytorch时引发错误
错误:
ModuleNotFoundError: No module named 'torch'
解决方案:如果您检查了pytorch并可以正常工作,则表明您尚未激活脉冲环境。为此,请运行以下命令:
conda activate pulse
结论
下一步是研究StyleGAN和其他基于它的“神经网络”。
我很高兴阅读您对本文的评论,建议(包括介绍,因为这是我的第一篇公开文章),修正案。
谢谢大家的阅读!