MXNet的数据读取:data.py源码详解

本文深入解析MXNet中data.py脚本,该脚本在fine-tune.py中用于数据读取。讨论了深度学习模型训练中数据读取的重要性,对比了.rec格式与(lst文件)数据读取的优缺点,并详细解读了源码中的数据配置和导入部分。
摘要由CSDN通过智能技术生成

这篇博文介绍MXNet里面比较重要的一个脚本data.py,路径:~/mxnet/example/image-classification/common/data.py。也是在fine-tune.py脚本中用到的数据读入脚本(参考MXNet的fine-tune.py源码详解)。数据读取在深度学习模型训练中算是比较重要的一块,MXNet官网中主要介绍的是.rec格式的数据的读取,不过这个格式比较占磁盘空间(正常情况下和图像所占磁盘空间差不多),虽然一次读入比较省事。但是还是建议其他格式的读入比如利用lst文件从磁盘读入图像,SSD的读取速度还是可以的。这个脚本主要包括数据的一些配置以及最重要的数据导入,接下来直接解读源码。

import mxnet as mx
import random
from mxnet.io import DataBatch, DataIter
import numpy as np


#这个函数主要是输入数据的一些配置,比如最重要的--data-train和--data-val是训练和验证数据集,
# --rgb-mean是均值,--num-class是类别数,--num-examples是训练样本数
def add_data_args(parser):
    data = parser.add_argument_group('Data', 'the input images')
    data.add_argument('--data-train', type=str, help='the training data')
    data.add_argument('--data-val', type=str, help='the validation data')
    data.add_argument('--rgb-mean', type=str, default='123.68,116.779,103.939',
                      help='a tuple of size 3 for the mean rgb')
    data.add_argument('--pad-size', type=int, default=0,
                      help='padding the input image')
    data.add_argument('--image-shape', type=str,
                      help='the image shape feed into the network, e.g. (3,224,224)')
    data.add_argument('--num-classes', type=int, help='the number of classes')
    data.add_argument('--num-examples', type=int, help='the number of training examples')
    data.add_argument('--data-nthreads', type=int, default=4,
                      help='number of threads for data decoding')
    data.add_argument('--benchmark', type=int, default=0<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值