为什么它给出的指数超出了keras的界限?
def preds(k): 从日期时间导入日期时间 y_temp=np.zero((len(test_vec),3)) y_pred=np.zero((len(test_vec),3)) i=0; 从sklearn.model_选择导入KFold kf=KFold(n_分割=k,随机状态=2)为什么它给出的指数超出了keras的界限?,keras,conv-neural-network,Keras,Conv Neural Network,def preds(k): 从日期时间导入日期时间 y_temp=np.zero((len(test_vec),3)) y_pred=np.zero((len(test_vec),3)) i=0; 从sklearn.model_选择导入KFold kf=KFold(n_分割=k,随机状态=2) 对于序列索引,在kf中测试索引。拆分(数据): 打印(数据) 打印(目标) 打印(列车索引) 打印(测试索引) K.清除会话() start=datetime.now() 打印('fold========
对于序列索引,在kf中测试索引。拆分(数据):
打印(数据)
打印(目标)
打印(列车索引)
打印(测试索引)
K.清除会话()
start=datetime.now()
打印('fold====================>>>>>>>>>>>,i+1)
#X_列,X_测试=数据[列索引]。值,数据[测试索引]。值
#y_train,y_test=目标[train_index]。值,目标[test_index]。值
a=np.asarray(数据[列车索引])
b=np.asarray(数据[测试索引])
c=np.asarray(目标[列车索引])
d=np.asarray(目标[测试索引])
型号=无
num_filters=[64128256512]
模型=vdcnn_模型()
提前停止=提前停止(监视器='val\u loss',耐心=5)
bst_模型_路径='cv10_最佳权重'+str(i+1)+'.h5'
模型检查点=模型检查点(bst\U模型路径,保存最佳值,仅保存权重,仅保存权重)
hist=模型拟合(a,c\
验证数据=(b,d)\
epoch=200,批处理大小=256,回调=[提前停止,模型检查点])
bst_val_分数=分钟(历史记录['val_loss'])
打印('bst_val_分数',bst_val_分数)
#模型.负载权重(bst模型路径)
#model.fit(数据,y,历代数=2,批量大小=256,随机数=True,)
#y_temp=model.predict([测试数据],批量大小=256,详细度=1)
#y_pred+=y_temp
end=datetime.now()
打印(“”)
打印(“此折叠所用的时间”,结束-开始)
i+=1
preds(2)
给予-
索引器回溯(最后一次最近调用)
在()
---->1(2)
在preds中(k)
17#X#u列,X#u测试=数据[列索引]。值,数据[测试索引]。值
18#y#u train,y#u test=目标[train#u index]。值,目标[test#u index]。值
--->19 a=np.asarray(数据[列车索引])
20 b=np.asarray(数据[测试指数])
21 c=np.asarray(目标[列车索引])
索引器:索引超出范围
我尝试了所有方法-.values、.asarray、.array、as_matrix(),但仍然得到相同的错误。数据的长度是多少,当您得到错误时,列索引是什么?数据长度-1440000,列索引-[720000 720001 720002…,143997 143998 143999]Try data.iloc[train_index]相反,到处都是。@UpasanaMittal是的,谢谢它奏效了
for train_index, test_index in kf.split(data):
print(data)
print(target)
print(train_index)
print(test_index)
K.clear_session()
start=datetime.now()
print('fold====================>>>>>>>>>>',i+1)
#X_train , X_test = data[train_index].values, data[test_index].values
#y_train , y_test = target[train_index].values, target[test_index].values
a=np.asarray(data[train_index])
b=np.asarray(data[test_index])
c=np.asarray(target[train_index])
d=np.asarray(target[test_index])
model = None
num_filters = [64, 128, 256, 512]
model=vdcnn_model()
early_stopping =EarlyStopping(monitor='val_loss', patience=5)
bst_model_path = 'cv10_best_weights'+str(i+1) + '.h5'
model_checkpoint = ModelCheckpoint(bst_model_path, save_best_only=True, save_weights_only=True)
hist = model.fit(a, c, \
validation_data=(b, d), \
epochs=200, batch_size=256,callbacks=[early_stopping, model_checkpoint])
bst_val_score = min(hist.history['val_loss'])
print('bst_val_score',bst_val_score)
#model.load_weights(bst_model_path)
#model.fit(data, y,epochs=2, batch_size=256, shuffle=True,)
#y_temp = model.predict([test_data], batch_size=256, verbose=1)
#y_pred+=y_temp
end=datetime.now()
print(" ")
print('time taken for this fold', end-start)
i+=1
preds(2)
giving-
IndexError Traceback (most recent call last)
<ipython-input-105-6de2161fc4d0> in <module>()
----> 1 preds(2)
<ipython-input-104-bf8abb1717a0> in preds(k)
17 #X_train , X_test = data[train_index].values, data[test_index].values
18 #y_train , y_test = target[train_index].values, target[test_index].values
---> 19 a=np.asarray(data[train_index])
20 b=np.asarray(data[test_index])
21 c=np.asarray(target[train_index])
IndexError: indices are out-of-bounds