我无法用 fastai 创建 ResNet18 的主体

I can't create the body of ResNet18 with fastai

我正在尝试在此代码中构建 ResNet18 的主体:

from fastai.vision.data import create_body
from fastai.vision import models
from torchvision.models.resnet import resnet18
from fastai.vision.models.unet import DynamicUnet
import torch

def build_res_unet(n_input=1, n_output=2, size=256):
    device = torch.device("cuda" if torch.cuda.is_available() else "cpu")
    body = create_body(resnet18, n_in = n_input, pretrained=True, cut=-2)
    net_G = DynamicUnet(body, n_output, (size, size)).to(device)
    return net_G

net_G = build_res_unet(n_input=1, n_output=2, size=256)

但我一直收到错误消息:

TypeError: create_body() got an unexpected keyword argument 'n_in'

但在 fastai 文档中存在 n_in 参数。

我怎样才能创建主体,我是不是漏掉了什么?

我在我的本地机器上测试了代码,它 运行 完美,也许 Google Colab 上有一些问题!如果我找到在 colab

上实现 运行 的方法,我会更新这个答案

编辑: 我通过在 google colab 上添加 !pip install fastai==2.4 解决了这个问题,colab 使用的版本很旧