Python 为什么训练这么慢?

Python 为什么训练这么慢?,python,tensorflow,machine-learning,neural-network,Python,Tensorflow,Machine Learning,Neural Network,我开始用我的GeForce RTX 2070和16 GB RAM训练一个模型,但即使是一个历元也要花很多时间。例如,一个历元需要10个多小时。因为它需要近100个时代才能取得好的结果。所以我在训练过程中遇到了一些问题,因为我没有时间等一个月来完成训练 数据集有近500000个图像,总大小为200 GB 我正在使用YOLO(在黑暗中)和权重tiny-yolov2。我的tensorflow版本是1.12.0。重量和配置文件从官方网站下载。选项中的GPU使用设置为0.8 开始培训之前,我的GPU使用情

我开始用我的GeForce RTX 2070和16 GB RAM训练一个模型,但即使是一个历元也要花很多时间。例如,一个历元需要10个多小时。因为它需要近100个时代才能取得好的结果。所以我在训练过程中遇到了一些问题,因为我没有时间等一个月来完成训练

数据集有近500000个图像,总大小为200 GB

我正在使用YOLO(在黑暗中)和权重tiny-yolov2。我的tensorflow版本是1.12.0。重量和配置文件从官方网站下载。选项中的GPU使用设置为0.8

开始培训之前,我的GPU使用情况是:

开始培训后:

代码:


@主持人:黑暗标签似乎有双重含义。ML工具包和覆盖网络。对此可以做些什么?@Jeffrey在我的例子中,我使用的是Darknet神经网络框架。目前,标签指的是其他东西,因此它不属于这个问题。此外,如果没有看到一些代码(最少的示例),就不可能帮助您。GPU的使用率非常低,因此您的代码中可能存在一些低效/瓶颈。@xdurch0随部分代码提供。另外,GPU使用0.8已经足够了,因为使用1.0后,PC可能会挂断。我的意思是,屏幕截图显示GPU使用率为12%,这意味着它的计算能力没有得到正确使用。可能存在瓶颈,例如数据加载/预处理。很难说,因为代码仍然没有显示太多(尽管我不得不承认我不熟悉darknet)。@主持人:darknet标签似乎有双重含义。ML工具包和覆盖网络。对此可以做些什么?@Jeffrey在我的例子中,我使用的是Darknet神经网络框架。目前,标签指的是其他东西,因此它不属于这个问题。此外,如果没有看到一些代码(最少的示例),就不可能帮助您。GPU的使用率非常低,因此您的代码中可能存在一些低效/瓶颈。@xdurch0随部分代码提供。另外,GPU使用0.8已经足够了,因为使用1.0后,PC可能会挂断。我的意思是,屏幕截图显示GPU使用率为12%,这意味着它的计算能力没有得到正确使用。可能存在瓶颈,例如数据加载/预处理。很难说,因为代码仍然没有显示太多(尽管我不得不承认我不熟悉darknet)。
import matplotlib.pyplot as plt
import numpy as np

from darkflow_master2.darkflow.net.build import TFNet
import cv2
import os
import tensorflow as tf
os.environ['TF_CPP_MIN_LOG_LEVEL'] = '3'

options = {"model": "cfg/yolov2-3c.cfg",
           "load": "bin/yolov2.weights",
           "batch": 64,
           "epoch": 2,
           "gpu": 0.8,
           "train": True,
           "savepb": True,
           "save": 1000,
           "annotation": "./annotations/",
           "dataset": "./images/",
           "lr  ": 1e-3}

tfnet = TFNet(options)