鱼C论坛

 找回密码
 立即注册
查看: 1166|回复: 3

[已解决]读文件,29行list index out of range

[复制链接]
发表于 2020-8-17 20:59:19 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
本帖最后由 猪猪虾 于 2020-8-17 21:00 编辑

  1. train_path = 'E:/BaiduNetdiskDownload/rootplanning/data_cnn/train_data/train_img/'   #图片路径
  2. train_txt =  'E:/BaiduNetdiskDownload/rootplanning/data_cnn/train_data/train_img_to_label.txt'  #配对好的标签文件
  3. x_train_savepath =  'E:/BaiduNetdiskDownload/rootplanning/data_cnn/train_data/train_img_datasets.npy'  #输入(特征)图像数据集
  4. y_train_savepath =  'E:/BaiduNetdiskDownload/rootplanning/data_cnn/train_data/train_label_datasets.npy'  #生成的标签数据集

  5. test_path = 'E:/BaiduNetdiskDownload/rootplanning/data_cnn/test_data/test_img/'
  6. test_txt =  'E:/BaiduNetdiskDownload/rootplanning/data_cnn/test_data/test_img_to_label.txt'
  7. x_test_savepath = 'E:/BaiduNetdiskDownload/rootplanning/data_cnn/test_data/test_img_datasets.npy'
  8. y_test_savepath = 'E:/BaiduNetdiskDownload/rootplanning/data_cnn/test_data/test_label_datasets.npy'



  9. '''
  10. **********************************************************************************
  11.           目的:该函数返回输入特征(输入小块)和对应的输入标签,及其路径
  12.                 一个病人的数据对应n张图片,每张图片又对应n个标签
  13.         11-31,像素范围 3763.557 ~-1551.5474
  14.         1-5,像素范围  3977.636962890625 ~ -1530.5186767578125
  15. *********************************************************************************
  16. '''
  17. def generateds(path,txt,pixel_range):
  18.     f = open(txt,'r')   #只读形式打开文件
  19.     contents = f.readlines()   #读取文件中所有的行
  20.     f.close()
  21.     x,y_ = [],[]   #建立空列表,分别存储输入特征和输入特征对应的实际标签
  22.     for content in contents:
  23.         value = content.split()
  24.         img_path = path  +  value[0]   #图片路径+图片名,获得图片索引路径
  25.         img = Image.open(img_path)   # 读入图片
  26.         img = np.array(img.convert('L'))
  27.         img = img/pixel_range              #归一化数据
  28.         x.append(img)    #存放图像
  29.         y_.append(value[1])  #存放标签数据
  30.         print('loading : ' + content)
  31.     x = np.array(x)
  32.     y_ = np.array(y_)
  33.     y_ = y_.astype(np.int64)
  34.     return x,y_      

  35.         
  36. if os.path.exists(x_train_savepath) and os.path.exists(y_train_savepath) \
  37.     and os.path.exists(x_test_savepath) and os.path.exists(y_test_savepath):
  38.     #判断所需要的文件路劲是否已经存在
  39.     print('**************load datasets********************')
  40.     x_train_save = np.load(x_train_savepath)
  41.     y_train = np.load(y_train_savepath)
  42.     x_test_save = np.load(x_test_savepath)
  43.     y_test = np.load(y_test_savepath)
  44.     x_train = np.reshape(x_train_save,(len(x_train_save),32,32))   
  45.     x_test = np.reshape(x_test_save,(len(x_test_save),32,32))
  46.    
  47. else:
  48.     print('**************Generate datasets********************')
  49.     x_train,y_train = generateds(train_path,train_txt, 3763.6 + 1551.5 )
  50.     x_test,y_test = generateds(test_path,test_txt, 3977.6 + 1530.5 )
  51.    
  52.    
  53.     print('**************save datasets********************')
  54.     x_train_save = np.reshape(x_train,(len(x_train),-1))
  55.     x_test_save = np.reshape(x_test,(len(x_test),-1))
  56.     np.save(x_train_savepath,x_train_save)
  57.     np.save(y_train_savepath,y_train)
  58.     np.save(x_test_savepath,x_test_save)
  59.     np.save(y_test_savepath,y_test)
复制代码

明明是读文件,一行一行的读,怎么会存在索引超出范围的问题,并没有涉及到下标索引啊
最佳答案
2020-8-17 22:36:13
猪猪虾 发表于 2020-8-17 22:25
list index out of range

给个完整的行不行?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

发表于 2020-8-17 22:18:31 | 显示全部楼层
给个报错信息……
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2020-8-17 22:25:08 | 显示全部楼层

list index out of range
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2020-8-17 22:36:13 | 显示全部楼层    本楼为最佳答案   
猪猪虾 发表于 2020-8-17 22:25
list index out of range

给个完整的行不行?
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2024-5-20 16:44

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表