问题描述
自从我第一次尝试以来,我就收到了这段代码。我想我没有收到错误,但它不断显示索引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 (将#修改为@)