索引51超出尺寸50的轴1的范围

问题描述

自从我第一次尝试以来,我就收到了这段代码。我想我没有收到错误,但它不断显示索引51超出了尺寸1为50的轴1的范围。

batch_size = 16 num_classes = 50

def generate_data(samples,target_files,batch_size=batch_size,factor = 0.1 ):
    num_samples = len(samples)
    from sklearn.utils import shuffle
    while 1:
        for offset in range(0,num_samples,batch_size):
            batch_samples = samples[offset:offset+batch_size]
            batch_targets = target_files[offset:offset+batch_size]

            images = []
            targets = []
            for i in range(len(batch_samples)):
                batch_sample = batch_samples[i]
                batch_target = batch_targets[i]
                im = Image.open(batch_sample)
                cur_width = im.size[0]
                cur_height = im.size[1]

                
                height_fac = 113 / cur_height

                new_width = int(cur_width * height_fac)
                size = new_width,113

                imresize = im.resize((size),Image.ANTIALIAS)  
                Now_width = imresize.size[0]
                Now_height = imresize.size[1]
                

                avail_x_points = list(range(0,Now_width - 113 ))

             
                pick_num = int(len(avail_x_points)*factor)

                
                random_startx = sample(avail_x_points,pick_num)

                for start in random_startx:
                    imcrop = imresize.crop((start,start+113,113))
                    images.append(np.asarray(imcrop))
                    targets.append(batch_target)

         
            X_train = np.array(images)
            y_train = np.array(targets)

            #reshape X_train for Feeding in later
            X_train = X_train.reshape(X_train.shape[0],113,1)
            #convert to float and normalize
            X_train = X_train.astype('float32')
            X_train /= 255

            
            y_train = to_categorical(y_train,num_classes)
            yield shuffle(X_train,y_train)


train_generator = generate_data(train_files,train_targets,factor = 0.3)
validation_generator = generate_data(validation_files,validation_targets,factor = 0.3)
test_generator = generate_data(test_files,test_targets,factor = 0.1)

我一直在得到这个错误,请解释错误并传达有关如何消除此错误的信息?

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)