迁移学习maskrcnn
这里写目录标题
- 制作数据集
- 一、首先使用labelme制作json文件
- 二、将json文件转换成需要的数据格式
- 1、将json文件存在一个文件夹中,并在这个文件夹中新建一个.sh文件:
- 2、将生成的json文件夹们转移到新建的文件夹`labelme_json`中
- 3、新建一个`.py`文件,用于将生成的掩码图`label.png`从原本的16进制转换为8进制
- 迁移学习
- 更改一个版本
制作数据集
一、首先使用labelme制作json文件
在标注完第一个之后,可以将标注的轮廓复制粘贴到新的图上继续进行标注。
二、将json文件转换成需要的数据格式
将json转换成maskrcnn需要的数据格式
几个文件夹:
-json 经过labelme处理的json文件
-labelme_json 将json文件进行处理,得到五个文件
-mask 经过处理之后的掩码
-pic 原图
1、将json文件存在一个文件夹中,并在这个文件夹中新建一个.sh文件:
#!/bin/bash
let i=1
path=./ # json文件路径,将sh文件放到json同目录下为 ./
cd ${path}
for file in *.json # 依次查找json文件
dolabelme_json_to_dataset ${file} #在当前目录下将json文件转换为图片,let i=i+1
done
在此时遇到问题,转换出来的文件缺少yaml文件,按照这个贴子中的指导,修改json_to_dataset
中的代码,并重新运行sh
文件,得到需要的五个文件。
如果代码出现问题,就去github中labelme的源码中将原本代码复制过来进行修改。
labelme源码
2、将生成的json文件夹们转移到新建的文件夹labelme_json
中
3、新建一个.py
文件,用于将生成的掩码图label.png
从原本的16进制转换为8进制
此时这个文件存放的位置可以是任意的,因为输入和输出在文件中都使用的是绝对路径。
#! /usr/bin/env python# coding=utf-8import osimport shutilimport timeimport sysimport importlibimportlib.reload(sys)def copy_and_rename(fpath_input, fpath_output):for file in os.listdir(fpath_input):for inner in os.listdir(fpath_input+file+'/'):print(inner)if os.path.splitext(inner)[0] == "label":former = os.path.join(fpath_input, file)oldname = os.path.join(former, inner)print(oldname)newname_1 = os.path.join(fpath_output,file.split('_')[0] + ".png")#如果图片名称含有_,则改为file.split(' _')[0] + ".png")。#os.rename(oldname, newname)shutil.copyfile(oldname, newname_1)if __name__ == '__main__':print('start ...')t1 = time.time() * 1000#time.sleep(1) #1sfpath_input = "/home/sun/cow-train/train-one/labelme_json/"#...为train_data文件夹地址,按自己的地址修改fpath_output = "/home/sun/cow-train/train-one/mask/"copy_and_rename(fpath_input, fpath_output)t2 = time.time() * 1000print('take time:' + str(t2 - t1) + 'ms')print('end.')
此时maskrcnn需要的训练集已经准备好。
迁移学习
他人学习的代码
按照上述代码进行更改
更改一个版本
在进行训练之前,更改一下这个。不然会报warning。
pip install -U scikit-image==0.16.2
迁移学习maskrcnn相关推荐
- CV好文推荐+迁移学习经验分享
前几日,52CV分享了最近一本新出的书<深度学习500问>中迁移学习相关的内容:有故事.有实践,谈一谈深度迁移学习方法的基本思路,并举办了以"论文推荐+经验分享"赠送这 ...
- PyTorch迁移学习
PyTorch迁移学习 实际中,基本没有人会从零开始(随机初始化)训练一个完整的卷积网络,因为相对于网络,很难得到一个足够大的数据集[网络很深, 需要足够大数据集].通常的做法是在一个很大的数据集上进 ...
- VGG16迁移学习实现
VGG16迁移学习实现 本文讨论迁移学习,它是一个非常强大的深度学习技术,在不同领域有很多应用.动机很简单,可以打个比方来解释.假设想学习一种新的语言,比如西班牙语,那么从已经掌握的另一种语言(比如英 ...
- 优达学城《DeepLearning》2-2:迁移学习
目录 加载和预处理数据 转换数据 数据加载器和数据可视化 定义模型 最终分类器层 指定损失函数和优化器 训练 测试 可视化样本测试结果 大多数时候,你不会想自己训练一个完整的卷积网络.像ImageNe ...
- 【图像分类案例】(2) DenseNet 天气图片四分类(权重迁移学习),附Tensorflow完整代码
各位同学好,今天和大家分享一下使用 Tensorflow 构建 DenseNet 卷积神经网络模型,并使用预训练模型的权重,完成对四种天气图片的分类. 完整代码在我的 Gitee 中,有需要的自取: ...
- 【神经网络】(7) 迁移学习(CNN-MobileNetV2),案例:乳腺癌二分类
各位同学好,今天和大家分享一下Tensorflow2.0中如何使用迁移学习的方法构造神经网络.需要数据集的在评论区留个言. 1. 迁移学习 官方文档:Module: tf.keras.applicat ...
- 一、迁移学习与fine-tuning有什么区别?
一.迁移学习 举个例子,假设boss让你做一下目标检测,这个数据集是关于光纤箱喷码字符检测的.问题是,数据集很少(只有1000张数据),里面有多干扰的信息,你发现从零训练开始训练yolo的效果很差,很 ...
- pytorch与keras_Keras vs PyTorch:如何通过迁移学习区分外星人与掠食者
pytorch与keras by Patryk Miziuła 通过PatrykMiziuła Keras vs PyTorch:如何通过迁移学习区分外星人与掠食者 (Keras vs PyTorch ...
- 读懂深度迁移学习,看这文就够了 | 赠书
百度前首席科学家.斯坦福大学副教授吴恩达(Andrew Ng)曾经说过:迁移学习将是继监督学习之后的下一个促使机器学习成功商业化的驱动力. 本文选自<深度学习500问:AI工程师面试宝典> ...
最新文章
- 每天写的叫工作日志,每周写的总结叫周报,每月写的叫月报
- java调用百度搜索_Java爬虫怎么调用百度搜索引擎,对关键字的网页爬取?
- hybris安装install.sh提示找不到JAVA_HOME环境变量的问题
- DotNetty 实现 Modbus TCP 系列 (三) Codecs Handler
- C# unicode 编码 和 解码
- mysql 横纵表转化_数据库MySQL横纵表相互转化操作实现方法
- 在linux服务器搭建函数,linux ftp服务器搭建
- python面试题之如何用Python找出你目前在哪个目录?
- 训练史上最佳GAN用了512块TPU,一作自述:这不是算法进步,是算力进步
- asmx迷10分钟升级成wcf熟手指南
- 各种边缘检测算子特点比较(canny)
- linux基础总结1
- ansys linux17.2 字体,ubuntu16.04安装Ansys17.2教程,及遇到的问题(安装非完美)
- [Winter Vacation] 语文实词虚词练习册答案
- 激光雷达定位-论文心得
- 无插件使用Eclipse和Resin调试WEB应用(Debug Web App In Ecli...
- 使用Adobe Acrobat编辑PDF,实现文件签名
- python画樱花树教程_turtle模块-知乎画樱花树
- ps软件修改图片中的文字
- python编辑俄罗斯方块_python编写俄罗斯方块