0%

创建阿里云PAI DSW实例跑kohya

镜像我这里选:

dsw-registry-vpc.cn-shanghai.cr.aliyuncs.com/pai/modelscope:1.10.0-pytorch2.1.0tensorflow2.14.0-gpu-py310-cu118-ubuntu22.04
我这里用默认的镜像,实测截至2024.01.10时,直接拉kohya的github可以直接用,不需要改动cuda之类的操作

安装kohya_ss

kohya_ss仓库地址:
https://github.com/bmaltais/kohya_ss
kohya_ss是个webui训练器,SD web_ui里也有对应的Dreambooth训练插件移植,如果只拿来训练不需要跑完整的sd webui服务,只需要kohya就可以了,kohay也可以练lora
在workspace根目录直接:

1
git clone https://github.com/bmaltais/kohya_ss.git

阅读全文 »

阿里云的AI白票试用还是很香的,b站顺便一搜有很多教程,跑个lora训练或者SD webui之类的
但难免会遇到要拉更新之类的情况,github和huggingface.co速度慢或者连不上去也经常遇到,除了使用镜像站以外,还有可以使用代理来加速

先通SOCKS5!

安装ss

先贴上需要用到的软件github:
https://github.com/shadowsocks/shadowsocks-libev

以及大概解释了什么是ss2,ss-go,ss-libev
https://shadowsocks5.github.io/en/spec/Implementations.html

在云端实例命令行下,需要个尽可能简洁小巧又好用的工具,ss-libev可能会是我们的首选,ss-libev是一个轻量级安全 SOCKS5 代理,适用于嵌入式设备和低端设备,用纯 C 编写,体积小巧比较高效
我的云计算镜像是基于ubuntu22.04的
要安装它,直接

1
2
sudo apt update
sudo apt install shadowsocks-libev

配置ss

然后编辑设置:

1
2
# Edit the configuration file
sudo vim /etc/shadowsocks-libev/config.json
阅读全文 »


事先:我是用路由拨号所以家里已经有外网直连IP,且配置了DDNS和端口转发,所以一个域名即可连上NAS
另外我的群晖是DS720+,是块X86intel的CPU,所以和PC一样用X86的容器镜像就可以,如果是ARM机NAS应该是不通用的

