named_parameters(),parameters(),state_dict()
named_parameters()
parameters()
state_dict()
返回值类型
返回的值(list 可迭代类型),每个元组包括两个值(layer-name, layer-param),分别是指网络层的名字和参数。即(先将 layer-name:layer_param 键值信息存成一个元组,然后再存到 list 中)
parameters()只有 layer-param 参数值
将 layer-name:layer-param 键值信息存储为 dict 字典形式
存储模型参数的类型
只保存可学习、可被更新的参数,model.buffer()中的参数不包含在 model.named_parameters()中
存储的是该 model 中包含的所有 layer 中的所有参数
返回值的 require_grad 属性
require_grad 属性都是 True
存储的模型参数 tensor 的 require_grad 属性都是 False
model.named_parameters()1234for name, value in mod ...
树的实现
任何一个树都可以通过 孩子兄弟表示法 转化为一个二叉树。所以,孩子兄弟表示法 也称为 二叉树链表存储。
树的存储实现有:
孩子兄弟表示法(最常用,也称 二叉树链表存储)
双亲表示法
孩子表示法
孩子双亲表示法
树的存储实现孩子兄弟表示法1234567// 左孩子 右兄弟typedef struct TreeNode{ char data; // 结点中的数据 struct TreeNode* first_child; // 第一个孩子结点 struct TreeNode* next_sibling; // 指向下一个兄弟结点} TreeNode;
为了方便创建结点,需要有创建结点的函数,输入结点的数据,输出结点的指针。
123456789101112#include <stdio.h>#include <stdlib.h>TreeNode* createNode(char data){ TreeNode* newNode = (TreeNode*)malloc(sizeof(TreeNode)); ...
p
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374#include <stdio.h>#include <stdlib.h>typedef struct node{ int val; struct node *next;} node;node *create(int data){ struct node *new_node = (node *)malloc(sizeof(node)); new_node->val = data; new_node->next = NULL; return new_node;}void print_list(node *head){ node *current = head; while (curr ...
算法分析
定义定义1: 存在 $c,n_0 \in \mathbb{N}_+$, 使得当$N \ge n_0$时有,$T(N) \le c f(N)$,则记为 $T(N)=O(f(N))$
也就是说, $T(N)$ 是 $f(N)$的一个下界。
$O(f(N))$ 表示 $f(N)$的下界。
定义2: 存在 $c,n_0 \in \mathbb{N}_+$, 使得当$N \ge n_0$时有,$T(N) \ge c g(N)$,则记为 $T(N)=\Omega (g(N))$
也就是说, $T(N)$ 是 $g(N)$的一个上界。
$\Omega (g(N))$ 表示 $g(N)$的上界。
定义3: 当且仅当 $T(N)=O(h(N))$ ,并且, $T(N)= \Omega (h(N))$时, 记 $T(N)=\Theta(h(N))$
$T(N)$既是 $h(N)$ 的下界,也是 $h(N)$ 的上界。
Note: $O(f(N))$ 包含了 $\Theta (f(N))$ 的情况。$\Omega (f(N))$ 也是。
...
网络权重自定义初始化
为什么需要权重初始化在深度学习过程中,良好的权重初始化,会加速模型收敛。我们在定义例如 nn.Conv2d 之后,会自动进行权重初始化。 但是,有些情况下,我们需要进行自定义的权重初始化。例如, DCGan (生成对抗网络)指出,所有模型权重应该随机初始化为一个正则分布(Normal distribution),均值为0,方差为 0.02.
权重初始化的思路
首先构建你的网络类。例如 Generate类
定义各个模型初始化的函数 weights_init(m) 。这个函数具有通用性,对于其他的网络自定义初始化也可以使用。
将 Generate类实例化之后,应用apply方法。
自定义模型初始化函数具体代码剖析定义自定义模型初始化函数。
123456789101112131415# 初始化模型权重def weights_init(m): """ 应用到 netG 和 netD 上的自定义权重初始化 :param m: 例如:netG.apply 调用时,就是 netG 中各层的实例化 :return: "" ...
日记--实现了数据迭代器
英语今天早上9点钟在地铁上背了雅思单词,下地铁走路的时候,听了BBC的听力(精听),之后这一天就没有再学习过英语了。
首先,时隔很久(已经忘记了隔了几个月了),终于又捡起了英语要学习了。学习英语是一种短期内很难看到成果的努力,所以很容易打击自信心;一旦遇到什么事情,也容易耽误,一耽误就是一个月以上了。这次捡起来英语,主要是因为感受到了压力。不管是申博、国际会议汇报、出国还是工作中对外合作(现在的美国封锁,一带一路援建亚非拉还是很有前景的事情)。
我对英语学习的看法是:这是一个重要但不紧急的任务。这个学习是一个长期的过程,但是如果我在这段时间里面不作为,就会变成一个紧急事件(临时抱佛脚可不是一个好事情)。之前每天设置一个日程提醒的办法已经不奏效了,所以,我需要找另一个办法。
激励办法
虽然这是一个长期的任务,但是依然要设置一个长期(1年、半年)达成目标和短期(1个月,两周,一周)达成目标。在到达设置的时间后,就可以进行测试,这样可以得到一个正反馈,也可以反思学习的不足。
关闭现在每天提醒的日程(它已经不奏效了)。换一种思路,每完成一天的学习,就在表格上打卡。这样子也可以知道自己哪天 ...
神经网络中的数据加载
前沿在将我们的数据集输入到模型中之前,需要进行数据的读取操作,在读取的同时也可以进行数据增强等预处理操作,这些数据预处理部分,有一些统一的代码,下面将提供代码,并对思路进行解读
代码代码块解读torch_distributed_zero_first1234567891011121314import torchfrom contextlib import contextmanager@contextmanagerdef torch_distributed_zero_first(local_rank: int): """ Decorator to make all processes in distributed training wait for each local_master to do something. 装饰器使得分布训练中的所有进程等待本地主服务器执行某些操作 """ if local_rank not in [-1, 0]: torch.distributed.barr ...
逍遥游--my first blog
且夫水之积也不厚,则其负大舟也无力。覆杯水于坳堂之上,则芥为之舟;置杯焉则胶,水浅而舟大也。风之积也不厚,则其负大翼也无力。
在这里将会记录的我技术成长过程。
逍遥游北冥有鱼,其名为鲲。鲲之大,不知其几千里也;化而为鸟,其名为鹏。鹏之背,不知其几千里也;怒而飞,其翼若垂天之云。是鸟也,海运则将徙于南冥。南冥者,天池也。《齐谐》者,志怪者也。《谐》之言曰:“鹏之徙于南冥也,水击三千里,抟扶摇而上者九万里,去以六月息者也。”野马也,尘埃也,生物之以息相吹也。天之苍苍,其正色邪?其远而无所至极邪?其视下也,亦若是则已矣。且夫水之积也不厚,则其负大舟也无力。覆杯水于坳堂之上,则芥为之舟;置杯焉则胶,水浅而舟大也。风之积也不厚,则其负大翼也无力。故九万里,则风斯在下矣,而后乃今培风;背负青天,而莫之夭阏者,而后乃今将图南。
蜩与学鸠笑之曰:“我决起而飞,抢榆枋而止,时则不至,而控于地而已矣,奚以之九万里而南为?”适莽苍者,三餐而反,腹犹果然;适百里者,宿舂粮;适千里者,三月聚粮。之二虫又何知!
小知不及大知,小年不及大年。奚以知其然也?朝菌不知晦朔,蟪蛄不知春秋,此小年也。楚之南有冥灵者,以 ...
Hello World
Welcome to Hexo! This is your very first post. Check documentation for more info. If you get any problems when using Hexo, you can find the answer in troubleshooting or you can ask me on GitHub.
Quick StartCreate a new post1$ hexo new "My New Post"
More info: Writing
Run server1$ hexo server
More info: Server
Generate static files1$ hexo generate
More info: Generating
Deploy to remote sites1$ hexo deploy
More info: Deployment