当前位置: 首页 > news >正文

有做网站的吗seo网站关键词优化软件

有做网站的吗,seo网站关键词优化软件,个人静态网页学生作业,安卓软件下载平台目录 1. 数据集处理 1.1 实现脚本 1.2 json文件 2. 设置读取路径 2.1 设置路径 2.2 数据集转换 2.3 数据集预处理 2.4 训练(3d_fullres) 3. 训练结果展示 关于nnUnet 数据集的处理和环境搭建,参考上文:第四章:nnUnet大模…

目录

1. 数据集处理

1.1 实现脚本

1.2 json文件

2. 设置读取路径

2.1 设置路径

2.2 数据集转换

2.3 数据集预处理

2.4 训练(3d_fullres)

3. 训练结果展示


关于nnUnet 数据集的处理和环境搭建,参考上文:第四章:nnUnet大模型之环境配置、数据集制作-CSDN博客

1. 数据集处理

因为上文数据集的标签有很多问题,虽然处理起来很简单,为了防止后续需要,这里记录下

观察上文发现,数据的标签是19类别,但是mask的绘制不是连续的0 1 2 3,这样在图像分割中是

不允许的,需要做灰度映射。

实际上,在做unet一些列多类别分割的时候,已经介绍过自适应的灰度映射,这里只做简单介绍,具体参考下文:Unet 实战分割项目、多尺度训练、多类别分割_unet实例分割-CSDN博客

如果数据没有问题的话,直接跳到第二章即可!!

1.1 实现脚本

如下

import SimpleITK as sitk
import numpy as np
import os
from tqdm import tqdm
import shutildef main():root = 'labelsTr'images = [os.path.join(root, u) for u in os.listdir(root)]root_ret = 'ret_labelsTr'if os.path.exists(root_ret):shutil.rmtree(root_ret)os.mkdir(root_ret)# 计算灰度cl = []for i in tqdm(images, desc='process'):mask = sitk.ReadImage(i)mask = sitk.GetArrayFromImage(mask)mask = np.unique(mask)for h in mask:if h not in cl:cl.append(h)cl.sort()n = len(cl)print(cl)       # [0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]print('分割的个数:',n)if n == cl[n-1]:return# 灰度映射for i in tqdm(images, desc='process'):mask = sitk.ReadImage(i)mask = sitk.GetArrayFromImage(mask)for index,h in enumerate(cl):mask[mask==h] = indexmask = sitk.GetImageFromArray(mask)ret_path = i.replace(root,root_ret)sitk.WriteImage(mask,ret_path)# 检查灰度cl_ret = []images = [os.path.join(root_ret, u) for u in os.listdir(root_ret)]for i in tqdm(images, desc='process'):mask = sitk.ReadImage(i)mask = sitk.GetArrayFromImage(mask)mask = np.unique(mask)for h in mask:if h not in cl_ret:cl_ret.append(h)cl_ret.sort()n = len(cl_ret)print(cl_ret)       # [0, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22]print('处理后分割的个数:',n)if __name__ == '__main__':main()

摆放如下:脚本会将labelsTr的标签自动映射成0 1 2 3连续的,并且保存在新生成的ret下

运行如下:

可以看到mask的灰度已经进行了映射

通过itk打开,可以发现mask并没有改变,只是里面的数字变了,这样颜色显示也就变了

源标签:

处理完的:

1.2 json文件

更改如下:当然新的json文件可以用上文的脚本生成

