esonzhang84 发表于 2023-10-10 14:14:17

【多种AI绘画工具共享模型资源,一个命令告别重复下载】

本帖最后由 esonzhang84 于 2023-10-10 15:27 编辑

Stable Diffusion 一款免费开源的AI绘画工具,大模型小则2G,大则5G以上,特别是如今Stable Diffusion的模型已经进入了SDXL 1.0的时代,大模型的体积直接番番,来到了可怕的6G起跳。
虽说如今的固态价格已经便宜到几毛钱一个GB了,但是勤俭持家的我还是想着有没有一种可能?能让这些体积庞大的模型文件在自己的硬盘空间里实现共享自由?答案是肯定的,要不也不会有我的这篇文章了,当然先避个嫌,也许早有大佬已经这么做了,只是我想仍有许多像我一样技术既不牛逼,但是还是有点计算机基础知识的AI小白还不知道这种方法,所以今天将这个方法分享出来,让大家的硬盘也跟着瘦瘦身。
进入正题,今天要实现共享模型资源的两个软件分别是Stable Diffusion 和 Fooocus-MRE ,前者大家估计都认识了,而后者则是由Contrlnet的作者专门为想跑SDXL 1.0 底显存用户开发的UI工具,功能虽然不如Stable Diffusion,但是胜在它可以满足底显存用户又想跑高阶模型的愿望,而且功能也陆续在完善中。配置要求只要显存4G,内存8G就能流畅运行跑SDXL 1.0的模型。
好像有点跑题了....
好了,好了,方法如下
===========================以下是操作步骤===========================

1、H:\Stable Diffusion\sd-webui-aki-v4.4\sd-webui-aki-v4.4\models\Stable-diffusion【这是Stable Diffusion的模型存放路径】

   H:\Fooocus-MRE\Fooocus-MRE-v2.0.78.5\Fooocus-MRE\models\checkpoints 【这是Fooocus-MRE的模型存放路径】

2、在没有实现模型共享前,运行Fooocus-MRE,系统会自动为你下载所需要的SDXL 1.0的几个默认模型




3、实现模型共享后,运行Fooocus-MRE,正常启动进入UI界面。





4、要如何实现呢共享呢?所用命令如下。

mklink /J "H:\Fooocus-MRE\Fooocus-MRE-v2.0.78.5\Fooocus-MRE\models\checkpoints" "H:\Stable Diffusion\sd-webui-aki-v4.4\sd-webui-aki-v4.4\models\Stable-diffusion\SDXL"

第一个路径地址为你需要共享模型的文件夹地址【注意:链接前需要将原来的文件名重命名或者删除,不然会提示已经有相同文件名】

第二个路径地址则是被共享模型的文件夹或者文件地址,这里的地址就是我硬盘里Stable Diffusion存放模型的默认地址。

移动光标到源地址跟新创建的共享地址上,一个又实际占用容量,另外一个则无,因为新创建出来的只是个联接符,并无大小,但是调用的时候则可以通过联接符找到实际的文件,如图所示。



就这样一条命令就能让摆脱重复下载模型,又或者用笨办法来回复制、剪切的苦恼了,你的硬盘也就达到了瘦身的目的了。知道了这个命令的功能,其他进阶的使用方法大家自由发挥。

下面附上mklink命令的其他参数的使用方法

一、什么是mklink命令mklink命令是Windows操作系统下的一个命令行命令,该命令用于创建符号链接(Symbolic Link)和硬链接(Hard Link)。符号链接是一个特殊的文件,它包含了指向另一个文件或目录的指针,相当于一个快捷方式。硬链接则是在NTFS文件系统内部实现,它允许多个文件共享一个物理空间,当其中任何一个文件被修改时,其它链接的文件也会随之更新。二、mklink命令的语法mklink命令的语法如下:    mklink /D <符号链接> <目标>    mklink /H <硬链接> <目标>    mklink /J <联接> <目标>其中,/D、/H、/J分别是符号链接、硬链接、联接的参数,符号链接和硬链接都必须指定TARGET,而联接则必须指定目录JUNCTION。三、mklink创建符号链接使用mklink创建符号链接的语法为:    mklink /D <符号链接名> <目标>其中,/D是创建符号链接的标记,在后面指定了符号链接的名字和指向的目标路径。下面是创建一个符号链接的示例:    mklink /D "C:\Users\Administrator\Desktop\link" "C:\Users\Administrator\Documents"该命令会在Administrator用户的桌面上创建一个名为"link"的文件夹,实际上它指向的是该用户的"Documents"文件夹。四、mklink创建硬链接使用mklink创建硬链接的语法为:    mklink /H <硬链接名> <目标>其中,/H是创建硬链接的标记,在后面指定了硬链接的名字和指向的目标路径。下面是创建一个硬链接的示例:    mklink /H "C:\Users\Administrator\Desktop\doc.txt" "C:\Users\Administrator\Documents\doc.txt"该命令会在Administrator用户的桌面上创建一个名为"doc.txt"的文件,实际上它指向的是该用户"Documents"文件夹下的"doc.txt"文件。五、mklink创建联接使用mklink创建联接的语法为:    mklink /J <联接名> <目标>其中,/J是创建联接的标记,在后面指定了联接的名字和指向的目标路径。下面是创建一个联接的示例:    mklink /J "C:\Users\Administrator\Desktop\link" "C:\Users\Administrator\Documents"该命令会在Administrator用户的桌面上创建一个名为"link"的文件夹,实际上它是一个目录的联接,指向的是该用户的"Documents"文件夹。六、mklink命令的参数解释除了创建符号链接、硬链接、联接之外,mklink命令还有其他的参数,下面对这些参数进行详细解释。1. /D/D参数是创建符号链接的标记。例如:    mklink /D "C:\Users\Administrator\Desktop\link" "C:\Users\Administrator\Documents"该命令将在Administrator用户的桌面上创建一个名为"link"的目录,实际上它指向的是该用户的"Documents"文档目录。2. /H/H参数是创建硬链接的标记。例如:    mklink /H "C:\Users\Administrator\Desktop\doc.txt" "C:\Users\Administrator\Documents\doc.txt"该命令将在Administrator用户的桌面上创建一个名为"doc.txt"的文件,实际上它指向的是该用户"Documents"下的"doc.txt"文件。3. /J/J参数是创建联接的标记。例如:    mklink /J "C:\Users\Administrator\Desktop\link" "C:\Users\Administrator\Documents"该命令将在Administrator用户的桌面上创建一个名为"link"的文件夹,实际上它是一个目录的联接,指向的是该用户文档目录。4. /I/I参数是创建符号链接时覆盖已存在目标文件的标记。例如:    mklink /D /I "C:\Users\Administrator\Desktop\link" "C:\Users\Administrator\Documents"如果目标路径下已经存在了一个文件夹或文件,则该命令将强制覆盖该文件夹或文件,建立新的符号链接。5. /N/N参数是创建符号链接时,将链接目标路径视为相对路径的标记。例如:    mklink /D /N "C:\Users\Administrator\Desktop\link" "..\Documents"该命令将在Administrator用户的桌面上创建一个名为"link"的目录,它会将链接目标视为目标路径的相对路径,即链接目标为"..\Documents"。七、总结本文介绍了mklink命令的使用方法,并针对命令中各个参数进行了详细的讲解,读者可以根据自己的需求,选择不同的参数创建符号链接、硬链接和联接等。同时,由于mklink命令是Windows命令行中的一个强大工具,建议有一定的技术基础的读者使用,可以提高工作效率。









页: [1]
查看完整版本: 【多种AI绘画工具共享模型资源,一个命令告别重复下载】