国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

從零開始復現(xiàn)seaformer(語義分割)訓練自己的數(shù)據(jù)集——linux

這篇具有很好參考價值的文章主要介紹了從零開始復現(xiàn)seaformer(語義分割)訓練自己的數(shù)據(jù)集——linux。希望對大家有所幫助。如果存在錯誤或未考慮完全的地方,請大家不吝賜教,您也可以點擊"舉報違法"按鈕提交疑問。

引言:

出于模型輕量化需求,需對原有的皮膚分割模型進行重新研發(fā)。seaformer是作為今年復旦大學和騰訊聯(lián)合提出的輕量級語義分割算法,具有很好的參考價值。因此,作者基于seaformer算法對自研數(shù)據(jù)集進行訓練,完成輕量級皮膚分割模型的開發(fā)。

一、seaformer源碼下載

1.下載地址:https://github.com/fudan-zvg/SeaFormer

2.解壓到自己的目錄當中,我們主要使用sesaformer-seg,具體結(jié)構(gòu)如下:

seaformer,linux,服務器,python,人工智能,pytorch

二、制作相關數(shù)據(jù)集

1.使用labelme工具對自己的數(shù)據(jù)進行標注,具體不再贅述

2.通過labelme工具進行數(shù)據(jù)標注后,我們可以得到原圖和.json文件

seaformer,linux,服務器,python,人工智能,pytorch

3.將.josn文件批量轉(zhuǎn)換為用于訓練的mask,文件具體格式如下:

seaformer,linux,服務器,python,人工智能,pytorch

批量轉(zhuǎn)換可參考:將labelme的json文件批量轉(zhuǎn)為png形式 - 知乎 (zhihu.com)https://zhuanlan.zhihu.com/p/649269470創(chuàng)建data文件夾,在data文件夾下新建cityscapes文件夾,cityscapes文件夾底下再新建gtFine與leftImg8bit文件夾(gtFine與leftImg8bit同級)。在leftImg8bit文件夾中存放原圖(后綴為.png格式),gtFine文件夾用來存放8bit的全黑mask圖像(此時暫為空)。具體結(jié)構(gòu)如下:

seaformer,linux,服務器,python,人工智能,pytorch

.json文件完成轉(zhuǎn)換后,第一張全黑的圖片就是我們需要的圖像,參照seaformer中訓練數(shù)據(jù)集cityscapes,要求的標簽圖像格式為8bit(原標簽圖像為24bit),通過以下代碼實現(xiàn)轉(zhuǎn)換:

import cv2
import os

# 24bit to 8bit
bit24_dir = r'E:\Face_Parsing_BiseNetV2-master\ATR\masks'  # 存放.json轉(zhuǎn)換后的24bit全黑圖像文件夾
if not os.path.exists('data/cityscapes/gtFine'):
    os.makedirs('data/cityscapes/gtFine')
bit8_dir = 'data/cityscapes/gtFine'
png_names = os.listdir(bit24_dir)
for i in png_names:
    img = cv2.imread(bit24_dir + '/' + i)
    gray = cv2.cvtColor(img, cv2.COLOR_RGB2GRAY)
    cv2.imencode('.png', gray)[1].tofile(bit8_dir + '/' + i)

4.創(chuàng)建并運行train_val.py完成訓練數(shù)據(jù)集與測試數(shù)據(jù)集的劃分

import os
import random
import shutil

total_list = []
train_list = []
val_list = []

image_path = 'data/cityscapes/leftImg8bit'
label_path = 'data/cityscapes/gtFine'

# 清空
for dir in ['train', 'val']:
    image_dir = os.path.join(image_path, dir)
    label_dir = os.path.join(label_path, dir)
    if os.path.exists(image_dir):
        shutil.rmtree(image_dir)
    os.makedirs(image_dir)
    if os.path.exists(label_dir):
        shutil.rmtree(label_dir)
    os.makedirs(label_dir)

