基于U-Net的划痕缺陷分割(课程设计)

论文:**U-Net: Convolutional Networks for Biomedical Image Segmentation**

https://arxiv.org/abs/1505.04597

包括U_Net/R2U_Net/AttU_Net/R2AttU_Net,基于Pytorch的代码和数据集下载地址:下载地址

import argparse
import os
from solver import Solver
from data_loader import get_loader
from torch.backends import cudnn
import randomdef main(config):cudnn.benchmark = Trueif config.model_type not in ['U_Net','R2U_Net','AttU_Net','R2AttU_Net']:print('ERROR!! model_type should be selected in U_Net/R2U_Net/AttU_Net/R2AttU_Net')print('Your input for model_type was %s'%config.model_type)return# Create directories if not existif not os.path.exists(config.model_path):os.makedirs(config.model_path)if not os.path.exists(config.result_path):os.makedirs(config.result_path)config.result_path = os.path.join(config.result_path,config.model_type)if not os.path.exists(config.result_path):os.makedirs(config.result_path)#lr = random.random()*0.0005 + 0.0000005#augmentation_prob= random.random()*0.7#epoch = random.choice([100,150,200,250])#decay_ratio = random.random()*0.8#decay_epoch = int(epoch*decay_ratio)#config.augmentation_prob = config.augmentation_prob#config.num_epochs = config.epoch#config.lr = config.lr#config.num_epochs_decay = config.decay_epochprint(config)train_loader = get_loader(image_path=config.train_path,image_size=config.image_size,batch_size=config.batch_size,num_workers=config.num_workers,mode='train',augmentation_prob=config.augmentation_prob)valid_loader = get_loader(image_path=config.valid_path,image_size=config.image_size,batch_size=config.batch_size,num_workers=config.num_workers,mode='valid',augmentation_prob=0.)test_loader = get_loader(image_path=config.test_path,image_size=config.image_size,batch_size=config.batch_size,num_workers=config.num_workers,mode='test',augmentation_prob=0.)solver = Solver(config, train_loader, valid_loader, test_loader)# Train and sample the imagesif config.mode == 'train':solver.train()elif config.mode == 'test':solver.test()if __name__ == '__main__':parser = argparse.ArgumentParser()# model hyper-parametersparser.add_argument('--image_size', type=int, default=224)parser.add_argument('--t', type=int, default=3, help='t for Recurrent step of R2U_Net or R2AttU_Net')# training hyper-parametersparser.add_argument('--img_ch', type=int, default=3)parser.add_argument('--output_ch', type=int, default=1)parser.add_argument('--num_epochs', type=int, default=100)parser.add_argument('--num_epochs_decay', type=int, default=70)parser.add_argument('--batch_size', type=int, default=1)parser.add_argument('--num_workers', type=int, default=8)parser.add_argument('--lr', type=float, default=0.0002)parser.add_argument('--beta1', type=float, default=0.5)        # momentum1 in Adamparser.add_argument('--beta2', type=float, default=0.999)      # momentum2 in Adam    parser.add_argument('--augmentation_prob', type=float, default=0.4)parser.add_argument('--log_step', type=int, default=2)parser.add_argument('--val_step', type=int, default=2)# miscparser.add_argument('--mode', type=str, default='train')parser.add_argument('--model_type', type=str, default='U_Net', help='U_Net/R2U_Net/AttU_Net/R2AttU_Net')parser.add_argument('--model_path', type=str, default='./models')parser.add_argument('--train_path', type=str, default='./dataset/train/')parser.add_argument('--valid_path', type=str, default='./dataset/valid/')parser.add_argument('--test_path', type=str, default='./dataset/test/')parser.add_argument('--result_path', type=str, default='./result/')parser.add_argument('--cuda_idx', type=int, default=0)config = parser.parse_args()main(config)

运行结果:

基于U-Net图像分割的划痕缺陷分割(课程设计)相关推荐

  1. 20165219王彦博《基于Cortex-M4的虚拟机制作与测试》课程设计个人报告

    20165219王彦博<基于Cortex-M4的虚拟机制作与测试>课程设计个人报告 一.个人贡献 参与课设题目讨论及完成全过程: 资料收集: 负责环境搭建,代码运行下载: 撰写小组结题报告 ...

  2. 基于SpringBoot的二手交易平台(自己的课程设计附项目下载)

    基于SpringBoot的二手交易平台(自己的课程设计附项目下载) 整体的目录如下: 整体首页是这样的: 左边是一个快捷的连接分类按钮,右边是分类对应的商品 那下面就详细介绍一下吧!!! 注意:下面的 ...

  3. android音乐播放器课程设计报告,基于android平台的音乐播放器的课程设计报告.docx...

    基于android平台的音乐播放器的课程设计报告 - PAGE - PAGE 17 - 吉 首 大 学 JISHOU UNIVERSITY <疯狂Android讲义>课程设计 报 告 书 ...

  4. android媒体播放器设计报告,基于Android的多媒體播放器课程设计报告.doc

    基于Android的多媒體播放器课程设计报告 基于Android的多媒体播放器课程设计报告 (2014-01-02 22:46:52) HYPERLINK "javascript:;&quo ...

  5. 基于QT的网络嗅探器实现(网络安全课程设计)

    在这学期的网络安全课程设计中,我们需要自己实现一个基于WinPcap编程接口的网络嗅探器,历时两周完成,主要参考资料: 1.WinPcap 中文技术文档(http://www.ferrisxu.com ...

  6. javaweb基于SSH开发医院人事管理系统+论文+PPT 课程设计 毕业设计源码

    基于S2SH开发医院人事管理系统+论文+PPT:(毕业设计/课程设计) 开发工具: MyEclipse(eclipse/idea)+Jdk+Tomcat+MySQL数据库 演示视频: javaweb基 ...

  7. javaweb基于SSM开发商城NBA网商购物平台 课程设计 毕业设计源码

    基于SSM开发NBA网商购物平台:(毕业设计/课程设计) 开发工具: Eclipse+Jdk+Tomcat+MySQL数据库 演示视频: javaweb基于SSM开发NBA运动购物平台商城系统源码 运 ...

  8. 基于SMTP协议的模拟邮件系统(计算机网络课程设计)

    目录 一.设计内容 二.所用到的知识 三.需求分析 四.运行效果 1.登录与注册 2.信息管理 3.邮件发送与收取 五.部分核心代码 1.SendServlet.java(实现邮件发送) 2.Rece ...

  9. 基于C/C++语言的停车场管理系统编程课程设计超详细

    详细代码讨论加我QQ:1271370903 程序设计课程实践 基于C语言的停车管理系统编程设计 1.课程目的 本程序旨在训练学生的C语言基本编程能力,通过串联C语言输入输出.循环语句.子函数设计.数组 ...

最新文章

  1. 1041. 考试座位号(15)
  2. POJ3264[线段树]
  3. 计蒜客/51Nod题目
  4. C语言realtime stats实时统计(附完整源码)
  5. php 正则获取html标签,php正则取嵌套html标签
  6. python gevent async_python的异步初体验(gevent、async、await)
  7. 【Java】灵活使用自定义注解和反射
  8. linux内核启动过程5:启动用户空间
  9. Netty : netty 4如何解决空轮询bug
  10. IT行业里有这么多聪明人,他们之间的区别在哪里?
  11. 路由器-路由器以及×××-Client之间的×××
  12. 以太坊DAO之股东协会智能合约
  13. 汽车电子EMC:ISO7637-2
  14. Wembley record broken by U2 gig U2演唱会攻破温布利
  15. 怎么关闭自动启动的屏幕键盘
  16. SVG标准解读-几何图形-图案填充-核心要点
  17. Ajax基础教程电子版
  18. 爬取6.6w+豆瓣电影之后,分析他们的故事
  19. 手机号归属地数据导入及查询工具源代码(C++)
  20. 【科技与狠货】云盘变硬盘

热门文章

  1. Java map 知识
  2. Android TextView 数字后面追加2个0 或者保留小数点后面2位
  3. 几道常见String面试题
  4. org.gradle.api.internal.tasks.DefaultTaskInputs$TaskInput........
  5. CF525D Arthur and Walls
  6. Laravel 底层是如何处理 HTTP 请求的?
  7. sklearn.model_selection.train_test_split随机划分训练集和测试集
  8. MFC控件编程之复选框单选框分组框
  9. linux下时区设置和时间同步
  10. SpringBoot02_构建rest工程完成第一个controller类