当前位置:网站首页>Implement your own dataset using bisenet
Implement your own dataset using bisenet
2022-07-07 08:23:00 【I am a little rice】
Data set preparation
Data sets : Remote sensing house image segmentation , There are two times , It is mainly to realize the area change of building area with time .
Baidu cloud :https://pan.baidu.com/s/1HlnKWToc00986jiTxhq_CA
Extraction code :RSAI
Data processing
1. Data sets
The data set is stored in the root directory datasets
Under the folder , And coco
and city
Data set juxtaposition , If the label of your dataset is already 0,1
, Then don't worry label_255
, If the label has not passed 255-->1
The transformation of , You can put the label file in label_255
Next .
—BiSeNet
---------datasets
-----------------coco
-----------------cityscapes
-----------------time
-----------------------train
------------------------------image
------------------------------label_255
------------------------------label
-----------------------val
------------------------------image
------------------------------label_255
------------------------------label
2. stay datasets/times/
Create under folder one.py
The aim is to 0,255
The label of is converted to 0,1
, If it's multi class , Then the label is 0,1,2,3,...n
In the code, only train
Documents in , To transform val Documents in , modify train
by val
that will do
import os
import cv2 as cv
labels_path = './train/label_255'
labels_save_path = './train/label'
lab_names = os.listdir(labels_path)
for s in lab_names:
label_path = os.path.join(labels_path, s)
label_save_path = os.path.join(labels_save_path, s)
label = cv.imread(label_path, 0)
label[label!=0]=1
cv.imwrite(label_save_path, label)
2. stay datasets/times/
Create under folder util.py
file
The goal is to generate train.txt
Document and val.txt
file , To transform val.txt
file , Just add all of the following code train
Switch to val
that will do ( There are three )
import os
image_path = './train/image'
label_path = './train/label'
image_names = os.listdir(image_path)
for s in image_names:
image = os.path.join(image_path, s)
label = os.path.join(label_path, s)
with open('train.txt', 'a') as fin:
fin.write(image[2:] +","+ label[2:] +"\n")
fin.close()
Network model address
Model modification
1. modify configs/bisenet_customer.py
file
n_cats
: Number of categories including background , The category here is 2
max_iter
: Training times im_root
: Data path train_im_anns
: Just generated train.txt route val_im_anns
: Just generated val.txt route cropsize
: Change to image size eval_crop
: Change to image size ( I don't know the effect )ims_per_gpu:gpu
Number
2. Modify category
This dataset category is 2
If configs/bisenet_customer.py
Medium model_type='bisenetv2'
modify lib/models/bisenetv2.py
In the document n_classes=2
If configs/bisenet_customer.py
Medium model_type='bisenetv1'
modify lib/models/bisenetv1.py
In the document BiSeNetV1(2)
Run the command
--nproc_per_node
Do not know what that mean? , there 2
yes gpu
The number of
CUDA_VISIBLE_DEVICES=0,1 torchrun --nproc_per_node=2 tools/train_amp.py --config configs/bisenet_customer.py
And it's going to work !!
边栏推荐
- Famine cloud service management script
- Obsidan之数学公式的输入
- CCTV is so warm-hearted that it teaches you to write HR's favorite resume hand in hand
- Hisense TV starts the developer mode
- Splunk子查询模糊匹配csv中字段值为*
- Uniapp mobile terminal forced update function
- Vulnerability recurrence easy_ tornado
- Interview questions (CAS)
- Myabtis_ Plus
- Rainbow combines neuvector to practice container safety management
猜你喜欢
Rainbow version 5.6 was released, adding a variety of installation methods and optimizing the topology operation experience
船载雷达天线滑环的使用
Using helm to install rainbow in various kubernetes
The truth of robot education in hands-on practice
轻松上手Fluentd,结合 Rainbond 插件市场,日志收集更快捷
一文了解如何源码编译Rainbond基础组件
[step on the pit series] H5 cross domain problem of uniapp
漏洞複現-Fastjson 反序列化
藏书馆App基于Rainbond实现云原生DevOps的实践
Rainbond结合NeuVector实践容器安全管理
随机推荐
[quick start of Digital IC Verification] 11. Introduction to Verilog testbench (VTB)
BiSeNet的特點
The reified keyword in kotlin is used for generics
Function extension, attribute extension and non empty type extension in kotlin
Leetcode 187 Repeated DNA sequence (2022.07.06)
Blob 對象介紹
柯基数据通过Rainbond完成云原生改造,实现离线持续交付客户
Interactive book delivery - signed version of Oracle DBA work notes
Ebpf cilium practice (2) - underlying network observability
提高企业产品交付效率系列(1)—— 企业应用一键安装和升级
Complete linear regression manually based on pytoch framework
Splunk查询csv lookup table数据动态查询
Openvscode cloud ide joins rainbow integrated development system
Interview questions (CAS)
Bayes' law
opencv学习笔记二——图像基本操作
The largest 3 same digits in the string of leetcode simple question
解析机器人科技发展观对社会研究论
Pvtv2--pyramid vision transformer V2 learning notes
饥荒云服管理脚本