Esp32-Cam模型训练相关问题解决方案

  • 一、AttributeError: module 'everywhereml.data.ImageDataset' has no attribute 'from_nested_folders'
  • 现象
  • 解决方案
  • 二、'Connection to 192.168.x.xxx timed out(connect timeout=None)'
  • 三、卡在0%| |0/100 [00:00<?, ?it/s]



抛砖引玉,如有更好解决方式,或者有大佬优化了功能,欢迎积极分享!!!

一、AttributeError: module ‘everywhereml.data.ImageDataset’ has no attribute ‘from_nested_folders’

现象

尝试了下,这个问题就被我复现了。

ESP32 修改MAC esp32cam例程_目标检测


查问题发现,对象属性实际上是有代码实现。

ESP32 修改MAC esp32cam例程_python_02


说明找不到对象,或者说找到的对象是错误的。

一开始怀疑是不是Spyder的console配置或者环境变量有问题,于是不断去尝试各种安装python包,最后都没能解决。

然后怀疑是不是console里的执行代码有问题,于是不断尝试以及逐句语义编译,也是没能解决。

最后发现是代码执行路径的问题导致的,创建文件夹Images_Data出现了问题。

解决方案

更改Spyder的console执行路径,Tools->Preferences->IPython console里边去设置即可。

还有个很简单的方式就是创建工程时候,把everywhereml-master作为工程项目的目录。在新建工程的时候不选择新建文件夹而是选择现有文件夹,然后选择everywhereml-master作为工程项目的目录

ESP32 修改MAC esp32cam例程_目标检测_03


最后问题解决

ESP32 修改MAC esp32cam例程_ESP32 修改MAC_04

二、‘Connection to 192.168.x.xxx timed out(connect timeout=None)’

顾名思义是Esp32-Cam连接超时,需要确认能否正常使用设备(联WiFi并且视频流正常显示)

1、 串口查看打印信息,看是否已经能够正常连上WiFi了,是否设备接触不好或者设备离线,以及确认ip是否准确

ESP32 修改MAC esp32cam例程_Esp32-Cam_05


确认Esp32-Cam已经在线后,再去执行捕捉图片作为训练数据的操作。

三、卡在0%| |0/100 [00:00<?, ?it/s]

需要耐心等待几十秒(摄像头采集数据捕获上千张图片),如果超过1分钟,检查下是不是又某种原因导致设备离线了,或者正在打开着网页用着摄像头一直占用从而导致程序跑死了

ESP32 修改MAC esp32cam例程_ESP32 修改MAC_06


这个是我复现的情况,unput_cam是没开启设备(或者说设备不在线)的情况,open_net是网页开着视频流的程序跑死情况。