【ComfyUI】中,使用Unet加载FLUX大模型的时候,提示: ‘conv_in.weight‘

ComfyUI中,使用Unet加载FLUX大模型的时候,提示“Error occurred when executing UNETLoader:
‘conv_in.weight’
”,
在这里插入图片描述
这种报错原因是缺少模型权重参数,本应该是有一个参数设置的框的,但是我这里却没有,如下图:
在这里插入图片描述
解决方法:
更新ComfyUI。
更新完后,重启ComfyUI。
会看到,权重的框出来了。
在这里插入图片描述

要将UNet网络的层数改为5层,可以按照以下步骤进行修改: 1. 将Encoder和Decoder的个数都增加到4个,分别对应下采样和上采样的层数,即encoder_list = [64, 128, 256, 512] 和 decoder_list = [512, 256, 128, 64, 32]。 2. 在网络的构造函数增加一个新的Encoder和Decoder,代码如下: ```python self.encoder_512 = Encoder(256, 512) self.encoders.append(self.encoder_512) self.decoder_32 = Decoder(64, 32) self.decoders.insert(0, self.decoder_32) ``` 这里新增了一个从256通道到512通道的Encoder和一个从64通道到32通道的Decoder,并分别加入到encoders和decoders。 3. 最后,将输出层的输入通道数改为32,即将self.output_conv = paddle.nn.Conv2D(in_channels, num_classes, kernel_size=3, padding='same')的in_channels改为32。 修改后的完整代码如下: ```python class UNet(paddle.nn.Layer): def __init__(self, num_classes): super(UNet, self).__init__() self.conv_1 = paddle.nn.Conv2D(3, 32, kernel_size=3, stride=2, padding='same') self.bn = paddle.nn.BatchNorm2D(32) self.relu = paddle.nn.ReLU() in_channels = 32 self.encoders = [] self.encoder_list = [64, 128, 256, 512] self.decoder_list = [512, 256, 128, 64, 32] self.decoders = [] # 根据下采样个数和配置循环定义子Layer,避免重复写一样的程序 for out_channels in self.encoder_list: block = self.add_sublayer('encoder_{}'.format(out_channels), Encoder(in_channels, out_channels)) self.encoders.append(block) in_channels = out_channels # 新增一个Encoder self.encoder_512 = Encoder(256, 512) self.encoders.append(self.encoder_512) # 根据上采样个数和配置循环定义子Layer,避免重复写一样的程序 for out_channels in self.decoder_list: block = self.add_sublayer('decoder_{}'.format(out_channels), Decoder(in_channels, out_channels)) self.decoders.append(block) in_channels = out_channels # 新增一个Decoder self.decoder_32 = Decoder(64, 32) self.decoders.insert(0, self.decoder_32) self.output_conv = paddle.nn.Conv2D(32, num_classes, kernel_size=3, padding='same') def forward(self, inputs): y = self.conv_1(inputs) y = self.bn(y) y = self.relu(y) for encoder in self.encoders: y = encoder(y) for decoder in self.decoders: y = decoder(y) y = self.output_conv(y) return y ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值