我正在做图像分类,直到现在我已经建立了我的网络并对其进行了评估。剩下要做的就是提交,所以我有一个盲测集,其中包含没有标签的图像,并且使用我创建的模型,我必须对这个盲测集进行预测。
我有 4 个班级:HAZE、RAINY、SUNNY、SNOWY。我的代码如下:
blind_testSet = '/content/drive/My Drive/Colab Notebooks/submission'
test_datagen_blind = ImageDataGenerator(
featurewise_center=True,
featurewise_std_normalization=True,
rescale = 1. / 255
)
test_generator_blind = test_datagen.flow_from_directory(
directory=blind_testSet,
target_size=(256, 256),
color_mode="rgb",
batch_size=batch_size,
class_mode="categorical",
shuffle=False
)
preds =transfer_model.predict_generator(test_generator_blind,verbose=1,steps=val_steps)
import pandas as pd
import numpy as np
predicted_class_indices=np.argmax(preds,axis=1)
labels = (train_generator.class_indices)
labels = dict((v,k) for k,v in labels.items())
print(labels)
predictions = [labels[k] for k in predicted_class_indices]
filenames=test_generator_blind.filenames
results=pd.DataFrame({"image ID":filenames,
"Predictions":preds})
results.to_csv("submission.csv",index=False)
问题是我收到错误:
Exception Traceback (most recent call last)
<ipython-input-22-37b4cd72c225> in <module>()
9 filenames=test_generator_blind.filenames
10 results=pd.DataFrame({"image ID":filenames,
---> 11 "Predictions":preds})
12 results.to_csv("submission.csv",index=False)
4 frames
/usr/local/lib/python3.6/dist-packages/pandas/core/internals/construction.py in
sanitize_array(data, index, dtype, copy, raise_cast_failure)
727 elif subarr.ndim > 1:
728 if isinstance(data, np.ndarray):
--> 729 raise Exception("Data must be 1-dimensional")
730 else:
731 subarr = com.asarray_tuplesafe(data, dtype=dtype)
Exception: Data must be 1-dimensional
有人能帮我吗?谢谢。
[编辑]我也尝试过:
preds =transfer_model.predict_generator(test_generator_blind,verbose=1,steps=val_steps).reshape(-1,1)
但它不起作用,我得到同样的错误。