使用TensorFlow Lite构建安卓图像分类模型时统计本地图片数为0是什么原因
问题排查
输出image_count为0的常见原因
- 扩展名大小写匹配问题:你当前使用的glob规则为
*/*.JPEG,pathlib的glob规则在Windows环境下对后缀大小写敏感,若你的本地图片实际后缀为小写.jpeg、.jpg或者大小写混合格式,都会匹配失败。你可以修改匹配规则覆盖所有可能的图片后缀,或者先执行print(list(data_dir.glob('*/*')))输出所有匹配到的二级文件,确认文件实际后缀格式。 - 数据集目录结构不符合要求:图像分类数据集要求根目录下每个类别单独建立子文件夹,对应类别的图片存放在所属类别的子文件夹内。你的匹配规则
*/*.JPEG是匹配根目录下子文件夹中的图片,若你把图片直接存放在V目录下、或目录层级超过2级,都会导致匹配失败。你可以先检查V目录下的结构,确认是否存在分类子文件夹、子文件夹内是否存放了图片。 - 路径配置错误:可以先执行
print(data_dir.exists())验证路径是否能被正常识别,若输出为False则说明路径存在拼写错误,检查路径中的文件名、特殊字符是否和实际一致。
后续操作补充
你要完成model.tflite的导出,还需要依次完成以下步骤:
- 完成数据集的训练集/验证集拆分、数据预处理、数据增强配置
- 搭建、训练并验证图像分类模型的准确率
- 把训练完成的Keras模型转换为TensorFlow Lite格式,才能执行下载操作。
内容的提问来源于stack exchange,提问作者Abdulmajeed
相关产品推荐
相关产品推荐

