Crea_ 2021-04-18 14:59 采纳率: 0%
浏览 210

在使用Pycharm训练数据集的时候,代码运行出现了问题


import os
import random
import numpy as np
from skimage import io
from PIL import Image

root_dir = 'D:/ISIC 2018/'                # change it in your saved original data path
save_dir = 'D:/CA/data/ISIC2018_Task1_npy_all/'


if __name__ == '__main__':
    imgfile = os.path.join(root_dir, 'ISIC2018_Task1-2_Training_Input')
    labfile = os.path.join(root_dir, 'ISIC2018_Task1_Training_GroundTruth')
    filename = sorted([os.path.join(imgfile, x) for x in os.listdir(imgfile) if x.endswith('.jpg')])
    random.shuffle(filename)
    labname = [filename[x].replace('ISIC2018_Task1-2_Training_Input', 'ISIC2018_Task1_Training_GroundTruth'
                                   ).replace('.jpg', '_segmentation.png') for x in range(len(filename))]

    if not os.path.isdir(save_dir):
        os.makedirs(save_dir+'/image')
        os.makedirs(save_dir+'/label')

    for i in range(len(filename)):
        fname = filename[i].rsplit('/', maxsplit=1)[-1].split('.')[0]
        lname = labname[i].rsplit('/', maxsplit=1)[-1].split('.')[0]

        image = Image.open(filename[i])
        label = Image.open(labname[i])

        image = image.resize((342, 256))
        label = label.resize((342, 256))
        image = np.array(image)
        label = np.array(label)

        images_img_filename = os.path.join(save_dir, 'image', fname)
        labels_img_filename = os.path.join(save_dir, 'label', lname)
        np.save(images_img_filename, image)
        np.save(labels_img_filename, label)
    print('Successfully saved preprocessed data')

 

这里使用的是python3.8,下载的官网最新的pytorch,这里只是对论文作者的代码修改了文件路径,其他的没改。

  • 写回答

3条回答 默认 最新

  • 爱晚乏客游 2021-04-18 16:36
    关注

    image下面的ISIC2018_Task1-2_Training_Input这个文件夹不存在,你只创建到了image文件夹,但是你写入的时候是写道ISIC2018_Task1-2_Training_Input文件夹下面的,所以就报错了。估计你的label写入的时候也会有这问题,创建一下这层文件夹就好了

    评论

报告相同问题?

悬赏问题

  • ¥15 ads仿真结果在圆图上是怎么读数的
  • ¥20 Cotex M3的调试和程序执行方式是什么样的?
  • ¥20 java项目连接sqlserver时报ssl相关错误
  • ¥15 一道python难题3
  • ¥15 用matlab 设计一个不动点迭代法求解非线性方程组的代码
  • ¥15 牛顿斯科特系数表表示
  • ¥15 arduino 步进电机
  • ¥20 程序进入HardFault_Handler
  • ¥15 oracle集群安装出bug
  • ¥15 关于#python#的问题:自动化测试