stablediffusion的lora模型训练常见问题及报错

时间:23-10-13 15:14:45

作者:

分类:AI软件教程

  在训练lora时,可能会遇到一些问题,比如无法使用本地模型或下载的默认1.5模型无法训练等。下面是一些解决这些问题的方法,供大家参考。bc8705a457491a3816326600aad738f6

问题一:无法使用本地模型或下载的1.5模型无法训练

  可能原因是训练脚本需要链接抱脸网huggingface导致。解决方法如下:

      删除缓存目录:C:\Users\Administrator.cache(注意这里的名称\Administrator是你自己电脑的用户名)。再次训练时会重新下载模型,需要注意的是缓存文件夹中tmp开头的文件是下载失败的文件可以删除,无法断点续传可以删除。

      添加系统变量:在系统搜索里搜索系统变量,进入环境变量设置,新建系统变量HTTPS_PROXY,值为http://127.0.0.1:7890。Windows环境变量添加后需要重启生效,此方法解决了无法使用本地模型训练的问题。需要注意的是端口7890,查看方法是打开clash魔法,主页右上角查看,如果不一样要改成你那边的端口。

问题二:选择何种底模进行训练

  在训练过程中,可以选择默认的1.5模型进行训练。这个模型具有较高的泛用性,但也有一些不足之处。由于一些大模型混合了一些权重,可能导致微调的lora缺乏泛用性。所以,默认的1.5模型只是一个局部中等的解法,不是最优解,但是可以使用。

问题三:loss=nan错误

  当训练出现loss=nan错误时,并不是显存爆满的问题,而是与训练参数或数据集有关。可以尝试调整数据集、删除一些图片、调整参数、换优化器、学习率等来解决。

问题四:cmd=cmd错误

  cmd=cmd错误是常见错误,具体原因不明,可能有多种原因导致。可以尝试以下解决方法:

      更换底模,建议使用默认的1.5模型。

      更换优化器。

      不使用8bit。

      此错误可能与显存无关,不要过早地认为是显存爆满的问题。

问题五:是否需要打tag

  训练画风时,需要打tag。有一些视频说训练画风可以不打tag,但实际经验表明,不打tag会导致lora效果不佳和其他问题。所以,无论是训练什么,都要打tag。

关于打标的一些说法

  打标是用于学习的内容,标签会固定在图片上。删除一些标签,比如blue eyes,是为了防止将基础模型中的blue eyes引导到lora上,导致过拟合。所以,保留一些基本触发词,比如1girl,可以将girl的触发引导到lora上。同样的道理,还可以设置一些非常不常用的触发词,在使用该触发词时调用lora中存在的内容,而基础模型中不存在。

  打标可以辅助ai学习,所以去掉需要学习的元素标签有利有弊。例如,如果训练的是能天使头上有光环,那么如果文本中有光环的tag,使用lora时必须在tag中写上光环,才会生成能天使头上有光环的结果。如果去掉文本中的光环tag,lora生成的能天使就默认有光环了。