for root, dirs, files in os.walk(image_path):
    for file in files:
        if file.endswith('png'):
            total_list.append(file)

total_size = len(total_list)
train_size = int(total_size * 0.8)
val_size = total_size - train_size

train_list = random.sample(total_list, train_size)
remain_list = list(set(total_list) - set(train_list))
val_list = random.sample(remain_list, val_size)

for file in total_list:
    image_path_0 = os.path.join(image_path, file)
    label_file = file.split('.')[0] + '.png'
    label_path_0 = os.path.join(label_path, label_file)
    if file in train_list:
        image_path_1 = os.path.join(image_path, 'train', file)
        shutil.move(image_path_0, image_path_1)

        label_path_1 = os.path.join(label_path, 'train', label_file)
        shutil.move(label_path_0, label_path_1)

    elif file in val_list:
        image_path_1 = os.path.join(image_path, 'val', file)
        shutil.move(image_path_0, image_path_1)

        label_path_1 = os.path.join(label_path, 'val', label_file)
        shutil.move(label_path_0, label_path_1)

print(len(total_list))
print(len(train_list))
print(len(val_list))

生成目錄格式:

seaformer,linux,服務器,python,人工智能,pytorch

三、訓練seaformer網(wǎng)絡

1.環(huán)境搭建:

1)conda 虛擬環(huán)境創(chuàng)建

conda create -n your_env_name python=x.x  #python==3.8(作者版本)

2)激活虛擬環(huán)境并安裝pytorch(gpu),建議安裝1.8版本,太高版本的pytorch在安裝mmcv-full時會在build時出現(xiàn)報錯

3)安裝mmcv-full

pip install -U openmim
mim install mmcv-full==1.5.0 #seaformer要求1.3.14版本(1.5.0為作者版本)

4)安裝相關依賴包

cd /home/uboot/chen/SeaFormer-main/seaformer-seg
pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple/

2.修改相關代碼文件

1)修改SeaFormer-main\seaformer-seg\local_configs\seaformer\seaformer_small_1024x512_160k_1x8city.py文件

seaformer,linux,服務器,python,人工智能,pytorch

將num_classes修改為自己的類別數(shù),background算一個類,其他按照自己的圖像尺寸進行修改。

2)在seaformer-seg下創(chuàng)建modelzoos文件夾,在modelzoos文件夾下創(chuàng)建classification文件夾用于存放seaformer提供的預訓練權(quán)重文件,將下載的預訓練權(quán)重改名為SeaFormer_S.pth。修改SeaFormer-main\seaformer-seg\local_configs\seaformer\seaformer_small.py,改為自己的類別數(shù)并將第一行中的SyncBN改為BN

seaformer,linux,服務器,python,人工智能,pytorch

3)修改SeaFormer-main\seaformer-seg\mmseg\datasets\cityscapes.py,修改為自己的標簽名,顏色隨便填;img_suffix和seg_map_suffix記得修改不然會出現(xiàn)加載不到圖像報錯的情況。

seaformer,linux,服務器,python,人工智能,pytorch

四、開始訓練

bash tools/dist_train.sh local_configs/seaformer/seaformer_small_1024x512_160k_1x8city.py 1

seaformer,linux,服務器,python,人工智能,pytorch

迭代次數(shù)可以在SeaFormer-main\seaformer-seg\local_configs\_base_\schedules\schedule_160k.py中設置

seaformer,linux,服務器,python,人工智能,pytorch

五、結(jié)果輸出

seaformer,linux,服務器,python,人工智能,pytorch

記錄一下,若存在不對的地方,請大家多多包涵~文章來源地址http://www.zghlxwxcb.cn/news/detail-849263.html

