手机扫码接着看

提速9倍!用显卡给你的PixInsight加速吧!

作者: 雅痞张 | 分类:天文资料| 发布:2022年02月09日
关键词(标签):深空摄影 PixInsigh 显卡 CUDA

【特别声明】 本文摘自网络,原文 作者/网站: 雅痞张


前言



在Pi付费版中,我们可以使用内置的StarNet来实现去星点、提取星点蒙版等等操作。StarNet首次在2019年2月发布,利用神经网络计算的方式,来移除图片中的星点,留下纯净的天体照片。

提速9倍!用显卡给你的PixInsight加速吧!

提速9倍!用显卡给你的PixInsight加速吧!   CN论坛上作者初次发布StarNet的帖子


众所周知,在深空图像的后期处理中,如何用合适的蒙版将星点与主体、背景分离处理,是一个非常重要的操作,而StarNet就可以快速做出这样的蒙版

近期以来被各位懵新推崇的EZsuite,其中反卷积缩星都是用到了StarNet来制作星点蒙版

提速9倍!用显卡给你的PixInsight加速吧!

提速9倍!用显卡给你的PixInsight加速吧!  是用EZ脚本的Decon反卷积和Star Reduction都需要使用StarNet

 


为什么是显卡


StarNet在去除星点时,因为需要大量的神经网络计算,所以并不算快。以笔者自己的电脑为例,在使用StarNet对一张4千万像素左右的图像进行处理时,常常CPU所有核心线程都跑满了,仍然需要几分钟到十几分钟的时间。好在StarNet可以使用显卡CUDA加速功能,来帮助我们提高这个效率。

提速9倍!用显卡给你的PixInsight加速吧!

提速9倍!用显卡给你的PixInsight加速吧!  CUDA,图源Nvidia官网

 

说到这里,我们先来做个简单的科普。在早期神经网络训练时,大家用的都是CPU。相比CPU而言,显卡拥有更多的“核心”,更快的内存带宽,RTX3090中有10496个CUDA核心,而Intel i911900k仅有8核心16线程。类似CUDA做StarNet去星点的操作,并不需要很复杂的指令集,而是大量的简单、重复计算工作。这就像让8个年过花甲的老教授和10496个小学生比赛,比赛题目是计算个位数加法,计算完成后要百米跑到操场另一侧交答卷,这些小学生就是显卡GPU,进行简单而多次重复的计算时,他们能取得远快于CPU老教授的成绩。

 


怎么才能用上CUDA呢?


首先,你必须有一张NVIDIA的显卡,AMD显卡并不支持。


CUDA的安装部署是比较麻烦的,而且Nvidia官方并没有像显卡驱动那样,把CUDA对所有用户都开放,需要注册审核之后才可以下载安装部署。就算能通过注册,因为一些众所周知的原因,下载需要的这些材料都非常头疼。


所以在这里,我们将所有CUDA部署需要使用到的文件都放在了网盘中,各位星友在公众号回复“CUDA”或者点阅读原文,就可以下载了(提取码CUDA)。


Step 1:


查询自己的显卡是否支持CUDA。官方网站:https://developer.nvidia.com/zh-cn/cuda-gpus,近几年常见的显卡中,除了GTX1650、1660不支持,其他型号的基本都支持

我们也把常用的GeForce显卡支持情况贴图如下:

提速9倍!用显卡给你的PixInsight加速吧!

提速9倍!用显卡给你的PixInsight加速吧!   支持CUDA的显卡型号及支持版本 图源Nvidia官网


如果你的显卡在以上名单中,那么就可以进入下一步了。

 

Step 2:


下载所需的安装包,并保持电脑处于联网状态


  • cuda_10.1.243_win10_network.exe
  • cudnn-10.1-windows10-x64-v7.6.5.32.zip
  • libtensorflow-gpu-windows-x86_64-2.3.0.zip


下载完成后,将后两个zip文件解压缩备用。


***注意***


RTX30XX显卡使用的文件版本不同,请根据显卡型号自行选择下载。

 

提速9倍!用显卡给你的PixInsight加速吧!


提速9倍!用显卡给你的PixInsight加速吧!   所需要的三个安装包

 

1.     替换DLL
在libtensorflow-gpu-windows-x86_64-2.3.0中,lib文件夹下的tensorflow.dll复制粘贴到Pi安装目录的bin下,默认情况下,Pi安装目录是C:\Program Files\PixInsight\bin,替换源文件。

提速9倍!用显卡给你的PixInsight加速吧!

提速9倍!用显卡给你的PixInsight加速吧!   替换tensorflow.dll,注意红框位置的路径是否正确

 

2.     安装CUDA
打开cuda_10.1.243_win10_network.exe,点击同意并继续,注意这里不要无脑下一步。

提速9倍!用显卡给你的PixInsight加速吧!

提速9倍!用显卡给你的PixInsight加速吧!  安装cuda_10.1.243_win10_network.exe

提速9倍!用显卡给你的PixInsight加速吧!

提速9倍!用显卡给你的PixInsight加速吧!  安装CUDA,注意安装项


