精华内容
下载资源
问答
  • [YOLO专题-16]:YOLO V5 - 如何把labelme json训练数据集批量转换成yolo数据集
    万次阅读
    2022-01-05 23:18:46

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

    本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122334367


    目录

    前言:

    第1章 转换的主要流程

    第2章 转换工具的使用

    第3章 全部源代码


    前言:

    通过labelme等图像化工具生成的自定义数据集,其格式可能并不是yolo txt格式,而是json格式。如何把labelme json训练数据集批量转换成yolo数据集呢?

    这就需要专门的pyton转换工具了。本文将提供该工具的工具过程以及源代码。

    第1章 转换的主要流程

    1.获取input目录中所有的json标签文件全路径名

    2.获取所有标签文件的短文件名称

    3. 按比例随机切分数据集,获取训练集样本

    4 按比例随机切分数据集,获取验证集和测试集样本

    5. 构建YOLO数据集目录:train、vaild、test

    6. 生成YOLO 训练、验证、测试数据集:图片+标签

    (1)生成YOLO样本图片

    • 图片文件copy

    (2)生成YOLO样本标签

    •  获取当前图片的Json标签文件:json_obj = json.load(open(json_filename, "r", encoding="utf-8"))
    • 获取当前图片的长度、宽度信息: height = json_obj['imageHeight']
    • 依次读取json文件中所有目标的shapes信息: 
    • 获取shape中的物体分类信息: label = shape["label"]
    • 获取shape中的物体坐标信息: shape["points"]
    • Labelme坐标转换成YOLO V5坐标:  yolo的坐标是需要归一化处理的
    • 把分类标签转换成分类id:class_id = obj_classes.index(label)
    • 生成YOLO V5的标签文件

    7. 创建YOLO数据集配置文件

    第2章 转换工具的使用

    python convertLabelmeToYolov5.py --input circle_json_data --output circle_yolo
    • convertLabelmeToYolov5.py: 转换工具的python文件名
    • --input circle_json_data:输入的json训练集数据
    • --output circle_yolo:转换后yolo训练数据集

    第3章 全部源代码

    import os
    import numpy as np
    import json
    from glob import glob
    import cv2
    from sklearn.model_selection import train_test_split
    from shutil import copyfile
    import argparse
    
    obj_classes = []
    
    # Labelme坐标到YOLO V5坐标的转换
    def convert(size, box):
        dw = 1. / (size[0])
        dh = 1. / (size[1])
        x = (box[0] + box[1]) / 2.0 - 1
        y = (box[2] + box[3]) / 2.0 - 1
        w = box[1] - box[0]
        h = box[3] - box[2]
        x = x * dw
        w = w * dw
        y = y * dh
        h = h * dh
        return (x, y, w, h)
    
    # 样本转换
    def convertToYolo5(fileList, output_dir, labelme_path):
        # 创建指定样本的父目录
        if not os.path.exists(output_dir):
            os.makedirs(output_dir)
        
        # 创建指定样本的images和labels子目录
        yolo_images_dir = '{}/images/'.format(output_dir)
        yolo_labels_dir = '{}/labels/'.format(output_dir)
        
        if not os.path.exists(yolo_images_dir):
            os.makedirs(yolo_images_dir)
        if not os.path.exists(yolo_labels_dir):
            os.makedirs(yolo_labels_dir)
        
        # 一个样本图片一个样本图片地转换
        for json_file_ in fileList:
            # 1. 生成YOLO样本图片
            # 构建json图片文件的全路径名
            imagePath = labelme_path +'/'+ json_file_ + ".jpg"
            # 构建Yolo图片文件的全路径名
            yolo_image_file_path = yolo_images_dir + json_file_ + ".jpg"
            # copy样本图片
            copyfile (imagePath, yolo_image_file_path)
            
            # 2. 生成YOLO样本标签
            # 构建json标签文件的全路径名
            json_filename = labelme_path +'/'+ json_file_ + ".json"
            # 构建Yolo标签文件的全路径名
            yolo_label_file_path = yolo_labels_dir + json_file_ + ".txt"
            # 创建新的Yolo标签文件
            yolo_label_file = open(yolo_label_file_path, 'w')
            
            # 获取当前图片的Json标签文件
            json_obj = json.load(open(json_filename, "r", encoding="utf-8"))
    
            # 获取当前图片的长度、宽度信息
            height = json_obj['imageHeight']
            width  = json_obj['imageWidth']
            
            # 依次读取json文件中所有目标的shapes信息
            for shape in json_obj["shapes"]:
                # 获取shape中的物体分类信息
                label = shape["label"]
                if (label not in obj_classes):
                    obj_classes.append(label)
                
                # 获取shape中的物体坐标信息
                if (shape["shape_type"] == 'rectangle'):
                    points = np.array(shape["points"])
                    xmin = min(points[:, 0]) if min(points[:, 0]) > 0 else 0
                    xmax = max(points[:, 0]) if max(points[:, 0]) > 0 else 0
                    ymin = min(points[:, 1]) if min(points[:, 1]) > 0 else 0
                    ymax = max(points[:, 1]) if max(points[:, 1]) > 0 else 0
                
                    # 对坐标信息进行合法性检查
                    if xmax <= xmin:
                        pass
                    elif ymax <= ymin:
                        pass
                    else:
                        # Labelme坐标转换成YOLO V5坐标
                        bbox_labelme_float   = (float(xmin), float(xmax), float(ymin), float(ymax))
                        bbox_yolo_normalized = convert((width, height), bbox_labelme_float)
                        
                        # 把分类标签转换成分类id
                        class_id = obj_classes.index(label)
                        
                        # 生成YOLO V5的标签文件
                        yolo_label_file.write(str(class_id) + " " + " ".join([str(a) for a in bbox_yolo_normalized]) + '\n')
            yolo_label_file.close()
        
    def check_output_directory(output = ""):
        # 创建保存输出图片的目录
        save_path = output + '/'
        is_exists = os.path.exists(save_path)
        
        if is_exists:
            print('Warning: path of %s already exist, please remove it firstly by manual' % save_path)
            #shutil.rmtree(save_path)  # 避免误删除已有的文件
            return ""
        
        #print('create output path %s' % save_path)
        os.makedirs(save_path)
        
        return save_path
    
    
    def create_yolo_dataset_cfg(output_dir='', label_class = []):
        # 创建文件
        data_cfg_file = open(output_dir + '/data.yaml', 'w')
        
        # 创建文件内容
        data_cfg_file.write('train:  ../train/images\n')
        data_cfg_file.write("val:    ../valid/images\n")
        data_cfg_file.write("test:   ../test/images\n")
        data_cfg_file.write("\n")
        data_cfg_file.write("# Classes\n")
        data_cfg_file.write("nc: %s\n" %len(label_class))
        data_cfg_file.write('names: ')
        i = 0
        for label in label_class:
            if (i == 0):
                data_cfg_file.write("[")
            else:
                data_cfg_file.write(", ")
                if  (i % 10 == 0):
                    data_cfg_file.write("\n        ")
            i += 1
            data_cfg_file.write("'" + label + "'")
        data_cfg_file.write(']  # class names')
        data_cfg_file.close()
        #关闭文件
    
    def labelme2yolo(input = '', output = ''):
    
        outputdir_root = check_output_directory(output)
        if outputdir_root == "":
            print("No valid output directory, Do Nothing!")
            return -1
        
        labelme_path = input
        
        # 1.获取input目录中所有的json标签文件全路径名
        files = glob(labelme_path + "/*.json")
        
        # 2.获取所有标签文件的短文件名称
        files = [i.replace("\\", "/").split("/")[-1].split(".json")[0] for i in files]
        
        # 3. 按比例随机切分数据集,获取训练集样本
        train_files, valid_test_files = train_test_split(files, test_size=0.3, random_state=55)
        
        # 4. 按比例随机切分数据集,获取验证集和测试集样本
        valid_files, test_files     = train_test_split(valid_test_files, test_size=0.3, random_state=55)
    
        # 5. 构建YOLO数据集目录
        train_path = outputdir_root+'/train'
        valid_path = outputdir_root+'/valid'
        test_path  = outputdir_root+'/test'
        
        # 6. 生成YOLO 训练、验证、测试数据集:图片+标签
        convertToYolo5(train_files, train_path, labelme_path)
        convertToYolo5(valid_files, valid_path, labelme_path)
        convertToYolo5(test_files,  test_path,  labelme_path)
        
        # 7. 创建YOLO数据集配置文件
        create_yolo_dataset_cfg(output, obj_classes)
        
        print("Classes:", obj_classes)
        print('Finished, output path =', outputdir_root)
        
        return 0
        
    def parse_opt():
        # define argparse object
        parser = argparse.ArgumentParser()
        
        # add argument for command line
        parser.add_argument('--input',      type=str, help='The input Labelme directory')
        parser.add_argument('--output',     type=str, help='The output YOLO V5 directory')
        
        # parse arges from command line
        opt = parser.parse_args()
        print("input  =", opt.input)
        print("output =", opt.output)
        
        # return opt
        return opt
    
    def main(opt):
        labelme2yolo(**vars(opt))
    
    if __name__ == '__main__':
        opt = parse_opt()
        main(opt)

    作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客

    本文网址:https://blog.csdn.net/HiWangWenBing/article/details/122334367

    更多相关内容
  • Mask Rcnn训练自己的数据集:本文介绍了Mask Rcnn目标分割算法如何训练coco数据集和balloon数据集,对训练所需的文件以及训练代码进行详细的说明。

    本文介绍了Mask Rcnn目标分割算法如何训练自己数据集,对训练所需的文件以及训练代码进行详细的说明。

    官方提供了coco数据集和balloon数据集两种,可以基于以上数据集进行训练,也可以基于自己采集的数据集进行训练,下面将对两种不同方式进行详细的介绍。

    使用balloon气球数据集训练(使用coco数据集步骤相同)

    下一篇博文介绍如何训练自己采集的数据集

    1、balloon气球训练数据集

    数据集和权重文件mask_rcnn_balloon.h5在我的github里,可以直接下载(后续附上,现在有需要可以直接留言,我发你)

    balloon气球训练数据集中包含图片和对应标签,无需我们再去制作标签,训练步骤比较简单

    2、测试

    首先测试用已有的mask_rcnn_balloon.h5权重测试检测代码能否正常运行

    (1)ballon.py文件的修改:

    把–dataset、–weights、–logs路径替换成自己的。

    (2)之前以为在这里设置好了参数,就可以直接运行,但是每次运行时还是报错没有参数,所以最后还是只能在pycharm参数里添加这些参数,点击运行旁边的向下箭头选择Edit Configuratios

    在Parameters这里输入程序运行的相关参数:

    我这里输入的是:

    splash

    --weights="D:/2021file/Biye/Mask_RCNN-master/samples/balloon//mask_rcnn_balloon.h5"

    --image="D:/2021file/Biye/Mask_RCNN-master/samples/balloon/val/24631331976_defa3bb61f_k.jpg"

    分别对应:测试、权重文件、测试图片路径

    (3)顺利的话就能看到结果了

    原图:

    分割结果: 

    3、训练

    (1)下载的balloon_dataset.zip:气球数据集下载后,解压放到当前项目中(放到samples/中,代码里面我都放的绝对路径,所以解压到哪其实都可以),该数据集文件下分为train、val两个文件夹。

    每个文件下包含图片和对应的标签文件.json

    (2)然后修改balloon.py对应的参数,

    train

    --dataset="D:/2021file/Biye/Mask_RCNN-master/samples/balloon/"

    --weights="D:/2021file/Biye/Mask_RCNN-master/samples/balloon//mask_rcnn_balloon.h5"

    分别对应:训练、数据集路径、权重文件

    (3)点击运行就开始训练了

    我这有很多警告,不过不影响程序运行,我就没管了

    每轮的训练参数会保存到logs文件中

    (4)使用tensorboard查看训练过程
    tensorboard --logdir="D:/2021file/Biye/Mask_RCNN-master/logs/balloon20220415T1019"

    =后面输入自己保存的文件夹名称

    运行后在浏览器打开下面地址:(有时候运行框给我的地址是http://ComputerDing:6006,并不可用,所以我直接手动进入下面地址 )

    http://localhost:6006/

    (5)训练好后按照本文2中的测试方法进行测试即可,注意将代码中的权重路径修改为对应训练logs中的路径

    展开全文
  • 为什么要训练数据集与测试数据集?   在上一篇博客主要学习了过拟合和欠拟合的概念。在后面的学习中慢慢就会发现机器学习中主要处理的是过拟合问题。   现在我们仔细观察一下在上一篇博客最后得到的过拟合的曲线...

    为什么要训练数据集与测试数据集?

      在上一篇博客主要学习了过拟合和欠拟合的概念。在后面的学习中慢慢就会发现机器学习中主要处理的是过拟合问题。

      现在我们仔细观察一下在上一篇博客最后得到的过拟合的曲线。

    在这里插入图片描述
      我们说它之所以过拟合,是因为虽然我们学习到的这个曲线使得我们整个样本使用这个曲线进行预测的误差变小了,但是如果有一个新的样本的话,比如下图紫色的点对应的 x x x 坐标大概是 2.5 左右,那么根据我们的这个曲线预测的结果大概是 0.5 左右,显然可以发现这个预测的结果和之前蓝色的样本点相差太大。我们直观的就会觉得这个预测值很有可能是错误的。换句话说,在过拟合这种场景下,虽然这条曲线将原来的样本点拟合的非常好,总体的误差非常的小。但是一旦来了新的样本点,那么它就不能进行很好的预测了。

    在这里插入图片描述
      在以上情况下,我们就称我们得到的这个模型的泛化能力是非常弱的。在这里所谓的泛化能力,就是所谓的由此及彼的能力。也就是说我们根据我们已知的这些训练数据得到的这条曲线,可是这条曲线在面对新的数据的时候它的能力却非常的弱,也就是泛化能力非常的差。

      到这里,就可以想象了。我们要训练这个模型目的不是最大程度的拟合这些点,而是为了可以获得一个可以预测的模型,当有了新的样本,新的数据的时候,我们的模型可以很好的给出解答。正因为如此,我们去衡量我们的这个模型对于训练的数据的拟合程度有多好是没有意义的。我们真正需要的是能够衡量我们得到的这个模型的泛化能力有多好

      那在这种情况下,我们应该怎么做呢?

      其实答案非常简单,这个做法我们之前也一直在使用,就是将原始的数据集分成训练数据集和测试数据集。而我们获得这个模型只使用训练数据集,而测试数据对于我们的模型来说就是全新的数据。

    在这里插入图片描述
      如果我们训练数据获得的模型面对测试数据也能获得很好的结果的话。我们就说这个模型的泛化能力是很强的。因为它能通过训练数据得到的模型很好的给出测试数据这些新的数据相应的结果。但是如果这个模型面对测试数据,它的效果很差的话,那么这个模型的泛化能力就很弱。

      下面,我们就实际的来看一下对于我们的多项式回归来说,当我们的 d e g r e e degree degree 取不同的值的时候,我们通过训练数据获得的模型对于这个测试数据相应的预测的误差是怎样变化的?


    具体实现

    下面接着上一篇博客的 J u p y t e r N o t e b o o k Jupyter Notebook JupyterNotebook 接着写:

    在这里插入图片描述
    在这里插入图片描述

      我们在 N o t e b o o k Notebook Notebook 进行的实验是在实验模型的复杂度。对于多项式回归来说,相当于我们的 d e g r e e degree degree 越大,我们的模型就会越复杂。这种情况下通常我们的机器学习算法来说,是有这样的一个图的。

    在这里插入图片描述
      对于测试数据集来说,模型越复杂,模型的准确率就越高。但是对于测试数据集来说,模型复杂度达到一定程度时,模型的准确率就又开始降低了。其实就是从欠拟合到合适再到过拟合的这个过程。其实我们真正要找的就是泛化能力最好的地方。换句话说,也就是对于我们的测试数据集来说模型的准确率最高的地方。

    在这里插入图片描述


      具体代码见 42 过拟合和欠拟合.ipynb

    展开全文
  • 使用python划分训练数据集

    千次阅读 2022-04-02 10:45:44
    划分数据集 在实现机器学习的过程中,训练集是用来训练模型的,给模型输入和对应的输出,让模型...# 划分数据集flower_data,数据集划分到flower_datas中,训练验证比例为8:2 import os from shutil import copy imp

    划分数据集

    在实现机器学习的过程中,训练集是用来训练模型的,给模型输入和对应的输出,让模型学习它们之间的关系。

    验证集是用来估计模型的训练水平,比如分类器的分类精确度,预测的误差等,我们可以根据验证集的表现来选择最好的模型。

    划分数据集功能描述:将一个大数据集按比例划分为训练集和验证集(如下图)
    在这里插入图片描述

    代码:

    #split_data.py
    # 划分数据集flower_data,数据集划分到flower_datas中,训练验证比例为8:2
    import os
    from shutil import copy
    import random
    
    
    def mkfile(file):
        if not os.path.exists(file):
            os.makedirs(file)
    
    
    # 获取data文件夹下所有文件夹名(即需要分类的类名)
    #划分数据集flower_data,数据集划分到flower_datas中
    file_path = 'F:/gao/data/flower_data'
    new_file_path = 'F:/gao/data/flower_datas'
    
    # 划分比例,训练集 : 验证集 = 8 : 2
    split_rate = 0.2
    
    data_class = [cla for cla in os.listdir(file_path)]
    
    train_path = new_file_path + '/train/'
    val_path = new_file_path + '/val/'
    # 创建 训练集train 文件夹,并由类名在其目录下创建子目录
    mkfile(new_file_path)
    for cla in data_class:
        mkfile(train_path + cla)
    
    # 创建 验证集val 文件夹,并由类名在其目录下创建子目录
    mkfile(new_file_path)
    for cla in data_class:
        mkfile(val_path + cla)
    
    
    # 遍历所有类别的全部图像并按比例分成训练集和验证集
    for cla in data_class:
        cla_path = file_path + '/' + cla + '/'  # 某一类别的子目录
        images = os.listdir(cla_path)  # iamges 列表存储了该目录下所有图像的名称
        num = len(images)
        eval_index = random.sample(images, k=int(num * split_rate))  # 从images列表中随机抽取 k 个图像名称
        for index, image in enumerate(images):
            # eval_index 中保存验证集val的图像名称
            if image in eval_index:
                image_path = cla_path + image
                new_path = val_path + cla
                copy(image_path, new_path)  # 将选中的图像复制到新路径
    
            # 其余的图像保存在训练集train中
            else:
                image_path = cla_path + image
                new_path = train_path + cla
                copy(image_path, new_path)
            print("\r[{}] processing [{}/{}]".format(cla, index + 1, num), end="")  # processing bar
        print()
    
    print("processing done!")
    
    

    注意:

    只需要修改file_path(源文件夹)和new_file_path(新生成的文件夹)

    其次是修改split_rate(split_rate=0.2就是训练集:验证集=8:2)

    )和new_file_path(新生成的文件夹)

    其次是修改split_rate(split_rate=0.2就是训练集:验证集=8:2)

    展开全文
  • 如何确定最佳训练数据集规模?

    千次阅读 2019-06-05 10:36:17
    在本文中,作者针对线性回归模型和深度学习模型,分别介绍了确定训练数据集规模的方法。 数据是否会成为新时代的“原油”是人们近来常常争论的一个问题。 无论争论结果如何,可以确定的是,在机器学前期,数据...
  • 将全部的原始数据当做训练集直接训练出模型,然后投入到真实环境中,这种做法是不恰当的,存在问题: 如果模型效果很差,没有机会通过实际调试就直接应用到实际当中,怎么办?(# 实例:股市预测) 在真实环境...
  • yolov5训练数据集划分

    千次阅读 2021-04-11 21:16:13
    yolov5训练数据集划分 按照默认8:1:1划分训练集,测试集,验证集。 txt文件出现在imageset文件夹。 import os import random trainval_percent = 0.9 train_percent = 0.9 xmlfilepath = 'data/Annotations' ...
  • 前言:数据是深度学习的血液,本文介绍一下当前非常常见的一些数据集。 1 ImageNet ImageNet是一个计算机视觉系统识别项目,是目前世界上图像识别最大的数据库。是美国斯坦福的计算机科学家李飞飞模拟人类的识别...
  • YOLOV5超详细自定义训练数据集

    千次阅读 热门讨论 2020-09-26 17:40:56
    yolov5自定义数据集训练 源码:官方源码 教程所用环境:代码版本:V3.0 Pytorch:1.6.0 Cuda:10.1 python:3.6 准备数据集(VOC格式) Annotations文件夹下面为xml文件(标注工具采用labelImage),内容如下: ...
  • 因此,在机器学习项目中,一个关键的问题是,为了达到比如分类器准确度等特定性能指标,我们需要多少训练数据才够。训练数据多少的问题在相关文献中也称为样本复杂度。 在这篇文章中,我们将从回归分析开始到深度...
  • 包括:安装YOLOv5、标注自己的数据集、准备自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型和性能统计。  希望学习在Windows系统上演示的学员,请前往《YOLOv5(PyTorch)实战:训练自己的...
  • 由于要训练自己的数据集,所以就需要人工标注数据,使用软件为labelme。该工具非常好用,基本可以满足深度学习众多任务的数据标注需求具体使用如下步骤所示: 软件的安装和详细介绍请参考我之前的博文...
  • 训练神经网络模型之前,需要先获取训练数据集和测试数据集,本文介绍的获取数据集(get_data_train_test)的方法包括以下步骤: 1 在数据集文件夹中,不同类别图像分别放在以各自类别名称命名的文件夹中; 2 获取...
  • 作者:Pete Warden;翻译:申利彬;校对:丁楠雅;本文约6800字,建议阅读10分钟。本文作者基于自身项目经验阐述训练数据的重要性并分享了一些改进的实用技巧。Li...
  • 在本文中,作者针对线性回归模型和深度学习模型,分别介绍了确定训练数据集规模的方法。 作者 |Theophano Mitsa 译者 |Johanna 编辑 | 十月 Rachel、Jane 出品 | AI科技大本营(ID:rgznai100) 数据是否会...
  • 包括:安装Darknet、给自己的数据集打标签、整理自己的数据集、修改配置文件、训练自己的数据集、测试训练出的网络模型、性能统计(mAP计算和画出PR曲线)和先验框聚类。 Darknet是使用C语言实现的轻型开源深度学习...
  • 使用YOLOv3模型训练自己的数据集

    热门讨论 2018-04-02 17:12:00
    使用YOLOv3模型训练自己的数据集,在Ubuntu16.04下面已经能够成功运行,下载使用好了给个好评,O(∩_∩)O谢谢
  • 1. 简介在Andrew Ng的机器学习教程里,会将给定的数据集分为三部分:训练数据集(training set)、交叉验证数据集(cross validation set)、测试数据集(test set)。三者分别占总数据集的60%、20%、20%。 那么...
  • iris dataset iris dataset XML format iris dataset JSON format iris dataset CSV format iris dataset Markdown table format iris dataset ...iris dataset LaTex table format iris dataset cr...
  • 这么做的好处是可以加快运算速度,但是,经过测试发现,过大批训练数据,容易引起训练结果不准确,拟合度低的缺点,下面我举一个例子说明: import numpy as np from sklearn.utils import shuffle import ...
  • YOLOV5训练数据集P、R、mAP等均为0的解决方案

    千次阅读 热门讨论 2021-11-02 21:13:05
    使用YOLOV5训练数据集时,P、R等值均为0 最近在用YOLOV5训练自己的数据集,执行了十几个epochs之后,epoch的主要参数,比如box,obj,cls,labels等均为nan或0,即没有跑通正确的结果,找了很多方案,最终发现是...
  • 对于监督学习算法而言,需要大量的结构化的数据集,这就涉及到数据标注,本文主要介绍图像标注工具。 先说一下图片类数据的标注方式主要是画框、语义分割、打点、四边形转写、属性标注、画线。 其实很多人都已经...
  • SVM机器学习实战1(含训练数据集

    万次阅读 2018-09-04 17:52:51
    本文的代码亲测有效,数据直接从网上load下来的,若想看源数据进入数据地址即可。第一次写博客也不会组织语言,将就着看看咯,主要是想为自己写过的code留下一些印记,方便以后查证。 以下是sklearn中现成的应用...
  • 从大学毕业起,小编就开始收集各类数据集,经过近几年的积累和沉淀,小编收集整理了32套数据集,内容涵盖“自动驾驶”、“人脸识别”、“世界杯”、“股票数据”、“基因组数据”、...
  • 干货|免费文本语料训练数据集

    万次阅读 2017-12-18 00:00:00
    文本语料训练数据集 下载训练数据 下面提供一些网上能下载到的中文的好语料,供研究人员学习使用。 (1) 中科院自动化所的中英文新闻语料库  http://www.datatang.com/data/13484 中文新闻分类语料库从凤凰、新浪、...
  • 训练数据集进行数据增强代码

    万次阅读 多人点赞 2019-07-07 21:53:01
    训练数据集进行数据增强代码 原代码如下所示: ### 本代码共采用了四种数据增强,如采用其他数据增强方式,可以参考本代码,随意替换。 imageDir 为原数据集的存放位置 saveDir 为数据增强后数据的存放位置 ### ...
  • 作者主页(文火冰糖的硅基工坊):文火冰糖(王文兵)的博客_文火冰糖的硅基工坊_CSDN博客 本文网址: 目录 前言: ...在实际项目中,有时候,没有开源的数据集可用,或者开源的数据集与我们自己业务...
  • titanic数据集下载

    2018-04-21 20:21:39
    titanic数据集,分为训练集和测试集,训练集有12列特征
  • 对于分类问题训练集和测试集的划分不应该用整个样本空间的特定百分比作为训练数据,而应该在其每一个类别的样本中抽取特定百分比作为训练数据。sklearn模块提供了数据集划分相关方法,可以方便的划分训练集与测试集...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 455,503
精华内容 182,201
关键字:

怎么训练数据集