COI实验室技能:图像到图像的深度学习开发框架(pytorch版)

2024-09-07 01:28

本文主要是介绍COI实验室技能:图像到图像的深度学习开发框架(pytorch版),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

Basic deep learning framework for image-to-image

这个开发框架旨在帮助科研人员快速地实现图像到图像之间的模型开发。
github连接:https://github.com/SituLab/Basic-deep-learning-framework-for-image-to-image
在这里插入图片描述

目录

  • 1模型开发
    • 1-1克隆项目到本地
    • 1-2深度学习开发
  • 2环境配置
    • 2-1安装conda
    • 2-2安装pytorch

1模型开发

1-1克隆项目到本地

(1)仓库右上角有个绿色‘code’按钮,下拉选择download zip。

(2)或者安装了git工具之后,在命令行运行下面指令:

git clone https://github.com/SituLab/Basic-deep-learning-framework-for-image-to-image.git

(3)数据集设置

dataset/input/存放输入的数据集;
dataset/label存放标签的数据集;
dataset/test_input存放测试输入的数据集;

1-2深度学习开发

(1)训练image-to-image任务

python main.py --running_name demo

(2)测试image-to-image任务

python main.py --running_name demo --is_training 0 --is_testing 1

(3)测试单张图像

python main.py --is_training 0 --img_path dataset/demo.png

(5)参数解释

--running_name:为每次训练提供一个运行名称,代码会创建相应名称的文件夹保存结果和日志。

注:非常便于网络的多次运行和分析,比如设置一个递增的版本名称,设置循环,可以一次进行重复实验。

--is_train:设置是否训练,默认训练;

--is_test:设置是否测试,默认测试;

--img_path:指定一张测试图像的路径;

(6)查看训练过程

  • log_demo.txt保存了此次训练所使用的配置信息和训练过程信息;
  • weights/demo/best_model.pth保存了验证集loss最小的模型;
  • results/demo/eval/保存了每一步训练时一个batch的推理结果;

(7)其他

在快速训练上,可以使用上述命令行的方法,如果需要细致开发,可以使用vscode或pycharm,使用编译器运行代码。

2环境配置

建议有高配电脑,或者直接使用远程服务器已经配置好的环境。

2-1安装conda

annaconda,自带基础的python库,比较齐全,占用空间会比较大,网址:https://www.anaconda.com/download/
miniconda,纯净版conda命令软件,不自带库,需自行安装,占用空间小,网址:https://docs.anaconda.com/miniconda/

2-2安装pytorch

访问torch官网,直接通过指令进行安装。网址:https://pytorch.org/get-started/locally/
在这里插入图片描述

比如:打开cmd,输入:

pip3 install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118

3例子

会将参数配置、模型结果、训练epoch的信息记录到日志中;
在这里插入图片描述

会保存每一个epoch的验证集结果(第一个batch的),如下图所示的是从严重退化的散射图中恢复出清晰的图像。
在这里插入图片描述

这篇关于COI实验室技能:图像到图像的深度学习开发框架(pytorch版)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1143663

相关文章

Java中Redisson 的原理深度解析

《Java中Redisson的原理深度解析》Redisson是一个高性能的Redis客户端,它通过将Redis数据结构映射为Java对象和分布式对象,实现了在Java应用中方便地使用Redis,本文... 目录前言一、核心设计理念二、核心架构与通信层1. 基于 Netty 的异步非阻塞通信2. 编解码器三、

Java HashMap的底层实现原理深度解析

《JavaHashMap的底层实现原理深度解析》HashMap基于数组+链表+红黑树结构,通过哈希算法和扩容机制优化性能,负载因子与树化阈值平衡效率,是Java开发必备的高效数据结构,本文给大家介绍... 目录一、概述:HashMap的宏观结构二、核心数据结构解析1. 数组(桶数组)2. 链表节点(Node

Java 虚拟线程的创建与使用深度解析

《Java虚拟线程的创建与使用深度解析》虚拟线程是Java19中以预览特性形式引入,Java21起正式发布的轻量级线程,本文给大家介绍Java虚拟线程的创建与使用,感兴趣的朋友一起看看吧... 目录一、虚拟线程简介1.1 什么是虚拟线程?1.2 为什么需要虚拟线程?二、虚拟线程与平台线程对比代码对比示例:三

一文详解Python如何开发游戏

《一文详解Python如何开发游戏》Python是一种非常流行的编程语言,也可以用来开发游戏模组,:本文主要介绍Python如何开发游戏的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下... 目录一、python简介二、Python 开发 2D 游戏的优劣势优势缺点三、Python 开发 3D

Python函数作用域与闭包举例深度解析

《Python函数作用域与闭包举例深度解析》Python函数的作用域规则和闭包是编程中的关键概念,它们决定了变量的访问和生命周期,:本文主要介绍Python函数作用域与闭包的相关资料,文中通过代码... 目录1. 基础作用域访问示例1:访问全局变量示例2:访问外层函数变量2. 闭包基础示例3:简单闭包示例4

基于Python开发Windows自动更新控制工具

《基于Python开发Windows自动更新控制工具》在当今数字化时代,操作系统更新已成为计算机维护的重要组成部分,本文介绍一款基于Python和PyQt5的Windows自动更新控制工具,有需要的可... 目录设计原理与技术实现系统架构概述数学建模工具界面完整代码实现技术深度分析多层级控制理论服务层控制注

Java中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例解析

《Java中的分布式系统开发基于Zookeeper与Dubbo的应用案例解析》本文将通过实际案例,带你走进基于Zookeeper与Dubbo的分布式系统开发,本文通过实例代码给大家介绍的非常详... 目录Java 中的分布式系统开发基于 Zookeeper 与 Dubbo 的应用案例一、分布式系统中的挑战二

Java 缓存框架 Caffeine 应用场景解析

《Java缓存框架Caffeine应用场景解析》文章介绍Caffeine作为高性能Java本地缓存框架,基于W-TinyLFU算法,支持异步加载、灵活过期策略、内存安全机制及统计监控,重点解析其... 目录一、Caffeine 简介1. 框架概述1.1 Caffeine的核心优势二、Caffeine 基础2

基于Go语言开发一个 IP 归属地查询接口工具

《基于Go语言开发一个IP归属地查询接口工具》在日常开发中,IP地址归属地查询是一个常见需求,本文将带大家使用Go语言快速开发一个IP归属地查询接口服务,有需要的小伙伴可以了解下... 目录功能目标技术栈项目结构核心代码(main.go)使用方法扩展功能总结在日常开发中,IP 地址归属地查询是一个常见需求:

基于 Cursor 开发 Spring Boot 项目详细攻略

《基于Cursor开发SpringBoot项目详细攻略》Cursor是集成GPT4、Claude3.5等LLM的VSCode类AI编程工具,支持SpringBoot项目开发全流程,涵盖环境配... 目录cursor是什么?基于 Cursor 开发 Spring Boot 项目完整指南1. 环境准备2. 创建