目前似乎不可能使用 Anaconda 和 Xcode 12。通过空闲,它通过 Rosetta 运行。似乎没有对此进行讨论,所以要么我很天真,要么这对其他人也有用。
Python 说:“从 3.9.1 开始,Python 现在完全支持在 macOS 11.0(Big Sur)和 Apple Silicon Macs(基于 ARM64 架构)上构建和运行。一个新的通用构建变体,universal2,现在可用于本地在一组可执行文件中同时支持 ARM64 和 Intel 64" https://docs.python.org/3/whatsnew/3.9.html
请帮助新手弄清楚如何利用他最近的冲动购买。
以下数据集类 -> dataloader 仅适用于 num_workers = 0,我不确定为什么。同一环境中的其他笔记本确实可以在 num_workers > 0 的情况下工作。这已经困扰我好几个月了!
不起作用的类:没有错误消息,只是在 next(iter(train_dl)) 上无限期地运行,而 num_workers = 0 则需要 1 秒。
class SegmentationDataSet(data.Dataset):
def __init__(self, fnames, rle_df=None, path=train_val_dir):
self.fnames = fnames
self.rle_df = rle_df
self.path = path
def __len__(self):
return len(self.fnames)
def __getitem__(self, index:int):
img_id = self.fnames[index]
mask = None
im = torchvision.io.read_image(self.path + img_id).float()
if self.rle_df is not None:
rle = self.rle_df.loc[self.rle_df['id']==img_id]['rle']
if not pd.isnull(rle).values[0]:
rle = rle.values[0]
mask = rle2mask(rle, [1024,1024])
mask = torch.from_numpy(np.expand_dims(mask,0))
else:
mask = torch.zeros([1,1024,1024])
return …Run Code Online (Sandbox Code Playgroud)