Relu>Prelu

网络模型代码

class TumorNet(nn.Module):def __init__(self):super(TumorNet, self).__init__()self. nff = [1, 8]#NumFeature# forward1self.forward1 = nn.Sequential(nn.Conv3d(self.nff[0], self.nff[1], kernel_size=3, padding=1),nn.InstanceNorm3d(self.nff[1]),nn.ReLU(inplace=True),# nn.PReLU(),nn.Conv3d(self.nff[1], self.nff[1], kernel_size=3, padding=1),nn.InstanceNorm3d(self.nff[1]),nn.ReLU(inplace=True)# nn.PReLU())def forward(self, input):#encoderlayer1 = self.forward1(input)return layer1

Step1: 打印网络修改前后的参数名和shape

此步骤帮助你对模型改动一目了然,然后确定参数修改方案。

net = TumorNet().cuda()
for name, param in net.named_parameters():print(name,param.shape)

其中红色为“增加”的网络参数。
注:模型的参数表是orderDict类型(有序字典),旧模型中的relu虽然没有参数,但是也会占用编号。

Step2: 确定并实施修改方案

import torch
dict = torch.load("./results/model_0-9-8222.pth")
default = torch.Tensor([0.25])# this step is of great importance, not 0.25 or[0.25]
dict['forward1.2.weight'] = default
dict["forward1.5.weight"] = default
torch.save(dict, "./results/Prelu_model_0-9-8222.pth")

Pool>Stride Convolution

网络模型代码

from torch import nn
class TumorNet(nn.Module):def __init__(self):super(TumorNet, self).__init__()self. nff = [1, 8, 16]#NumFeature# forward1self.forward1 = nn.Sequential(nn.Conv3d(self.nff[0], self.nff[1], kernel_size=3, padding=1),nn.InstanceNorm3d(self.nff[1]),# nn.ReLU(inplace=True),nn.PReLU(),nn.Conv3d(self.nff[1], self.nff[1], kernel_size=3, padding=1),nn.InstanceNorm3d(self.nff[1]),# nn.ReLU(inplace=True)nn.PReLU())self.maxpool = nn.MaxPool3d(kernel_size=2, stride=2)# self.downsamp1 = nn.Conv3d(self.nff[1], self.nff[2], kernel_size=3, stride=2, padding=1)def forward(self, input):#encoderlayer1 = self.forward1(input)down1 = self.maxpool(layer1)# down1 = self.downsamp1(layer1)return down1

Step1: 打印网络修改前后的参数名和shape

此步骤帮助你对模型改动一目了然,然后确定参数修改方案。

net = TumorNet().cuda()
for name, param in net.named_parameters():print(name,param.shape)

其中红色为“增加”的网络参数。

Step2: 确定并实施修改方案

import torch
dict = torch.load("./results/model_0-9-8222.pth")
# layer absent
for name, param in net.named_parameters():if name.startswith('downsamp'):print(name,param.shape)if name.endswith('weight'):weight = torch.empty(param.shape)dict[name] = nn.init.kaiming_uniform_(weight, 0.25)if name.endswith('bias'):bias = torch.empty(param.shape)dict[name] = nn.init.constant_(bias, 0)
torch.save(dict, "./results/Prelu_model_0-9-8222.pth")

神经网络的权重初始化:
针对ReLU的初始化方法:torch.nn.init.kaiming_uniform_(), torch.nn.init.kaiming_normal_()
Pytroch网络模型:修改参数值,修改参数名,添加参数层,删除参数层

