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

【图像分割】【深度学习】Windows10下UNet代码Pytorch实现与源码讲解

【图像分割】【深度学习】Windows10下UNet代码Pytorch实现与源码讲解

提示:最近开始在【医学图像分割】方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。


文章目录

  • 【图像分割】【深度学习】Windows10下UNet代码Pytorch实现与源码讲解
  • 前言
  • UNet模型运行环境搭建
  • UNet模型运行
    • 数据集与模型权重下载
    • PFNet训练与测试
  • 总结


前言

UNet是由德国弗赖堡大学的Olaf Ronneberger等人在《U-Net: Convolutional Networks for Biomedical Image Segmentation【MICCAI-2015】》【论文地址】一文中提出的U型编码和解码模型,即一个用于捕获上下文的收缩路径(编码器,下采样)和一个支持精确定位的对称扩展路径(解码器,上采样),并通过跳跃连接操作更好的融合浅层的位置信息和深层的语义信息。
在详细解析PFNet网络之前,首要任务是搭建UNet【Pytorch-demo地址】所需的运行环境,并完成模型训练和测试工作,展开后续工作才有意义。
数据预处理模块解析


UNet模型运行环境搭建

  • 查看主机支持的cuda版本(最高)

    # 打开cmd,执行下面的指令查看CUDA版本号
    nvidia-smi
    

  • 安装GPU版本的torch【官网】
    博主的cuda版本是12.2,但这里cuda版本最高也是12.1,博主选的11.8也没问题。
    其他cuda版本的torch在【以前版本】找对应的安装命令。

  • 博主安装环境参考

    # 创建虚拟环境
    conda create -n UNet python=3.9
    # 查看新环境是否安装成功
    conda env list
    # 激活环境
    activate UNet
    # 分别安装pytorch和torchvision
    pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118
    # 查看所有安装的包
    pip list
    conda list
    


UNet模型运行

数据集与模型权重下载

名称下载地址说明
DRIVE数据集【官网】【百度网盘:8no8】用于眼科图像处理研究的公共数据集,用于血管分割任务
模型权重百度网盘: p50a使用U-Net在DRIVE数据集上训练得到的权重,仅供测试使用

将下载好的训练集解压并拷贝到当前工程目录下(建议)

将下载好的预训练权重(训练好的)best_model.pth拷贝到save_weights目录下(建议)。

PFNet训练与测试

  1. 训练:可以直接运行train.py,也可以根据硬件条件修改代码中部分训练参数epochs和batch-size修改训练次数和训练的batchsize等,详细的代码内容将在后续博文中介绍。

    正在训练,训练权重保存在save_weights目录下:

  2. 测试:可以直接运行predict.py,也可以根据任务需求修改代码中部分变量img_path和roi_mask_path等,选择测试的图片。

    对于DRIVE数据集img_path和roi_mask_path必须同时给定且一一对应,其他数据集以及个人数据集的训练和测试,博主会在后续的内容中给出修改后的代码。

    测试结果保存为当前工程目录下的test_result.png,可以对比查看效果:


总结

尽可能简单、详细的介绍了UNet的安装流程以及UNet的使用方法。后续会根据自己学到的知识结合个人理解讲解UNet的原理和代码。

相关文章:

【图像分割】【深度学习】Windows10下UNet代码Pytorch实现与源码讲解

【图像分割】【深度学习】Windows10下UNet代码Pytorch实现与源码讲解 提示:最近开始在【医学图像分割】方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。 文章目录 【图像分割】【深度学习】Windows10下UNet代码Pytorch实现与源码讲解前言UNet模型运行环境搭…...

MySQL十部曲之一:MySQL概述及手册说明

文章目录 数据库、数据库管理系统以及SQL之间的关系关系型数据库与非关系型数据库MySQL程序系统变量系统状态变量SQL模式MySQL数据目录手册语法约定 数据库、数据库管理系统以及SQL之间的关系 名称说明数据库(Database)即存储数据的仓库,其本…...

node.js基础--01

Author nodes:(题记) node.js is an open-source,cross-platform JAVAScript runtime environment。 node.js是一个开源,跨平台的js运行环境 common commands(常用指令) 1、C: enter hard …...

基于GPT3.5逆向 和 本地Bert-Vits2-2.3 的语音智能助手

文章目录 一、效果演示二、操作步骤三、架构解析 一、效果演示 各位读者你们好,我最近在研究一个语音助手的项目,是基于GPT3.5网页版的逆向和本地BertVits2-2.3 文字转语音,能实现的事情感觉还挺多,目前实现【无需翻墙&#xff0…...

java stream简介

(1)Stream Stream(流)是一个来自数据源的元素队列并支持聚合操作。 forEach方法用来迭代流中的每个数据,没有返回值。map方法用于映射每个元素到对应的结果,有返回值,返回的是一个新流&#xf…...

机电制造ERP软件有哪些品牌?哪家的机电制造ERP系统比较好

