0%

pytorch模型定义的几种方式

主要包括 标准继承模式 和 使用常用容器 两种方式

1. 继承nn.Module实现模型

通过继承nn模块的Module基类,并实现初始化init()以及forward()方法,实现模型定义

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
import torch.nn as nn

class Model(nn.Module):
# 模型的初始化方法
def __init__(self):
# 首先调用父类构造方法
super(Model, self).__init__()
# 定义各层模型,层与层之间的权重
self.hidden = nn.Linear(128, 16) # 隐藏层
self.activate = nn.ReLU()
self.output = nn.Linear(16, 10) # 输出层
# 模型的计算方法
def forward(self, x):
x = self.activate(self.hidden(x))
return self.output(x)
阅读全文 »

1 什么是快速幂

在求幂次操作时,一般采用逐个相乘的方式,求多少阶幂次,就需要进行多少次乘法,乘法的时间复杂度为O(N),通过引入”备忘录“和二分思想,将乘法次数从 降低到

主要思想:

  1. 求 N幂次问题 转化为 求两个 N/2幂次的乘积
  2. 两个相同的 N/2幂次子问题,只需要求解一次
    阅读全文 »

什么是并查集

并查集是一种树型的数据结构,用于处理一些不相交集合的合并及查询问题。

并查集的思想是用一个数组表示了整片森林(parent),树的根节点唯一标识了一个集合,我们只要找到了某个元素的的树根,就能确定它在哪个集合里。

百度百科

并查集包括两种操作:

  1. find(x) 查询元素所属的集合
  2. union(x, y) 合并两个不相关的集合

我理解的并查集,就是对于一系列元素,不同元素组成不同的集合(使用树的形式描述集合),多个集合共同构成并查集(森林),提供集合与集合的合并(两棵的合并)和 查找元素所属的集合(在哪棵树)

阅读全文 »

为什么要搭建这个博客

  1. 项目不会做,不知道干啥,就来搞点没用的
  2. 想把笔记放在网站上,起到保存和督促的作用

当前博客的计划

  1. 每周末把这周的笔记整理发布到网站上
  2. 其他感想之类的废话,还有待思考

总结:闲的没事干,整点歪门邪道