Python学习杂记(1)
Python学习杂记(1)本篇文章是为了记录进一步学习python时遇到的一些问题和相对陌生的知识点。
range()函数返回的是一个独特的“范围类”对象!
for 变量 in 字符串|集合|范围|任何可迭代对象:
可迭代对象:指该对象中包含一个–iter–方法
isinstance()函数,判断某个变量是否为指定类型的实例,前一个参数是要判断的变量,后一个参数是类型。如:isinstance(2, int)
zip()函数,将多个列表压缩为一个zip对象(可迭代对象),这样就可以使用一个循环遍历两个列表
reversed()函数:接受序列(元组、列表、区间等),然后返回一个“反序排列”的迭代器,sorted()类似
Chapter 5 函数和Lambda表达式
函数的参数收集(个数可变的参数),可以在调用函数时传入任意多个参数) P105
在形参前面添加一个*,多个参数当做元组传入。一般都放在形参的末尾。如果放在前面,需要将后面的参数均使用关键字参数的方式输入。此种方法输入的参数被看为元组
在形参前面添加**,多个参数当做字典传入。
逆向参数收集 P106
指 ...
CS231n Assignment1 实现时遇到的问题
CS231n Assignment1 遇到的问题
实现基于2019年版的课程
主要记录遇到的问题
Softmax implement不论是实现softmax,SVM损失函数,二者遇到的问题都比较相似,主要为导数的推导和numpy的使用。由于softmax的实现稍微复杂一些,这里只记录softmax实现时的问题。
Gradient使用SGD核心的工作就是计算softmax关于权值W的梯度。课程中没有给出推导过程,这里推导一下。
Numeric Stability Trick为了防止出现数值计算不稳定,要在计算损失函数式加入修正项(对Gradient无影响)。
原始为:
Implement with numpyNavie Version给出naive版本的代码。如何计算的示意图已在推导过程中给出。naive版本的代码基本按照推导的公式梳理下来即可。
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748def softmax_loss_naive(W, X, y, ...
SimCLR论文复现
写在开头整体的代码使用pytorch实现,基于https://github.com/sthalles/SimCLR (用pytorch实现simCLR中star最多的)实现了Logistic Loss(支持使用欠采样、改变权重和无操作)和margin triplet loss(支持semi-hard mining),并可选LARS(experimental)和ADAM优化。代码框架支持resnet50和resnet18;dataset支持STL10和CIARF10(测试时使用CIARF10)
训练为:run.py;修改训练参数、Loss、数据集等需要修改:config.yaml ;评估使用evluation.py(测试训练分开的原因是因为我租了GPU,用GPU训练,用我的PC测试,这样可以更快一些)
个人运行环境:win10 + pytorch 1.5 + cuda 10.2(租的GPU 1080ti)
日期
进度
5-19 Tue(基本满课+实验)
论文阅读,选定使用pytorch实现和决定基于上文链接实现代码
5-20 Wed
熟悉基础知识、了解代码整体框架,理 ...
First test 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