选择自定义,在安装的选项中,只安装CUDA -> Runtime -> Libraries,其他都不勾选。点击下一步,建议用默认路径安装即可。
此时CUDA安装程序就开始下载并安装了。安装完毕后关闭即可。

提速9倍!用显卡给你的PixInsight加速吧!

提速9倍!用显卡给你的PixInsight加速吧!  CUDA根据选项执行下载安装,多勾选会导致安装时长增加很多,甚至下载失败。

 

3.     安装cudnn(请耐心等待上一步完成)
打开解压后的cudnn-10.1-windows10-x64-v7.6.5.32文件夹,在里面找到bin和lib两个文件夹,复制到CUDA的安装路径下,如果在上一步没有手动修改的话,默认路径是C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v10.1

提速9倍!用显卡给你的PixInsight加速吧!

提速9倍!用显卡给你的PixInsight加速吧! 复制cudnn下的文件到CUDA文件夹,注意文件路径,如果上一步没有完成,则不会有这个文件夹

 

4.     编辑环境变量


在这里总共有2个环境变量需要编辑,如果你是第一次编辑环境变量,请务必注意每一个操作。


右键“我的电脑”,点击属性,并在接下弹出的窗口左侧打开高级系统设置

提速9倍!用显卡给你的PixInsight加速吧!

提速9倍!用显卡给你的PixInsight加速吧!  编辑环境变量,找到高级系统设置

 

在打开的窗口中找到高级标签,单机右下角“ 环境变量(N)…”,如图所示,在弹出窗口中点击下方的新建。


输入以下信息:


变量名:TF_GEFORCE_GPU_ALLOW_GROWTH


变量值:true

提速9倍!用显卡给你的PixInsight加速吧!

提速9倍!用显卡给你的PixInsight加速吧!  在环境变量中新建变量

 

紧接着,在如图位置找到名为“Path”的选项,双击或点击编辑,在右侧弹出的窗口中,将第二步中安装的CUDA路径复制粘贴于此,默认路径C:\Program Files\NVIDIA GPUComputing Toolkit\CUDA\v10.1\bin

提速9倍!用显卡给你的PixInsight加速吧!

提速9倍!用显卡给你的PixInsight加速吧!  添加Path

 

至此,安装工作全部结束。回到Pi里面验证一下结果吧。

 


看看GPU有多快


为了能看到实际运行的情况,我们在任务管理器中,将显卡的图表显示切换到CUDA。

提速9倍!用显卡给你的PixInsight加速吧!

提速9倍!用显卡给你的PixInsight加速吧!   打开GPU的CUDA状态显示


接下来,进入Pi,跑一个StarNet看看吧。

 

我们分别用两套含有NVIDIA显卡的电脑进行了测试


i7 1165G7 4核心8线程 @2.8ghz VS RTX2060移动版6GB显存

R9 5900X 12核心24线程 @3.7ghz VS RTX3080Ti 12gb显存


这里我们使用了一张Ciel Austral的大麦哲伦星云窄带图像,分辨率14400*14200

提速9倍!用显卡给你的PixInsight加速吧!

使用RTX2060移动版时,在没有使用GPU加速的情况下,CPU占用100%,总共用时19分24.97秒;而使用CUDA的情况下,用时仅3分41.38秒,速度提高了5.27倍

 

提速9倍!用显卡给你的PixInsight加速吧!  RTX2060 使用CUDA情况下,StarNet速度对比


提速9倍!用显卡给你的PixInsight加速吧!

提速9倍!用显卡给你的PixInsight加速吧! RTX3080Ti使用CUDA情况下,StarNet速度对比


使用RTX3080Ti时,在没有使用GPU加速的情况下,总共用时16分04.13秒;964而使用CUDA的情况下,用时仅1分44.98秒,速度提高了9.18倍

 

可以看到,使用GPU加速之后,效果非常明显,喜欢用StarNet和EZ脚本的星友千万别错过。

 


放在最后的话



目前阶段仅有N卡可以使用CUDA,A卡还不支持,不过近期看到Adobe PR之类的软件都在提升对AMD显卡的支持,还是可以期待一下的。而在Pi中,虽然目前支持CUDA的进程仅有一个StarNet,但是大量耗费时间的预处理并不需要人在旁边盯着,相反,使用EZ这类的进程,已经进入后期处理阶段,这时候就能实打实体验“一寸光阴一寸金”了。

当然咯,如果没有一张NVIDIA的显卡,又想体验CUDA,现在完全可以考虑二手Tesla计算卡,在显卡空气时代,老一批的M40、K80这些型号也突然显得很有性价比了。


与此同时,StarNet是需要依赖深度学习训练才能有效运行的,大佬还可以使用Python,自己动手炼丹,训练更适合自己设备图片的模型。


最后嘛,就算不用StarNet,也可以尝试捣鼓一下,要不然买个显卡总有人说你臭打游戏的,多没面子。


END

作者 / 雅痞张    编辑 / 冬夏恒久



关键词(标签):深空摄影 PixInsigh 显卡 CUDA


09 02月

2022-02-09 16:07:03

浏览1629 评论0
返回
目录
返回
首页
深空摄影后期电脑装机指南 Windows11当前不支持该处理器 Win11绕过硬件限制的方法