机电制造过程比较复杂,涵盖零配件、采购、图纸设计、工艺派工、生产计划、物料需求计划、委外加工等诸多环节。而供应链涉及供应商的选择、材料采购价格波动分析、材料交货、品质检验等过程,其中某个环节出现问题都可能会影响产品交期和经营效益。 近些…...

分布式ID(4):雪花算法生成ID之Leaf(美团点评分布式ID生成系统)

1 Leaf官方地址 Leaf源码地址: https://github.com/Meituan-Dianping/Leaf Leaf官方说明文档地址: https://tech.meituan.com/2019/03/07/open-source-project-leaf.htmlhttps://github.com/Meituan-Dianping/Leaf/blob/master/README_CN.md 这边只做简单介绍,详细说明…...

翻译: GPT-4 Vision征服LLM幻觉hallucinations 升级Streamlit六

GPT-4 Vision 系列: 翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式一翻译: GPT-4 with Vision 升级 Streamlit 应用程序的 7 种方式二翻译: GPT-4 Vision静态图表转换为动态数据可视化 升级Streamlit 三翻译: GPT-4 Vision从图像转换为完全可编辑的表格 升级St…...

TextView的setTextSize与xml中android:textSize属性值的对应关系

android中,对TextView设置文本字体大小,是通过在layout xml中设置android:textSize的属性值实现的,比如设置“24sp”,这里的sp是一种单位,其他可选的单位还有px,dip(dp),pt,in&#…...

广东盈致mes系统在注塑行业的应用

广东盈致MES系统在注塑行业的应用主要体现在以下几个方面: 生产计划与调度:盈致MES系统能够根据订单需求和生产计划,自动生成生产任务,并跟踪生产进度,确保按时完成生产任务。通过与注塑机的集成,系统可以自…...

如何获得《幻兽帕鲁》隐藏帕鲁唤夜兽?13000个配种配方查询 幻兽帕鲁Steam好评率还在涨 Mac苹果电脑玩幻兽帕鲁 Crossover玩Windows游戏

《幻兽帕鲁》是一款Steam平台热门游戏,开放式大陆和养成式冒险结合,成为2024首款热门游戏,不过由于官方仅发布了Windows版的游戏客户端,Mac用户无法直接玩,好在有Crossover这样的神器,让苹果电脑也能玩上《…...

elementui中的tree自定义图标

需求&#xff1a;实现如下样式的树形列表 自定义树的图标以及点击时&#xff0c;可以根据子级的关闭&#xff0c;切换图标 <el-tree :data"treeList" :props"defaultProps"><template #default"{ node, data }"><span class&quo…...

mybatis实现模糊搜索

这里使用if标签进行是实现&#xff0c;使用like标签也可以实现&#xff0c;只是容易出错了&#xff0c;下面 直接上代码 只需要把字段名和搜索条件替换就行。 <select id"selectByLike" parameterType"map" resultType"YourResultType">…...

ssh 修改端口号 一个ip ssh多个主机

ssh默认端口为22。 通过路由映射&#xff0c;保留一个22端口&#xff0c;其它主机修改端口&#xff0c;可以用一个ip ssh多个主机。 修改端口需修改/etc/ssh/sshd_config sudo vim /etc/ssh/sshd_config/Port #Port 22删除前面的#&#xff0c;然后修改端口号&#xff0c;如23 …...

Proto文件如何生成JavaProto对象?

首先安装好Protocol Buffer的编译器 Protocol Buffer: version:2.6.1 link: 链接直达 根据电脑环境进行下载&#xff0c;Widnwos 32/64位就选择win32是没问题的&#xff0c;楼主亲测 1.proto文件编写 Person.proto public class Person {String name;int id;String email…...

LightDB 24.1 UNION支持null类型匹配

背景介绍 在LightDB 24.1之前的版本&#xff0c;UNION null类型匹配会报错。 lightdbpostgres# select null l_zqlbmx2 union all select null l_zqlbmx2 union all select sysdate l_zqlbmx; ERROR: UNION types text and timestamp without time zone…...

使用vs2022将.net8的应用程序发布为一个单独文件

在使用.NetCore3.1时&#xff0c;可以通过设置以下工程配置文本来将项目发布为一个单独的应用程序文件&#xff1a; <Project Sdk"Microsoft.NET.Sdk.WindowsDesktop"><PropertyGroup><TargetFramework>netcoreapp3.1</TargetFramework><…...

面试经典150题(93-95)

leetcode 150道题 计划花两个月时候刷完&#xff0c;今天&#xff08;第五十三天&#xff09;完成了3道(93-95)150&#xff1a; 93.&#xff08;53. 最大子数组和&#xff09;题目描述&#xff1a; 给你一个整数数组 nums &#xff0c;请你找出一个具有最大和的连续子数组&am…...

