1.画出模型
2.写出来
输出:小图是一个H/8xW/8x512的特征图; 大图是H/8xW/8x512的特征图 原来是在这里,省略了一步啊,小图输出的是一个特征图,被maxpool成特征向量(这里省略了这一步了)
输入图片大小是256*256
看一下,resnet50的网络结构吧:第一个1x1的卷积把256维channel降到64维,然后在最后通过1x1卷积恢复,整体上用的参数数目:1x1x256x64 + 3x3x64x64 + 1x1x64x256 = 69632,
先来看一下resnet50:
其实文章只取了ResNet50的conv3之前的部分 区分数组的元素:看缩进,比如前面画五彩线的四个元素就是这个数组的前四个元素,而整个Sequential是第五个元素 …… 哈哈哈注意哈,错了啊,这里啊,还是要第一层的啊:
然后,再把它变成一个Sequential:
这个我没学过,我狮虎直接告诉我:
原来刚才我狮虎没有说完呢, list前面要加一个* 好啦~ nn.Ad tab就能自动补全。至于2d是说,在图片上面卷积的意思,因为图片有wh两个维度问:那大图和小图,应该分开写两个类吗?
狮虎:不是的,一个类,不过是两个输入。
我:噫,怎么回事?
狮虎:forward里面的x才是输入,前面的init只是定义一下,这个类包含哪几部分。
再来看,vector Broadcasting该如何写:这个是在forward里面写的,因为不是一个层。
是这种的 不是这种的 你看,目前就是这样子的vector broadcasting:
写法如上,其中,shape[0]就是指的NCHWh中的Ntorch.cat?
这就是我最后的Class 实例化一个试试 狮虎让我输入,预测一下试试 生成一个大图:1,3,256,256,和一个小图:1,3,64,64突然师兄说我占了楼下的GPU:
师兄让我top一下,就是看看有哪些进程用pip list看看我是否安装了tensorflow吧:
行了,继续torch.rand吧
狮虎说,这是一个batch的大图(就是一批大图)为啥是一批呢?
答:因为随机梯度下降这个算法很好,所以cnn在设计的时候就是预测一批啊。
那请问一个batch的大图是啥?
答:是一个tensor,就是一个NCHW的tensor
所以,
这里的四个参数分别对应NCHW 好啦,生成了一个小鸡排小鸡排和大鸡排都做好了,可以送进我嘴巴里面了。
来,看看骨头的shape 应该是64*64啊,肯定把骨头也吃了来看一下哪里不太对啊:
这里的3*3是卷积核大小conv1的padding为1,一般默认padding =0,stride=1
为了使变换后长度不变,所以P=1输入下面的语句,来查看目前有什么进程:
ps aux|grep wuyanyan
而且不能通过
x掉,来关闭要通过这个,输入exit来退出。
这就可以x掉这个了,这是退出了一个其他两个窗口同理:
原来是我之前开的nvidia-smi都没有退出,所以残留了这么多啊关了以后,再来看看进程吧:
狮虎:你开了几个jupyter啊
我:我好像每次开机,都开一下
狮虎:……
狮虎:不是说,开一次就行了吗让我打开网页试试,看看开到几了。
8889 8810 kiyomi你要记住:每次打开了nvidia-smi,不用了的话,就exit ,再关狮虎:你用killall wuyanyan试试。
没有叫wuyanyan的进程,杀不了狮虎:killall nvidia-smi。
再把watch全杀了:
狮虎:把/bin/bash也杀了呢
狮虎:killall python
原来要输入长的狮虎:现在screen -r notebook
进去以后,重新开启一个jupyter notebook然后,同时按ctrl+a,再按d
注意,同时按住ctrl a,然后松开,再快速按d
然后,就可以exit了:
以后就在浏览器里面用,还不太熟悉,就不要用xshell
jupyter里面的,用完了记得在running里面关了。
发现这里,断开连接了,怎么回事呢?没关系,昨天已经保存过了,重新打开一下网址就好了。 下面开始,推导转置卷积的计算表达式这里,引用一下ITleaks博主的博客:
多好的gif图啊,是不是很清晰明了 这个公式是没有问题的~ 这是清晰一些的公式~ 这里要注意哟,i=5(是padding以后的长度)但是i'=3啊,是padding之前的长度哈验证一下,当P=0时,根据公式求得,
o'=7
但是根据图,求得:
明显o'=3所以上述公式不对。
一步一步推导:
规则是m-k+1综上所述:
o'=i+(s-1)(i-1)+2p-k+1
经验证,是对的。 感谢狮虎,好夫夫的~严谨的狮虎,要在pytorch里面,把我们推导出来的公式,还有博主推导的公式,都试一下。
因为我们要变成64,所以按照两种公式推导一下,看看参数应该是啥:
这就是小图是63*63的原因。 这是我狮虎写的 我先看看转置卷积的各个参数是啥 但是结果不对狮虎:你一步一步看看,先看cancat:
就是把类中的改成
是对的再看conv对不对:
是对的再看convt:
是对的 所以是prediction的问题咯 就是p=1 不对,怎么通道数不对呢,是1不是256啊~ 好吧,原来返回值没改~好啦~这次就正确了~
狮虎说,我可以下载一下数据集了~CARPK dataset:
此数据集包含已从Blender Carpark模型渲染的图像。框架包括明亮到黑暗的照明场景以及三种不同的天气条件:晴天,潮湿和有雾。对于每个渲染帧,生成相应的地面实况深度和语义标注并将其添加到数据集中。 大概是这样了趁着下载数据集的时候,我来说一下,这次下载数据集和上次下载人脸朝向数据集时候的区别吧,当时的我,还什么都不懂,遇到问题也都是依赖狮虎,上次看到的数据集,很方,不知道都是些什么东西,也不知道怎么用。现在开始自己尝试着去看看该怎么做了。毕竟学习是自己的事情,狮虎领进门,修行在个人。感谢我狮虎,授人鱼,也授人予渔。
但是图片和视频不能打开。 dataset解压了以后,有两个文件夹,上面的文件夹中的图片和视频均不能打开。Dataset里面的图片和视频可以打开。 恭喜你, WYY你下载了错误的数据集 这个才是文献中提到的数据集但是也没有找到去哪里下载。
算了算了,就直接用coco吧,不用他说的这个数据集了,难找夫夫的~https://lafi.github.io/LPN/
好啦,接下来就是等待回复的时间了。 昨天看了,环太平洋,这部电影,好喜欢男主~哈哈哈,最近在挑手机壳,想挑一款机械感很重的手机壳,但是据说影响信号~噫,在犹豫要不要买~
网友评论