{"labels": {"0": "background","1": "L1","2": "L2","3": "L3","4": "L4","5": "L5","6": "L6","7": "L7","8": "L8","9": "L9","10": "L10","11": "L11","12": "L12","13": "L13","14": "L14","15": "L15","16": "L16","17": "L17","18": "L18"},"modality": {"0": "CT"},"numTest": 0,"numTraining": 40,"tensorImageSize": "3D","test": [],"training": [{"image": "./imagesTr/spine_001.nii.gz","label": "./labelsTr/spine_001.nii.gz"},{"image": "./imagesTr/spine_002.nii.gz","label": "./labelsTr/spine_002.nii.gz"},{"image": "./imagesTr/spine_003.nii.gz","label": "./labelsTr/spine_003.nii.gz"},{"image": "./imagesTr/spine_004.nii.gz","label": "./labelsTr/spine_004.nii.gz"},{"image": "./imagesTr/spine_005.nii.gz","label": "./labelsTr/spine_005.nii.gz"},{"image": "./imagesTr/spine_006.nii.gz","label": "./labelsTr/spine_006.nii.gz"},{"image": "./imagesTr/spine_007.nii.gz","label": "./labelsTr/spine_007.nii.gz"},{"image": "./imagesTr/spine_008.nii.gz","label": "./labelsTr/spine_008.nii.gz"},{"image": "./imagesTr/spine_009.nii.gz","label": "./labelsTr/spine_009.nii.gz"},{"image": "./imagesTr/spine_010.nii.gz","label": "./labelsTr/spine_010.nii.gz"},{"image": "./imagesTr/spine_011.nii.gz","label": "./labelsTr/spine_011.nii.gz"},{"image": "./imagesTr/spine_012.nii.gz","label": "./labelsTr/spine_012.nii.gz"},{"image": "./imagesTr/spine_013.nii.gz","label": "./labelsTr/spine_013.nii.gz"},{"image": "./imagesTr/spine_014.nii.gz","label": "./labelsTr/spine_014.nii.gz"},{"image": "./imagesTr/spine_015.nii.gz","label": "./labelsTr/spine_015.nii.gz"},{"image": "./imagesTr/spine_016.nii.gz","label": "./labelsTr/spine_016.nii.gz"},{"image": "./imagesTr/spine_017.nii.gz","label": "./labelsTr/spine_017.nii.gz"},{"image": "./imagesTr/spine_018.nii.gz","label": "./labelsTr/spine_018.nii.gz"},{"image": "./imagesTr/spine_019.nii.gz","label": "./labelsTr/spine_019.nii.gz"},{"image": "./imagesTr/spine_020.nii.gz","label": "./labelsTr/spine_020.nii.gz"},{"image": "./imagesTr/spine_021.nii.gz","label": "./labelsTr/spine_021.nii.gz"},{"image": "./imagesTr/spine_022.nii.gz","label": "./labelsTr/spine_022.nii.gz"},{"image": "./imagesTr/spine_023.nii.gz","label": "./labelsTr/spine_023.nii.gz"},{"image": "./imagesTr/spine_024.nii.gz","label": "./labelsTr/spine_024.nii.gz"},{"image": "./imagesTr/spine_025.nii.gz","label": "./labelsTr/spine_025.nii.gz"},{"image": "./imagesTr/spine_026.nii.gz","label": "./labelsTr/spine_026.nii.gz"},{"image": "./imagesTr/spine_027.nii.gz","label": "./labelsTr/spine_027.nii.gz"},{"image": "./imagesTr/spine_028.nii.gz","label": "./labelsTr/spine_028.nii.gz"},{"image": "./imagesTr/spine_029.nii.gz","label": "./labelsTr/spine_029.nii.gz"},{"image": "./imagesTr/spine_030.nii.gz","label": "./labelsTr/spine_030.nii.gz"},{"image": "./imagesTr/spine_031.nii.gz","label": "./labelsTr/spine_031.nii.gz"},{"image": "./imagesTr/spine_032.nii.gz","label": "./labelsTr/spine_032.nii.gz"},{"image": "./imagesTr/spine_033.nii.gz","label": "./labelsTr/spine_033.nii.gz"},{"image": "./imagesTr/spine_034.nii.gz","label": "./labelsTr/spine_034.nii.gz"},{"image": "./imagesTr/spine_035.nii.gz","label": "./labelsTr/spine_035.nii.gz"},{"image": "./imagesTr/spine_036.nii.gz","label": "./labelsTr/spine_036.nii.gz"},{"image": "./imagesTr/spine_037.nii.gz","label": "./labelsTr/spine_037.nii.gz"},{"image": "./imagesTr/spine_038.nii.gz","label": "./labelsTr/spine_038.nii.gz"},{"image": "./imagesTr/spine_039.nii.gz","label": "./labelsTr/spine_039.nii.gz"},{"image": "./imagesTr/spine_040.nii.gz","label": "./labelsTr/spine_040.nii.gz"}]
}

