我使用 Python 和 Keras 制作了一個卷積神經網絡。我在測試集上測試我的模型,每個類的圖像數量是隨機的(1 個文件夾包含 x 數量的圖像)。我能夠獲得一個數據框,其中顯示圖像和目錄的文件名以及預測。我想從文件名中刪除目錄。它隨機顯示 350 張圖像/dogs1.tif,我希望它只顯示 dogs1.tif。 #import my modelnew_model = tf.keras.models.load_model('model folder')#upload my test datatrain_datagen = ImageDataGenerator(rescale=1./255)test_batches = train_datagen.flow_from_directory( 'folder containing random images', target_size=(224, 224), batch_size=10, classes = None, class_mode = None, shuffle = False)#my predictionpredictions = new_model.predict(test_batches, steps=35, verbose=0)#rounding my predctionsrounded_predictions = np.argmax(predictions, axis = -1)#converting one hot encoded labels to categorical labels labels =["dog","cat","horse"]names = [0,1,2]labels_name = dict(zip(names, labels))#joining them togetherlabels_name = dict((v,k) for k,v in labels_name.items())predictions = [labels[k] for k in rounded_predictions]#getting files names for the imagesfilenames= test_batches.filenames#creating the dataframeresults=pd.DataFrame({"file":filenames,"pr":predictions})
1 回答

12345678_0001
TA貢獻1802條經驗 獲得超5個贊
#getting files names for the images
filenames= test_batches.filenames
filename_extr=[]
for i in filenames:
filename_extr.append(os.path.basename(i))
#creating the dataframe
results=pd.DataFrame({"file":filename_extr,"pr":predictions})
應該做的。(這(使用 for 循環)只是一種方法。當然還有很多其他方法。)
添加回答
舉報
0/150
提交
取消