区分猫和狗的转移学习练习

时间:2019-10-23 19:37:56

标签: machine-learning transfer-learning

我正在尝试练习转移学习。

我正在尝试计算每个猫和狗的文件数(猫和狗每个文件12500张,总共25000张照片)。

这是我的代码。Code

这是图片文件夹的路径enter image description here

我以为这是一个简单的代码,但仍然无法弄清楚为什么我的编码中不断得到(0,0)(假设是(12500个猫文件,12500个狗文件)):(。

1 个答案:

答案 0 :(得分:1)

os.path.join()中使用glob.glob()。另外,如果您所有的图片都具有特定的扩展名(例如 jpg ),则可以将'*.*'替换为'*.jpg*'

解决方案

import os, glob

files = glob.glob(os.path.join(path,'train/*.*'))

事实上,您最好仅使用os库执行以下操作,因为您没有选择任何特定的文件扩展名类型。

import os
files = os.listdir(os.path.join(path,'train'))

一些解释

这里的方法os.path.join()可帮助您将多个文件夹连接在一起以创建路径。无论您在Windows / Mac / Linux系统上,这都将起作用。但是,对于Windows,路径分隔符为 \ ,而对于Mac / Linux,则为 / 。因此,不使用os.path.join()可能会为操作系统创建无法解析的路径。如果我对获取某些特定类型的文件(扩展名)感兴趣,可以使用glob.glob。但是glob.glob(path)需要有效的路径。在我的解决方案中,os.path.join()是从路径组件创建该路径并将其馈送到glob.glob()中。

为更加清楚起见,建议您查看os.path.joinglob.glob的文档。

另外,请参见pathlib模块中的路径操作,以替代os.path.join()