所用镜像:https://hub.docker.com/r/garethflowers/svn-server
备选镜像(看起来也很不错,拉取次数也过1M:https://hub.docker.com/r/elleflorio/svn-server

SVN网站:https://subversion.apache.org/

参考:
https://blog.51cto.com/u_12701820/6544028

准备镜像


由于在群晖的ContainerManager里直接添加镜像不能,应该是要配个docker的镜像站加速或者整个NAS在梯子环境里,懒得整了,我这次选择PC上保存镜像包再拖来NAS里用的形式,个人感觉更方便些

先在PC上拉个镜像,直接

1
docker pull garethflowers/svn-server:latest

然后把镜像打包成文件

1
docker save -o svn-server.tar garethflowers/svn-server:latest
阅读全文 »

计费文档:
https://help.aliyun.com/document_detail/447697.html

定价标准:

vCPU单价(vCPU):0.000049 元/秒
内存单价(GiB): 0.00000613 元/秒

所以可知:

规格 分钟 小时
每1u 0.00004900 0.00294 0.1764 4.2336 127.008 1545.264
每1G内存 0.00000613 0.0003678 0.022068 0.529632 15.88896 193.31568

eci价格计算:

实例规格 分钟 小时
0.25u 0.5G 0.00001532 0.0009189 0.055134 1.323216 39.69648 482.97384
0.5u 1G 0.00003063 0.0018378 0.110268 2.646432 79.39296 965.94768
2u 4G 0.00012252 0.0073512 0.441072 10.585728 317.57184 3863.79072
2u 8G 0.00014704 0.0088224 0.529344 12.704256 381.12768 4637.05344
4u 8G 0.00024504 0.0147024 0.882144 21.171456 635.14368 7727.58144
64u 256G 0.00470528 0.2823168 16.939008 406.536192 12196.08576 148385.7101

一秒0.0047元很便宜吗?一月要1.2w!可以说被安排得明明白白了

一口气步子迈得有大,慢慢记录一下,如果你碰巧看到这个文章,希望这个文章的某些部分对你有帮助,来源我已尽量在文章中标出,还有很多部分是自己敲的

了解ECI弹性容器:https://www.aliyun.com/product/eci
了解阿里云NAS文件存储:https://www.aliyun.com/product/nas

为什么要用eci来运行hexo?
因为好玩,同时来学习从pull到发布到运行整个docker镜像的流程,也想给自己的hexo博客找个新家,酷酷的那种
本博客之前是由树莓派上的hexo生成,部署到github上的
最近在捣鼓docker,一时想不起来有什么灵活小巧的服务拿来用docker玩,那么想着干脆把树莓派上hexo这部分服务做成镜像,需要用的时候拿出来用用想必是极好的(这么一来好像树莓派又要吃灰了)
恰巧最近又在琢磨阿里云ECI容器服务,所以理论上是可以用我自己打包好的镜像的
最后成品的结构大致如下图:

这里挂了3个镜像:
1.node.js+git+ssh+hexo
主要是此镜像——由node.js+hexo组成的运行hexo环境,用过的都了解hexo是基于node.js的,每次我们生成文章的时候都会hexo g -d,而运行这套需要一个环境容器
git和ssh主要是部署在github上用的,同时我习惯用VSCode的SSH FS来管理远程文件和写博客,主要是ssh连接,也方便我拿PuTTY和WinSCP远程登录管理
2.vsftpd
一个常用的ftp服务,我是在本地些完再上传的,用这个是因为我发现如果要给文章插入图片,我还需要手动用ssh上传到hexo对应目录里。而用VSCode的SSH FS可以帮我自动同步本地工作目录和云上即将生成静态网页的hexo目录,非常方便!
3.ddns
因为容器是即用即开,用完就释放的,每次开会新分配一个弹性IP做为外网接口,但是不想每次都去复制这个新的ip地址,那么就要用到动态域名解析,刚好我在阿里云上购买过一个我自己的域名,所以ddns这部分服务就拉出来做个镜像

还挂了一个NAS盘:

挂载以后:

可见我的hexo,主题,文章,图片等等都存放在里面,服务容器可以随便释放拉取,数据不会受到影响,几百M的NAS容量价格抹零后可以忽略不计

文章后面(第三部分)会说如何按我的需求构建定制这几个镜像,并上传到阿里云容器镜像ARK仓库以方便调用

阅读全文 »

边栏显示文章列表效果

我还奇怪next没用提供这样的功能,文章一多一篇篇翻实在是累,还好找到了有人实现最近文章的功能,那么做文章列表也就同理了

我修改过的代码
首先是:

/hexo-theme-next/layout/_macro/sidebar.njk
在最后一个{% endif %}后面加入

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
{% if theme.recent_posts.enable %}
<div class="links-of-blogroll" style="margin-top:20px; border-style:dotted none none none; padding-top:5px; text-align:left;padding-left: 20px; padding-right: 10px; padding-bottom: 5px;">
<div class="links-of-blogroll-title" style="padding-bottom: 5px; padding-top: 5px; padding-left: 0px; padding-right: 20px; font-size: 1.6em; argin-right: 5px;">
<!-- 选择合适的icon -->
{%- if theme.recent_posts.icon %}<i class="{{ theme.recent_posts.icon }}" aria-hidden="true"></i>{%- endif %}
<b style="font-size: 0.65em; padding-left: 8px; position: relative; top: -2px;">{{ theme.recent_posts.description }}</b>
</div>
<ul class="links-of-blogroll-list">
<!-- 文章排序规格,-updated 按照文章更新时间倒排 -->
{% set posts = site.posts.sort('-updated').toArray() %}
<!-- 显示20数目的文章 -->
{% for post in posts.slice('0','20') %}
<li class="postsSidebarNumb" style="text-indent: -1em;">
<a href="{{ url_for(post.path) }}" title="{{ post.title }}" target="_blank">{{ post.title }}</a>
</li>
{% endfor %}
</ul>
</div>
{% endif %}
阅读全文 »

需求

注意Mesh和Texture前加了编号

工作需要整理目录文件,要将多组资产目录(Assets01,Assets02,Assets03…内的Resource目录下的Texture和Mesh目录加编号)

感觉这是一个可以用批处理脚本做到的事情,所以稍微研究了一下

改名实现

如果单只是改名其实很简单,只需要几行即可实现:

1
2
3
4
@echo off
for /f "delims=" %%a in ('dir /ad/s/b "Mesh"') do ren "%%~a" 01-Mesh
for /f "delims=" %%b in ('dir /ad/s/b "Texture"') do ren "%%~b" 00-Texture
pause
阅读全文 »

刚装完archlinux后ifconfig无法使用?

1
# pacman -S net-tools dnsutils inetutils iproute2

Archlinux开启ssh服务命令:

1
2
3
4
5
# systemctl enable sshd.service  开机启动

# systemctl start sshd.service 立即启动

# systemctl restart sshd.service 立即重启

关于systemctl:

https://wiki.archlinux.org/title/Systemd_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)

比如:关闭开机启用KDE桌面环境

1
# systemctl disable sddm

切换到root用户:

1
# su
阅读全文 »

*本文摘录整理为主

ls -l查看权限:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
文件属性     文件数    拥有者   所属的group    文件大小    建档日期        文件名  
drwx--x--x 1 root wheel 6872 2 7 22:41 compressedPackage/
drwxr-xr-x 1 liuml wheel 8620 2 15 09:32 wwwroot/  
lrwxrwxrwx 1 liuml wheel 46 2 24 19:30 abc@ -> home/abc
-rwxr-xr-x 1 liuml wheel 68568 2 29 07:43 test*  

- 文件名栏位 文件后面的符号含义
- / :表明是一个目录
- @ :表明是到其它文件的符号链接
- * :表明是一个可执行文件。

- 对于权限设置的解释
- r 是读,w 是写,x 是执行

- 对应数字如下:
- r = 4 w = 2 x = 1
- rwx :4+2+1 = 7
- rw- :4+2 = 6
- r-x :4+1 = 5
- drwxr-xr-x :755

-0-1位 文件类型
- “-” :表示普通文件;
- “d” :表示目录;
- “l” :表示链接文件;
- “p” :表示管理文件;
- “b” :表示块设备文件;
- “c” :表示字符设备文件;
- “s” :表示套接字文件;

-2-4位 文件所有者权限 [User]

-5-7位 文件所有者所在组权限 [Group]

-8-10位 其他用户权限 [Others]

- 没有的权限用 “-” 来表示
————————————————
版权声明:本文为CSDN博主「烟雨弥漫了江南」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u010324331/article/details/88035175/
阅读全文 »