Pytroch网络参数的快速增删改查(实例讲解)相关推荐

  1. Andriod --- JetPack (七):Room + ViewModel + LiveData 增删改查实例

    1.Andriod - JetPack (一):初识 JetPack 2.Andriod - JetPack (二):LifeCycle 的诞生 3.Andriod - JetPack (三):Vie ...

  2. c# 操作oracle数据库,C#连接oracle数据库增删改查实例

    [实例简介] C#连接oracle数据库,增删改查实例,OracleParameter防Sql注入等,适用于新手学习 [实例截图] [核心代码] 5868e8be-414a-4138-8390-2fb ...

  3. servlet mysql insert_servlet+mybatis 实现mysql的增删改查实例

    古人云:温故而知新.趁周末,重新来学习了一遍servlet + mybatis 实现mysql的增删改查,算是对自己学习的一个总结和记录. 开门见山,首先我们来看一下项目目录结构: 不难发现这是一个m ...

  4. python pymysql实例_Python使用pymysql模块操作mysql增删改查实例分析

    Python使用pymysql模块操作mysql增删改查实例分析 发布时间:2020-09-30 16:42:12 来源:脚本之家 阅读:92 本文实例讲述了Python使用pymysql模块操作My ...

  5. IntelliJ Idea SpringBoot 数据库增删改查实例

    . ____ _ __ _ _/\\ / ___'_ __ _ _(_)_ __ __ _ \\\\( ( )\___ | '_ | '_| | '_ \/ _` | \\\\ \\/ ___)| | ...

  6. vue结合php增删改查实例,从vue基础开始创建一个简单的增删改查的实例

    1.安装vue-clicnpm install vue-cli -g  --执行全局安装 2.创建一个webpack的基础项目:命令:vue init webpack myproject; 以下是项目 ...

  7. java增删改查实例源码_Spring Data JPA 实现简单的CRUD增删改查源码案例

    Spring专题 Spring Data JPA 实现简单的CRUD增删改查源码案例 Spring Data JPA旨在简化JPA基础知识库构建和减少需要与数据库进行通信的代码量.第一部分是如何配置H ...

  8. javaweb增删改查实例_JavaWeb图像可视化管理系统之后台搭建(二)用户管理与增删改查(内含代码)...

    上一篇文章中,我们介绍了环境配置与后台设计,对于不了解的同学,可以看这个链接 CharlesDDDD:JavaWeb图像可视化管理系统之后台搭建(一)环境配置与后台设计​zhuanlan.zhihu. ...

  9. servlet+jsp数据库增删改查实例

    个人觉得这种模式是MVC模式 1.      先写一个类,类里面有几个属性. 2.      写一个接口.里面有增删改查的方法.                   (写在service里) 3.   ...

最新文章

  1. Linux驱动中获取系统时间
  2. P6378-[PA2010]Riddle【2-SAT】
  3. PostgreSQL9.6+PostGIS2.3学习笔记(一)导入shp文件
  4. 敲7(升级版约瑟夫)
  5. python3数据库框架_Python3 MySQL 数据库连接:安装pymysql(mysql数据库驱动), sqlalchemy(ORM框架)。...
  6. delphi中单独编译pas生成dcu文件
  7. jqueryAjax在客户端发送请求的方式(摘抄!)
  8. Allennlp 安装和使用问题
  9. 自动化测试项目实战训练【广州8月】
  10. rust物资刷新机制_rust资源刷新 | 手游网游页游攻略大全
  11. oracle10g 杨忠民,开题报告 基于J2EE的DRP系统设计
  12. 阿里快递扩张之路:集齐“四通一达”后持续增持,再花百亿图啥?
  13. 园区人工智能开启双创模式,“1+N”创新型组织发展成效初显...
  14. NS3学习记录(四)--加入新模型及聚合Aggregate
  15. 20190401每周精品之读书
  16. SpringCloud之利用FTL生成Word报表并下载
  17. 360手机官方刷机教程(N6系列+N7系列通用)
  18. 回顾过往,布局未来:2022 年证券走势
  19. 手把手教你50行Python代码,给心目中的女友微博秒评论
  20. flightgear 光标消失 卡死

热门文章

  1. proteus8.12安装教程
  2. Android 实现拍照功能
  3. 华为云持续快速增长,践行“深耕数字化,一切皆服务”
  4. 【GlobalMapper精品教程】039:GM面状数据符号化设置案例教程
  5. idea安装与使用Translat遇到的问题
  6. Kubernetes 跨 StorageClass 迁移 Persistent Volumes 完全指南
  7. lombok符号找不到
  8. C语言实现输出等腰梯形
  9. CSS 实现三角形 等腰梯形
  10. 卢克服务器增加要看谁,进不了卢克频道的看这里,少走很多弯路,让你更了解卢克攻略...