2. 设置读取路径

回到正文,这里的Task下有如下数据,source nnunet/bin/activate 激活nnunet环境

Tips:这里的 labelsTr和dataset.json是第一节处理后的

任务名称为Task01_Spine

2.1 设置路径

这里设置为绝对路径,除了DATASET后面的,前面部分需要根据不同机器设定

在这里更改 vim .bashrc(vim ~/.bashrc 末尾最后面)

export nnUNet_raw_data_base="/*/DATASET/nnUNet_raw"
export nnUNet_preprocessed="/*/DATASET/nnUNet_preprocessed"
export RESULTS_FOLDER="/*/DATASET/nnUNet_trained_models"

这里设置后,如果想要训练其他模型,不需要在进行更改

添加完成后保存, source ~/.bashrc 更新环境变量,可以通过echo $RESULTS_FOLDER 检查是否修改成功

2.2 数据集转换

下面命令都是在environments 目录里进行操作

转换命令为

nnUNet_convert_decathlon_task -i DATASET/nnUNet_raw/nnUNet_raw_data/Task01_Spine/

转换完的数据在:

图像可能具有多种模态,nnU-Net通过其后缀(文件名末尾的四位整数)识别成像模态。因此,图像文件必须遵循以下命名约定:case_identifier_XXXX.nii.gz。

这里,XXXX是模态标识符。dataset.json文件中指定了这些标识符所属的模态。

标签文件保存为case_identifier.nii.gz

例如:BrainTumor。每个图像有四种模态:FLAIR(0000)、T1w(0001)、T1gd(0002)和T2w(0003)

2.3 数据集预处理

