2022年12月

        这还真是为了一碟醋,包了一盘饺子。
        Disco Diffusion这个AI绘画项目提供了无限可能,奈何通常情况下的在线运行要解决连接谷歌服务器的问题,此前从GITHUB上下载了这个开源项目的python脚本和对应的模型,用我的XPS13上的VSCODE调通跑起来了。由于没有N家的独立显卡,只能用CPU运行,奈何六代酷睿和8G的内存实在支撑不起这样的运算,out of memory是必然的结果。我不打游戏,又听闻现在的显卡涨价得没有天理,于是在D版收了一块Nvidia Tesla M40的二手计算卡,收了才发现我得有个PCI 16X的插槽来安装它,而我已经不用台机十多年了......可以用雷电口的外置显卡,然而一个外置显卡坞并不比一台便宜的台机便宜,且通过雷电口连接由于通信速率的关系实际算力还要打个对折,所以这次双十一,用1600左右拼了一台5600U的台机。
        组装这台机器也算是命运多舛。拼起来上电主板呼吸灯能亮,但CPU风扇总是转一会就停,显示屏不亮,刷BIOS、拔电池、换内存卡槽都不行,不知哪儿出了毛病,好在CPU和主板是在一家买的,干脆打包发回去请他们检测,结果回复是好的。重新装机还是不行,反复实验才发现是SATA口的SSD我只插了数据线没有插电源线......开机了也装了系统,但经不住京东便宜NVME SSD的诱惑,买了一条重装系统又折腾半天。用M40的计算卡要解决三个问题:一是这块卡的电源接口是CPU接口定义,接电源的显卡头要转接线;二是原卡无风扇,是借助服务器中的高速暴力风扇散热的,装机还得增加散热风扇,去掉原装散热器上显卡用三风扇工程太大,最终用的是3D打印的风道风扇,只是装上后显卡通长达到320mm以上,一般机箱可能没有那么长;三是装驱动,这倒是最简单的,无非是最后在终端界面中用nvidia-smi -dm 0将卡的工作模式改为WDDM。
        VSCODE跑Disco Diffusion也是经过了一番调试。从Github上把整个项目克隆下来后,原来是运行python脚本,后来发现VSCODE可以直接运行谷歌笔记本文件,也就是.ipynb文件,这个笔记本文件和网页上显示的格式相同,十分方便于理解和修改。本地运行完全可行,安装相应的模块和依赖即可,只是其中有两个大坑:一是调试时会提示infer模块,但你用pip安装infer模块后仍然报错,原因是这个infer是AdaBins中的,要将源代码中的from infer import InferenceHelper 改为from AdaBins.infer import InferenceHelper ;二是相同的问题,from midas.dpt_depth import DPTDepthModel等四个语句都要改为from MiDaS.midas.dpt_depth import DPTDepthModel等,增加MiDaS.
        本地跑确实随心所欲,就是风扇有点响,处理还是有点慢。这个脚本还是十分消耗GPU算力的,启用第二模型时可以算到19201088的尺寸,此时大约60-70分钟一张,但是不启用第二模型时10241024都会出现out of memory。动画处理尤其慢,我跑了50个小时还没算完200帧的720P动画,而且从150帧以后,画面变暗,不知是否算法缺陷缘故。

TimeToDisco(2)_0.png
TimeToDisco(2)_5.png
TimeToDisco(2)_8.png
TimeToDisco(2)_9.png
FutureWorld(0)_0.png
FutureWorld(12)_0.png
FutureWorld(14)_0.png
FutureWorld(14)_6.png
FutureWorld(14)_11.png
FutureWorld(16)_0.png
FutureWorld(16)_2.png
FutureWorld(16)_4.png
FutureWorld(16)_7.png
FutureWorld(16)_9.png
FutureWorld(17)_0.png
FutureWorld(17)_1.png
FutureWorld(17)_7.png
FutureWorld(17)_9.png
FutureWorld(18)_0.png
FutureWorld(18)_4.png
FutureWorld(19)_0.png

        雪岭是我的十峰攀登的最后一座山峰,在年度心愿表中已经趴了两年。总没有完成的原因很多很多,一开始是让人精神高度紧绷的孩子三年高考陪读让人无暇他顾,后来是相约一起攀登的朋友遥遥无期的长期出差,然后是朋友儿子娶妻的婚宴,终于抱团却因人数不足取消......一度让我以为老天爷是不想让我爬这座山,或是这座山有可能是我人生的终点?终于排除所有阻碍,和一群陌生人一起踏上登山旅途,已是2022年近收官之时。
        爬山的起点是新碳房村,海拔2679米,终点是雪岭火峰,海拔4344米,返回时手表显示实际升降2000余米。同行7个人,6人租了马骑到大本营,可以减少1000米左右的攀登,只有我和领队的小伙子全程徒步。路程不长,来回仅仅12公里,但是单边6公里要上升2000米,基本没有平路,持续的海拔提升让体力很快达到极点。一直以为雪岭的路很不好找需要向导,其实一直到冲顶之前的大本营都有明显的马道,跟着马道就进行,就是在一面又一面又长又陡的向阳面坡上不停攀登、攀登,上坡还好,回程下坡时简直绝望。大本营是一块平整的空地,往上就是那个令人闻之色变长而陡的碎石坡,被渲染得有生命危险,其实远远没有那么可怕。用好双杖,脚尖用力,找到落点,虽然会滑,会摔,但碎石往下滚不了多远,基本不可能滑摔到生命危险那个程度。下山时走碎石坡旁那面大石板,干燥天气下更不容易打滑,但如果摔了要更危险一些,体力不支情况下不要尝试。碎石坡之上就是钢索防护的一段了,其实没有钢索也完全能够过去,小心一点就行,拉着钢索更安心一点而已。没有什么难度,再往上就是峰顶了。
        有关登顶的一切感受都是陈词滥调。所有的山峰都趴在你的脚下,所有的云海都在远方展开,这样的感受似乎对于每一座山峰都一样,但其实也并不一样。你吃的苦越多,费的劲越大,看到的风景就越壮阔,你的心灵就更平静。攀登至此,已经不会再有“我这是干嘛啊给自己找罪受我真是有病啊”这样的自我诘问,你只知道,你想做的,终将实现。

雪岭08.jpg

雪岭09.jpg

雪岭10.jpg

雪岭11.jpg

雪岭12.jpg

雪岭13.jpg

雪岭14.jpg

雪岭01.jpg

雪岭02.jpg

雪岭03.jpg

雪岭04.jpg

雪岭05.jpg

雪岭06.jpg

雪岭07.jpg