python - 尝试运行暗网检测时无法打开文件 yolov3_custom_last.weights

标签 python deep-learning google-colaboratory yolo

我一直在尝试使用 YOLO (v3) 来实现和训练具有 OpenImage 数据集的 Tank 的对象检测。 我试图从 this tutorial 获得帮助我的代码看起来很像。 我还使用 Google Colab 和 Google Drive 服务。 我的程序一切顺利。但当我运行 darknet 来训练检测时,我在最后一步遇到了错误。

!./darknet detector train "data/obj.data" cfg/yolov3_custom.cfg "darknet53.conv.74" -dont_show

100 次迭代后,当它尝试将进度保存在我在 obj.data 文件中处理的备份文件夹中时,出现以下错误:

Saving weights to /content/drive/My\Drive/YOLOv3/backup/yolov3_custom_last.weights
Couldn't open file: /content/drive/My\Drive/YOLOv3/backup/yolov3_custom_last.weights

起初,我以为我使用的地址有误;因此,我尝试使用 ls 命令检查地址

!ls /content/drive/My\Drive/YOLOv3/backup/

结果是一个空文件夹(但是,这不是错误,这意味着我已经正确编写了地址并且可以在我的谷歌驱动器中访问它)。

以下是 data.object 文件的内容:

classes = 1
train = data/train.txt
valid = data/test.txt
names = data/obj.names
backup = /content/drive/My\ Drive/YOLOv3/backup

我还对配置文件进行了必要的更改,所以我认为问题不是与此有关。但只是为了确保以下是我在 yolov3.cfg 文件中所做的更改:

  1. 首先,我们将注释第 3 行和第 4 行(批量、分割)以取消设置测试模式
  2. 我们将取消第 6 行和第 7 行(批量、分割)的注释以设置为训练模式
  3. 我们将 max_batches 值更改为 2000 * number_of_classes(如果有一个类与我们的案例类似,则设置为 4000)
  4. 我们将类似步骤元组的值更改为 max_baches 值的 80%、90%。在本例中,它将是 3200、3600。
  5. 对于所有 YOLO 层及其之前的卷积层,将classes 值更改为类数,在本例中为 1,并更改filters 的值 根据以下公式(本例为 18)

转换层过滤器值的公式: (number_of_classes + 5)*3

我搜索了错误,发现this issue在 Github 上。 但是我尝试了那里推荐的以下方法,问题还是一样:

  1. 删除并重新创建backup文件夹
  2. 尝试在文件夹.cfg中的yolo.data文件中添加行 backup = backup,但cfg中没有这样的文件文件夹。
  3. 在备份文件夹中创建一个空的 yolov3_custom_last.weights

本期提到的其他解决方案是关于您在 PC 上运行 YOLO 而不是 google Colab 时的解决方案。 另外,这里是我的文件夹 YOLOv3 的树结构,它存储在我的 Google Drive My Drive(主文件夹)中。

YOLOv3
        darknet53.conv.74
        obj.data
        obj.names
        Tank.zip
        yolov3.weights
        yolov3_custom.cfg
        yolov3_custom1.cfg.txt

所以,我有点陷入困境,我不知道什么可以解决这个问题。我希望得到一些帮助。

最佳答案

我已经解决了使用ln命令更改本地驱动器地址的问题。 问题不是来 self 的代码,而是来自 yolov3 开发人员处理目录地址中的空格的方式!显然,正如我在他们的文档中所想到的那样,他们没有很好地处理目录中的空间。 所以我创建了一个虚拟地址,它没有像“我的驱动器”那样的空间。 P.S:如您所知,“我的云端硬盘”文件夹已经存在于您的谷歌驱动器中,因此您实际上无法重命名它。 以下是您可以用来实现此目的的代码:

!ln -s/content/drive/My\Drive//mydrive

关于python - 尝试运行暗网检测时无法打开文件 yolov3_custom_last.weights,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63413145/

相关文章:

python - 使用多个参数启动 python pdb?

python将本地时间的字符串转换为UTC纪元时间戳

tensorflow - 即使使用相同的数据集进行训练和验证,Keras 验证准确度也远低于训练准确度

python - Keras:多个输出和自定义损失函数的干净实现?

python - Keras model.summary( ) 有很好的输出吗?

tensorflow - 值错误 : Operation u'tpu_140462710602256/VarIsInitializedOp' has been marked as not fetchable

python - 如何使用 Python turtle.py 读取像素颜色

python - 如何在 theano 函数中将一个矩阵值映射到另一个矩阵值

memory - RuntimeError : CUDA out of memory. 如何设置max_split_size_mb?

google-colaboratory - 谷歌 Colab : Disk size with GPU backend