flask 实现token生成以及携带token请求接口

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 文章目录 前言一、Flask-JWT-Extended是什么&#xff1f;二、使用步骤1.引入库2.请求验证 总结 前言 提示&#xff1a;这里可以添加本文要记录的大概内容&#xff1a; 提示&…...

docker-compose部署单机ES+Kibana

记录部署的操作步骤 准备工作编写docker-compose.yml启动服务验证部署结果 本次elasticsearch和kibana版本为8.2.2 使用环境&#xff1a;centos7.9 本次记录还包括&#xff1a;安装elasticsearch中文分词插件和拼音分词插件 准备工作 1、创建目录和填写配置 mkdir /home/es/s…...

快照模式 vs 命令模式:一篇分清什么时候用谁

在做带撤销、回滚、历史记录的功能时&#xff0c;我们最常纠结两个设计模式&#xff1a;快照模式&#xff08;备忘录模式&#xff09;和命令模式。很多同学容易混淆&#xff0c;其实核心区别一句话就能记住&#xff1a; 快照存数据&#xff0c;命令存动作。 下面用最清晰、最好…...

OpenClaw+千问3.5-9B:个性化新闻摘要与推送系统

OpenClaw千问3.5-9B&#xff1a;个性化新闻摘要与推送系统 1. 为什么需要个人新闻助手&#xff1f; 每天早上打开新闻App&#xff0c;总会被各种无关信息轰炸——明星八卦、标题党、重复推送...作为一个技术从业者&#xff0c;我真正需要的是垂直领域的高质量内容。尝试过RSS…...

宫外孕打掉需要住院吗?术后修护核心指南

宫外孕作为妇科高发急腹症&#xff0c;不少女性存在认知误区&#xff0c;疑惑“宫外孕打掉是否需要住院”。事实上&#xff0c;宫外孕绝非普通流产&#xff0c;其处理必须住院&#xff0c;且术后修护直接影响女性后续生殖健康。本文结合行业洞察&#xff0c;围绕宫外孕住院必要…...

GraphRAG退场了,BookRAG知识像翻书一样简单

你是否曾面对一本厚厚的说明书、技术手册或学术著作&#xff0c;在寻找某个具体信息时感到无从下手&#xff1f;传统的检索增强生成&#xff08;RAG&#xff09;方法在处理这类结构复杂的长文档时&#xff0c;常常力不从心。它们要么将文档视为一盘散沙的文本&#xff0c;丢失了…...

知网检测AI率90%,我用这个方法两天降到12%

三月底&#xff0c;距离论文提交还有8天&#xff0c;知网AIGC检测报告出来了&#xff1a;AI率90%。 我当时的反应就是愣在那里。90%&#xff0c;这意味着几乎整篇论文都被标红了。后来用两天时间&#xff0c;把AI率降到了12%。今天把这个过程完整记录下来&#xff0c;因为我知…...

SECS协议实战:从报警触发到Trace数据采集的完整指南

1. SECS协议基础与报警管理实战 半导体设备通信领域有个"隐形语言"叫SECS/GEM协议&#xff0c;它就像设备间的摩斯密码。今天咱们重点聊聊其中两个高频功能&#xff1a;报警管理&#xff08;S5F1&#xff09;和Trace数据采集&#xff08;S2F23/S6F1&#xff09;。先看…...

人生苦难的本质的庖丁解牛

“人生苦难的本质”&#xff0c;常被误解为“命运的不公”、“物质的匮乏”或“肉体的疼痛”。 但本质上&#xff0c;苦难并非来自外部世界的客观事件&#xff0c;而是源于**“内在预期”与“外在实相”之间的剧烈摩擦**&#xff0c;是**“有限的自我”试图掌控“无限的无常”时…...

Ryujinx模拟器终极指南:在PC上免费畅玩Switch游戏

Ryujinx模拟器终极指南&#xff1a;在PC上免费畅玩Switch游戏 【免费下载链接】Ryujinx 用 C# 编写的实验性 Nintendo Switch 模拟器 项目地址: https://gitcode.com/GitHub_Trending/ry/Ryujinx 想在电脑上体验《塞尔达传说&#xff1a;旷野之息》的震撼画面吗&#xf…...

5个高效技巧:Plus Jakarta Sans开源字体全方位应用指南

5个高效技巧&#xff1a;Plus Jakarta Sans开源字体全方位应用指南 【免费下载链接】PlusJakartaSans Jakarta Sans is a open-source fonts. Designed for Jakarta "City of collaboration" program in 2020. 项目地址: https://gitcode.com/gh_mirrors/pl/PlusJa…...

mask rcnn,fasterrcnn,ssd,yolov5,6,7,8在win10,ubuntu环境搭建,代跑数据集,yolov8yolov7Yolov9Yolov10

mask rcnn&#xff0c;fasterrcnn&#xff0c;ssd&#xff0c;yolov5,6,7,8在win10,ubuntu环境搭建&#xff0c;代跑数据集&#xff0c; yolov8 yolov7 Yolov9 Yolov10...