【问题标题】:Remove directory from filepath从文件路径中删除目录
【发布时间】:2020-07-31 14:00:45
【问题描述】:

我使用 Python 和 Keras 制作了一个卷积神经网络。我正在测试集上测试我的模型,每个类有随机数量的图像(1 个文件夹包含 x 数量的图像)。我能够获得一个数据框,其中显示图像和目录的文件名以及预测。我想从文件名中删除目录。它显示随机的 350 张图片/dogs1.tif,我希望它只显示 dog1.tif。

  #import my model
new_model = tf.keras.models.load_model('model folder')
#upload my test data
train_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 prediction
predictions = new_model.predict(test_batches, steps=35, verbose=0)

#rounding my predctions
rounded_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 together
labels_name = dict((v,k) for k,v in labels_name.items())
predictions = [labels[k] for k in rounded_predictions]

#getting files names for the images
filenames= test_batches.filenames

#creating the dataframe
results=pd.DataFrame({"file":filenames,"pr":predictions})

【问题讨论】:

  • 你要找的是os.path.basename(见重复链接)
  • 我读过 os.path.basename 但不确定我可以把它放在哪里,或者需要更换什么才能使用它
  • 您阅读过我链接的文档吗?哪一部分不清楚?

标签: python pandas dataframe keras


【解决方案1】:
#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 循环)只是一种方法。当然还有很多其他方法。)

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-07-15
    • 2016-07-04
    • 2013-11-20
    • 2013-10-15
    • 1970-01-01
    • 2021-01-30
    • 2021-01-09
    • 1970-01-01
    相关资源
    最近更新 更多