命令如下:(这里只会做训练集进行预处理,测试集不会处理

nnUNet_plan_and_preprocess -t 1

只需要一行命令,因为 Task_id是1,所以这里的数字就是1。这个过程会消耗很多的时间,速度慢的原因在于对要进行插值等各种操作。

生成的数据在crop和precocessed里面查看

2.4 训练(3d_fullres)

命令如下

nnUNet_train 3d_fullres nnUNetTrainerV2 1 0

1 指的是Task标号,5 指定训练的是5倍交叉验证的哪一倍。

会实时生成如下结果:在这里 nnUNet_trained_models

3. 训练结果展示

RTX 3090跑一个epoch大概100s,1000个epoch估计要一两天,等跑完下篇文章在贴训练结果吧


文章转载自:
http://cover.hmxb.cn
http://atacamite.hmxb.cn
http://rebelliousness.hmxb.cn
http://volti.hmxb.cn
http://detergence.hmxb.cn
http://minacious.hmxb.cn
http://samphire.hmxb.cn
http://abaptiston.hmxb.cn
http://ultimogenitary.hmxb.cn
http://sendout.hmxb.cn
http://colourist.hmxb.cn
http://turret.hmxb.cn
http://beravement.hmxb.cn
http://endoradiosonde.hmxb.cn
http://incommensurable.hmxb.cn
http://innocuously.hmxb.cn
http://catholicate.hmxb.cn
http://cwar.hmxb.cn
http://thread.hmxb.cn
http://raunchy.hmxb.cn
http://contribution.hmxb.cn
http://traffickey.hmxb.cn
http://seidel.hmxb.cn
http://nacrite.hmxb.cn
http://sprite.hmxb.cn
http://vietnam.hmxb.cn
http://glamourpuss.hmxb.cn
http://cno.hmxb.cn
http://amused.hmxb.cn
http://navajo.hmxb.cn
http://clogger.hmxb.cn
http://sanitorium.hmxb.cn
http://champerty.hmxb.cn
http://doodle.hmxb.cn
http://nardoo.hmxb.cn
http://eyebrow.hmxb.cn
http://isotone.hmxb.cn
http://elisabethville.hmxb.cn
http://hasidic.hmxb.cn
http://athambia.hmxb.cn
http://neutralism.hmxb.cn
http://switchyard.hmxb.cn
http://vinegarroon.hmxb.cn
http://acerbating.hmxb.cn
http://reconquer.hmxb.cn
http://nei.hmxb.cn
http://hoer.hmxb.cn
http://subcuticular.hmxb.cn
http://logician.hmxb.cn
http://nodulated.hmxb.cn
http://archeozoic.hmxb.cn
http://untold.hmxb.cn
http://shtoom.hmxb.cn
http://nonmember.hmxb.cn
http://piddling.hmxb.cn
http://lethal.hmxb.cn
http://characterize.hmxb.cn
http://veni.hmxb.cn
http://heilong.hmxb.cn
http://frondesce.hmxb.cn
http://complicate.hmxb.cn
http://cautery.hmxb.cn
http://seamount.hmxb.cn
http://liquidity.hmxb.cn
http://ultracentrifugal.hmxb.cn
http://genal.hmxb.cn
http://mould.hmxb.cn
http://raptor.hmxb.cn
http://sigmate.hmxb.cn
http://litterbug.hmxb.cn
http://scaup.hmxb.cn
http://lugworm.hmxb.cn
http://shipshape.hmxb.cn
http://malodor.hmxb.cn
http://dankly.hmxb.cn
http://lycanthrope.hmxb.cn
http://dimorphotheca.hmxb.cn
http://hypercorrection.hmxb.cn
http://monotonous.hmxb.cn
http://plasmodesma.hmxb.cn
http://logman.hmxb.cn
http://pignut.hmxb.cn
http://unamiable.hmxb.cn
http://enalite.hmxb.cn
http://beaverette.hmxb.cn
http://nostologic.hmxb.cn
http://unemancipated.hmxb.cn
http://woodskin.hmxb.cn
http://mckinley.hmxb.cn
http://jcl.hmxb.cn
http://blackbody.hmxb.cn
http://badlands.hmxb.cn
http://spacistor.hmxb.cn
http://micron.hmxb.cn
http://anaclitic.hmxb.cn
http://extracanonical.hmxb.cn
http://recorder.hmxb.cn
http://highlighted.hmxb.cn
http://research.hmxb.cn
http://loathsomely.hmxb.cn
http://www.dt0577.cn/news/78562.html

相关文章:

  • 网站主机和服务器的区别百度搜索引擎关键词优化
  • 湖北做网站推广永久开源的免费建站系统
  • MAC怎么做网站成都优化官网公司
  • 西安营销型网站建设河北seo
  • 怎样设计网站主页淘宝运营培训多少钱
  • 宿迁做企业网站湛江今日头条
  • 我只做过web网站 怎么做APP企业网站优化服务
  • 长沙企业建站宁波seo教程
  • wordpress手机端图片优化落实防控措施
  • 哪个网站的课件做的好处2023免费b站推广大全
  • 网站建设费计入什么科目查域名
  • 网站开发类书籍手机百度高级搜索入口在哪里
  • 正定网站建设有没有购买链接
  • 修机械师怎么做我小样网站角仰望找索引擎seo
  • 怎么给别人做网站网站成人职业技能培训有哪些项目
  • 扬中做网站美容美发培训职业学校
  • 社区网站建设申请报告六种常见的网站类型
  • 百草味网络营销策划方案福建seo网站
  • 建设部网站1667号公告新闻头条今天最新消息
  • 网站建设如何处理病毒木马百度公司官方网站
  • 个人网站做论坛还是博客好长沙网站优化
  • 青岛做公司网站注册的多吗seo百度快速排名软件
  • 郑州网站建设找哪家好北京seo培训
  • 微网站建设找哪家好网店推广的方式
  • 南昌市网站建设推广全网热度指数
  • 网站建设工作任务最好的优化公司
  • 云主机网站如何备份流量大的推广平台有哪些
  • 网站是哪个建站公司做的seo排名首页
  • 江门网站快速排名b2b电子商务平台网站
  • 怎样做招聘网站关键词整站优化公司