到了這里,關于從零開始復現(xiàn)seaformer(語義分割)訓練自己的數(shù)據(jù)集——linux的文章就介紹完了。如果您還想了解更多內(nèi)容,請在右上角搜索TOY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來自互聯(lián)網(wǎng)用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權(quán),不承擔相關法律責任。如若轉(zhuǎn)載,請注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實不符,請點擊違法舉報進行投訴反饋,一經(jīng)查實,立即刪除!

領支付寶紅包贊助服務器費用

相關文章

  • YOLOv5目標檢測:ubuntu1804從零開始使用YOLOv5訓練自己的數(shù)據(jù)集(親測有效,一步一步來一定行)

    YOLOv5目標檢測:ubuntu1804從零開始使用YOLOv5訓練自己的數(shù)據(jù)集(親測有效,一步一步來一定行)

    (1)首先需要安裝Anaconda,這個網(wǎng)上教程太多了,下載最新版本就行,在這里就不在贅述了。 (2)安裝Pytorch 1. 首先創(chuàng)建python3.6以上版本的conda環(huán)境,在這里我用的是python3.8,環(huán)境名稱為mypytorch 2. 激活創(chuàng)建好的conda環(huán)境 3.在PyTorch官網(wǎng)上選擇指定版本安裝Pytorch Install PyTorch: h

    2024年02月19日
    瀏覽(93)
  • 適合小白的超詳細yolov8環(huán)境配置+實例運行教程,從零開始教你如何使用yolov8訓練自己的數(shù)據(jù)集(Windows+conda+pycharm)

    適合小白的超詳細yolov8環(huán)境配置+實例運行教程,從零開始教你如何使用yolov8訓練自己的數(shù)據(jù)集(Windows+conda+pycharm)

    ? 目錄 一、前期準備+所需環(huán)境配置? 1.1. 虛擬環(huán)境創(chuàng)建 1.2 下載yolov8源碼,在pycharm中進行配置 1.2.1 下載源碼 1.2.2 在pycharm終端中配置conda 1.3?在pycharm的terminal中激活虛擬環(huán)境? 1.4 安裝requirements.txt中的相關包 1.5 pip安裝其他包 1.6 預訓練權(quán)重的下載? 1.7 驗證環(huán)境配置是否成功

    2024年02月05日
    瀏覽(26)
  • 學習Segformer語義分割模型并訓練測試cityscapes數(shù)據(jù)集

    學習Segformer語義分割模型并訓練測試cityscapes數(shù)據(jù)集

    官方的segformer源碼是基于MMCV框架,整體包裝較多,自己不便于閱讀和學習,我這里使用的是Bubbliiiing大佬github復現(xiàn)的segformer版本。 Bubbliiiing大佬代碼下載鏈接: https://github.com/bubbliiiing/segformer-pytorch 大佬的代碼很優(yōu)秀簡練,注釋也很詳細,代碼里采用的是VOC數(shù)據(jù)集的格式,因

    2024年02月15日
    瀏覽(16)
  • YOLOv5入門實踐(5)——從零開始,手把手教你訓練自己的目標檢測模型(包含pyqt5界面)

    YOLOv5入門實踐(5)——從零開始,手把手教你訓練自己的目標檢測模型(包含pyqt5界面)

    ? 通過前幾篇文章,相信大家已經(jīng)學會訓練自己的數(shù)據(jù)集了。本篇是YOLOv5入門實踐系列的最后一篇,也是一篇總結(jié),我們再來一起按著 配置環(huán)境--標注數(shù)據(jù)集--劃分數(shù)據(jù)集--訓練模型--測試模型--推理模型 的步驟,從零開始,一起實現(xiàn)自己的目標檢測模型吧! 前期回顧: YOLO

    2023年04月26日
    瀏覽(32)
  • 基于MindSpore復現(xiàn)UNet—語義分割

    Unet模型于2015年在論文《U-Net: Convolutional Networks for Biomedical Image Segmentation》中被提出,最初的提出是為了解決醫(yī)學圖像分割問題,用于細胞層面的圖像分割任務。 UNet模型是在FCN網(wǎng)絡的基礎上構(gòu)建的,但由于FCN無法獲取上下文信息以及位置信息,導致準確性較低,UNet模型由此

    2024年02月05日
    瀏覽(19)
  • 復現(xiàn)PointNet++(語義分割網(wǎng)絡):Windows + PyTorch + S3DIS語義分割 + 代碼

    復現(xiàn)PointNet++(語義分割網(wǎng)絡):Windows + PyTorch + S3DIS語義分割 + 代碼

    Windows 10 GPU RTX 3090 + CUDA 11.1 + cudnn 8.9.6 Python 3.9 Torch 1.9.1 + cu111 所用的原始代碼:https://github.com/yanx27/Pointnet_Pointnet2_pytorch Stanford3dDataset_v1.2_Aligned_Version 分享給有需要的人,代碼質(zhì)量勿噴。 對源代碼進行了簡化和注釋。 分割結(jié)果保存成txt,或者利用 laspy 生成點云。 別問為啥在

    2024年01月21日
    瀏覽(27)
  • YOLOv8訓練自己的分割數(shù)據(jù)集

    YOLOv8訓練自己的分割數(shù)據(jù)集

    Ultralytics YOLOv8?是由?Ultralytics?開發(fā)的一個前沿的?SOTA?模型。它在以前成功的?YOLO?版本基礎上,引入了新的功能和改進,進一步提升了其性能和靈活性。YOLOv8?基于快速、準確和易于使用的設計理念,使其成為廣泛的目標檢測、圖像分割和圖像分類任務的絕佳選擇。YOLOv5 自

    2024年02月04日
    瀏覽(24)
  • YOLOv8檢測、分割和分類訓練自己數(shù)據(jù)集

    YOLOv8檢測、分割和分類訓練自己數(shù)據(jù)集

    本人寫了一鍵制作三種數(shù)據(jù)集的代碼,還帶數(shù)據(jù)增強哦,可聯(lián)系QQ:1781419402獲取,小償! Yolov8下載地址:GitHub - ultralytics/ultralytics: YOLOv8 ?? in PyTorch ONNX CoreML TFLitexx 下載完成后 按照YOLOv8教程系列:一、使用自定義數(shù)據(jù)集訓練YOLOv8模型(詳細版教程,你只看一篇->調(diào)參攻略),

    2023年04月17日
    瀏覽(23)
  • 完整且詳細的Yolov8復現(xiàn)+訓練自己的數(shù)據(jù)集

    完整且詳細的Yolov8復現(xiàn)+訓練自己的數(shù)據(jù)集

    Yolov8 的源代碼下載: ultralytics/ultralytics: NEW - YOLOv8 ?? in PyTorch ONNX CoreML TFLite (github.com) https://github.com/ultralytics/ultralytics Yolov8的權(quán)重下載: Releases · ultralytics/assets · GitHub Ultralytics assets. Contribute to ultralytics/assets development by creating an account on GitHub. https://github.com/ultralytics/assets

    2024年02月16日
    瀏覽(27)
  • InternImage segmentation部分代碼復現(xiàn)及訓練自己的數(shù)據(jù)集(一)

    InternImage segmentation部分代碼復現(xiàn)及訓練自己的數(shù)據(jù)集(一)

    所謂“復現(xiàn)”,不過是跑通了官方的代碼,以下僅為個人的一些經(jīng)驗和理解,歡迎指正。 (其實僅作為個人學習使用,也歡迎交流) 首先貼出官方文獻和代碼: 官方文獻:InternImage: Exploring Large-Scale Vision Foundation Models with Deformable Convolutions,鏈接:InternImage: Exploring Large-Sca

    2024年02月14日
    瀏覽(49)

覺得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請作者喝杯咖啡吧~博客贊助

支付寶掃一掃領取紅包,優(yōu)惠每天領

二維碼1

領取紅包

二維碼2

領紅包