编程语言杂烩
文章平均质量分 72
老潘的博客
老潘的博客,程序员眸中的fantasy life,分享AI技术干货,让大家少走弯路~
展开
-
结束研究生第一年之际,前来谈谈自己的感受(2018)
前言在即将结束研究生第一年之际,前来谈谈自己的感受。你可以把这篇文章当做深度学习者、程序员、研究生的简短自白。可能会有点啰嗦,会有点无趣。但如果有时间、感兴趣,不妨阅读阅读,或许你能从其中挑出点有用的东西来呢。谈到的话题:编程语言选择该怎么准备去找工作上不上博杂谈不知不觉入行深度学习即将快一年,虽然说入行之前所做的项目,所编写的代码和现在做的并没有什么直接关系。但是从自己的上手程度和过来的经验来说,好的基础还是很重要的。对于深度学习的基础,大体分为三个部分:理论知识基础(数学知识原创 2021-02-13 10:53:45 · 564 阅读 · 1 评论 -
去除编写python脚本时jupyter-notebook的错误警告
在使用jupyter-notebook或者python脚本的时候,有时候会经常遇到类似的错误:总之就是些deprecated的错误,大概意思是这个api不建议使用,因为可能在下个版本中就不支持了,但其实这段对目前的程序代码运行完全没有影响。这个时候可以通过以下代码去掉这个“占地面积”很大的警告。import warningswarnings.filterwarnings("ignore")但是注意有些库内部的警告是无法取消的。...原创 2021-02-03 22:25:32 · 1136 阅读 · 0 评论 -
如何对Pytorch进行“深入”的DEBUG
前言我们对Pytorch的debug一般都是在python端进行,这对于一般搭建模型的任务来说足够了。但如果我们需要对Pytorch进行一些修改或者研究一下机器或深度学习系统是如何搭建的,想要深入探索就必须涉及到C++的源码层面。举个栗子,例如torch.rand(3, 4)这个函数,在Python我们无法通过python端debug进入其内部实现,也无法找到其定义,自然也无法探索其具体的实现细节,所以,为了更好地对Pytorch进行探索和调试,有必要对Pytorch的C++部分进行debug。准备工原创 2021-01-30 21:08:36 · 3346 阅读 · 0 评论 -
关于numpy.array和列表list的区别
某一天写代码的时候突然遇到一个场景,需要批量对标注信息box进行操作(box包括[x1,y1,x2,y2])。最简单的操作就是,for循环遍历将box一个一个存到list中最终转化为numpy的二维数组进行操作:bboxes = []for k in range(num_objs): ann = anns[k] bbox = self._coco_box_to_bbox(ann['bbox']) # 构造array的时候需要 [[]] 二维方式构造 sbbox = np原创 2021-01-17 20:00:22 · 3012 阅读 · 0 评论 -
python面向对象——类的特殊方法(非运算特殊方法)
在python中,所有的code都是在对象中进行工作的,python2中的许多函数到了python3中都一一转化为对象,在使用的时候要按照对象的使用方法来进行操作。可以通过“is”操作符来判断两者是不是同一对象,也可以通过id()来进行唯一性的判断。现在要说的特殊方法,就是python设计类时候编写的方法,通常是__ 开头,例如 :__str__、__get__等 python中有“很多”的原创 2018-01-28 22:13:31 · 1027 阅读 · 0 评论 -
深入浅出设计模式——命令模式(Command Pattern)
转载自:https://www.cnblogs.com/Bobby0322/p/4195240.html模式动机在软件设计中,我们经常需要向某些对象发送请求,但是并不知道请求的接收者是谁,也不知道被请求的操作是哪个,我们只需在程序运行时指定具体的请求接收者即可,此时,可以使用命令模式来进行设计,使得请求发送者与请求接收者消除彼此之间的耦合,让对象之间的调用关系更加灵活。转载 2017-12-27 14:24:45 · 825 阅读 · 0 评论 -
python中全局变量、局部变量、类变量、实例变量简析
因为python为动态语言,处理变量的方式与一些静态语言(比如C++)不大一样,在这里对这些变量进行小小的总结python中全局变量与C语言中类似,也就是在的那个单页面所有函数外头定义的变量局部变量为函数内定义的变量,函数执行完后会被回收实例变量是类中前面有self的变量,每个实例变量都不同类变量是所有实例共享的一个变量,所有实例占同一个内存来看个程序就懂了!>>> big_temp = '123原创 2017-12-18 00:21:37 · 6817 阅读 · 0 评论 -
理解matplotlib、pylab与pyplot之间的关系
官方介绍: http://matplotlib.org/faq/usage_faq.html#matplotlib-pylab-and-pyplot-how-are-they-related先来说matplotlib与pylab这些模块其实功能都相同,程序运行的时候都在运行相同的code,不同的是导入模块的方式不同。我们需要注意的是,matplotlib有两个使用接口,一种是状态机( state-m原创 2017-12-11 17:59:42 · 25638 阅读 · 1 评论 -
Mac下Clion编译错误:Undefined symbols for architecture x86_64
在使用CLion做LeetCode题编译时,突然出现了一下的情况:Undefined symbols for architecture x86_64: "Solution::isCommonPrefix(std::__1::vector<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<ch原创 2017-10-17 10:58:55 · 10152 阅读 · 0 评论 -
python问题unindent does not match any outer indentation level在pycharm平台的解决方法
python对缩进具有严格的要求稍微一步留神就会发生unindent does not match any outer indentation level的错误,发生错误的原因一般有三点:1、代码前后缩进量不一致可以看到def前面有红色小波浪线,说明在这里出现了缩进错误,显然def前面的注释缩进量和def不一致(一个为2一个为4),改成一致就好了2、代码前后缩进符号不一致上图中两个函数的定义前面缩进原创 2017-10-25 22:04:16 · 432993 阅读 · 8 评论 -
Effective C++ 笔记(1):视C++为语言联邦
仅为笔记,只挑重点。条款一(clause 1) 将C++视为语言联邦:提出了一种将C++分为四种不同次语言的观念,四种次语言分别是:1、C语言,面向过程的语言,C++完全向下兼容C,在C++中单纯使用C语言的语法除了遵守的一些规则不同其他的都一样; 2、Object-Oriental C++:面向对象的C++语言,这个就是C with Class所需求的,也是C++和C之间中重要的区别;原创 2017-09-10 18:26:07 · 653 阅读 · 0 评论 -
Effective C++ 笔记(2):尽量以const,enum,inline替换#define
条款二(clause 2) 尽量使用const,enum,inline替换#define(以编译器替换预处理器)1、使用const替换#define通常替换#define NUM 3.14为const double Num = 3.14;//大写名称用于宏,这里改变写法其中有两种特殊情况: 1、定义常量指针(往往放在头文件中)两种写法:const char* const authorName原创 2017-09-11 11:07:39 · 575 阅读 · 0 评论 -
C与指针课后练习与编程答案(不断更新)
不知第几遍看C与指针了,这么一本不厚的书却感觉将C语言的精髓讲了出来,这本书或许不是最适合入门的C语言,但却是不可多得讲C语言讲的精彩的书。重温一遍C与指针,学习一门编程语言不光在于使用,也在于不断回顾一些基础知识,在这里把C与指针的答案汇总出来,也加一些自己的感觉,希望和大家共同学习,共同共勉!第一章:原创 2017-10-25 23:03:10 · 6552 阅读 · 0 评论 -
C/C++程序编译流程(预处理->编译->汇编->链接)
程序的基本流程如图:1. 预处理预处理相当于根据预处理指令组装新的C/C++程序。经过预处理,会产生一个没有宏定义,没有条件编译指令,没有特殊符号的输出文件,这个文件的含义同原本的文件无异,只是内容上有所不同。读取C/C++源程序,对其中的伪指令(以#开头的指令)进行处理①将所有的“#define”删除,并且展开所有的宏定义②处理所有的条件编译指令,如:“#if”、“#ifdef”、“#elif”、转载 2017-09-10 18:28:53 · 353 阅读 · 0 评论 -
C/C++/C#/Python:数据类型比较
C/C++/C#/Python这四种语言,由低级到高级,代表了计算机编程语言的一个发展流程,前两种编译型语言大家可能比较熟悉,在大学阶段都基本了解过。而后两种解释型语言,只有特别专业才会去学习(软件设计、网络服务器),在这里,我们通过对这四种语言进行纵向的比较。先从最简单的数据类型开始,以及相关语法,编译解释环境,相同点简略,重点突出,由浅到深去系统梳理一遍,成为一个比较合格的Polylot pr原创 2017-08-18 22:00:02 · 2252 阅读 · 0 评论