| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 人工智能 -> pytorch学习笔记210801 -> 正文阅读 |
|
[人工智能]pytorch学习笔记210801 |
领域自适应即Domain Adaptation是迁移学习中很重要的一部分内容,目的是把分布不同的源域和目标域的数据,映射到一个特征空间中,使其在该空间中的距离尽可能近。于是在特征空间中对source domain训练的目标函数,就可以迁移到target domain上,提高target domain上的准确率。 Python class 面向对象 class Person: x=5 #属性,在外调用Person.x ? def __init__(self, name, age): ??? self.name = name ??? self.age = age ? def myfunc(self):# 创建方法 ??? print("Hello my name is " + self.name) p1 = Person("Bill", 63) p1.myfunc() self: 参数是对类的当前实例的引用,用于访问属于该类的变量。它必须是类中任意函数的首个参数 del: del p1.age / del p1 pass: 类定义不能为空,但是如果您处于某种原因写了无内容的类定义语句,请使用 pass 语句来避免错误 torch.nn.module pytorch中其实一般没有特别明显的Layer和Module的区别,不管是自定义层、自定义块、自定义模型,都是通过继承Module类完成的 我们在定义自已的网络的时候,需要继承nn.Module类,并重新实现构造函数__init__构造函数和forward这两个方法。但有一些注意技巧: (1)一般把网络中具有可学习参数的层(如全连接层、卷积层等)放在构造函数__init__()中,当然我也可以吧不具有参数的层也放在里面; (2)一般把不具有可学习参数的层(如ReLU、dropout、BatchNormanation层)可放在构造函数中,也可不放在构造函数中,如果不放在构造函数__init__里面,则在forward方法里面可以使用nn.functional来代替 ??? (3)forward方法是必须要重写的,它是实现模型的功能,实现各个层之间的连接关系的核心。运行关系是在forward里面通过functional的方法实现的。 ?Eg1. import torch import torch.nn.functional as F Class MyNet(torch.nn.Module): ??def __init__(self): super(MyNet, self).__init__() #调用父类构造函数 self.conv1=torch.nn.Conv2d(3,32,3,1,1) self.conv2=torch.nn.Conv2d(3,32,3,1,1) self.dense1=torch.nn.Linear(32*3*3, 128) self.dense2=torch.nn.Linear(128, 10) ??def forward(self, x): x=self.conv1(x) #一层卷积 x= F.relu(x)# 激活 x=F.max_pool2d(x) #池化 x=self.conv2(x) x=F.relu(x) x=F.max_pool2d(x) x=self.dense1(x) #线性判别器32,3,3 –(128,32,3,3)- 128 x=self.dense2(x)128 -(10,128)- 10 return x 总结:所有放在构造函数__init__里面的层的都是这个模型的“固有属性”. # Conv2d(3,32,3,1,1): input 3 channels, output 32 channels, kernel size3(32 3*3*3convs), stride=1 padding=1 # Linear(32*3*3, 128) / Linear(128, 10) PyTorch的 参数:(上面示例代码好像不属于这个意思)
Module类是非常灵活的,可以有很多灵活的实现方式 通过Sequential来包装层 …… 参考: |
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/17 22:23:21- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |