
细节
五道口纳什
wx公众号/B站:五道口纳什
展开
-
range 的实现细节(start、end、step)(左闭右开区间)
range(int start, int end, int step); 返回的区间是 [start, end) 要求步长为 step,三个参数均为整数,在底层实现时,最终返回的区间元素的数目应当为多少,要分情况讨论。为简化问题,设 start, end, step 三个参数对应的数学符号为 x,y,dx, y, d,再令 y−xd\frac{y-x}{d} 的整数部分为 kk,则分情况讨论:y−原创 2017-03-11 23:09:47 · 6695 阅读 · 0 评论 -
C++ 中的友元(friend)
类内声明的 friend 变量(或者函数)不受 private 的约束。1. 实现单例class Printer {public: friend Printer& getPrinter();private: Printer() { std::cout << "Printer::Printer()" << std::endl; }};Printer& g原创 2017-07-30 21:06:32 · 893 阅读 · 0 评论 -
码位(code position/point)Unicode 编码与 Python 2/3 编码兼容性问题
Unicode HOWTO 0. 码位(code position/point) 一个码位由某个数值表示,全部码位共同构成其码值空间(code space)。ASCII,0~7Fhex(128)拓展 ASCII,0~FFhex(256)Unicode,0~10FFFFhex 1, 114, 112,17×216(17 个平面)2. python 下的编码bytes.decode()原创 2017-08-13 17:34:38 · 935 阅读 · 1 评论 -
编码格式(UTF-8 与 ANSI)各种编码解码(encode、decode)
1. café分别在 utf-8 和 cp1252下的编码形式How to fix: “UnicodeDecodeError: ‘ascii’ codec can’t decode byte” >> 'é'.encode('cp1252')b'\xe9'>> 'é'.encode('utf-8')b'\xc3\xa9'# 通过何种形式的编码(encode),便继续通过该形式解码(deco原创 2017-08-13 17:58:59 · 12674 阅读 · 0 评论 -
自加自减运算符
自加自减运算符与循环int a[] = {1, 2, 3, 4, 5};int i = 0;while (i < 5){ cout << a[++i] << endl;}(1)循环控制次数;(2)初值+次数:最终的访问区间;本例而言,访问的是a[1] ~ a[5],显然a[5]访问越界,输出垃圾值。原创 2016-05-26 22:21:11 · 1775 阅读 · 0 评论 -
Windows vs Linux:\r\n 与 \r
Linux 下文本文件的换行符为 \nWindows 下文本文件的换行符为 \r\n,占两个字节: \r:归位键(CR),ascii 码为 13\n:换行键(LF),ascii 码位 10也即单行无换行文本,其在 Linux 和 Windows 下的大小是一致的; windows 文件有多少个换行,最终文本的大小就会比 Linux 下多出几个 \r,也即多出几个字节;原创 2018-01-19 23:17:53 · 1008 阅读 · 0 评论 -
编程细节 —— 按值传递、按引用传递(final、const)
System.out,out 是 System 类内定义的静态 final PrinterStream 变量;public final class System { ... public final static PrinterStream out = null; ...}0. 总论注意区分 Java 的按值传递和按引用传递,但使用按引用传递时,被调端原创 2017-08-24 21:48:51 · 839 阅读 · 0 评论 -
python 2 与 python 3 —— 转义及编码(\u, \x)
首先前面的 \表示转义,\x:只是 16 进制的意思,后边跟两位,则表示单字节编码;\d:十进制;\o:八进制;对于 \xaa ⇒ chr(0xaa) ⇒ chr(16*a+a)\u:unicode 码;一般其后跟 4 个 16 进制数,因此,一般为 unicode-16Python:字符串的decode和encode成员函数,可对其进行转换>> str1 = '\u4f60\u597d'原创 2016-11-10 19:06:34 · 16793 阅读 · 0 评论 -
一题多解 —— 判断一个数是否为奇数
对 2 取模,是否为 1?(负奇数对 2 取模,为 -1)jshell> 5 % 2$1 ==> 1jshell> -5 % 2$2 ==> -1同 1 相与;jshell> 5 & 1$3 ==> 1jshell> -5 & 1$4 ==> 1所以num & 1 == 1判断一个数是否为奇...原创 2018-09-05 22:23:50 · 2212 阅读 · 0 评论 -
Java 类型信息 —— 获取泛型类型的类对象(.class)
How to get a class instance of generics type T考虑泛型类Foo<T>,在其成员中,如果想获取类型(type)T的类实例(class instance of type T),是不可以直接调用 T.class的。原因在于,Java 语言无法获取泛型类型参数(T)的运行时信息(不可以直接调用 T.class)。0. 常用解决方案既然无法调用泛型类型参数的运行时原创 2017-08-19 11:39:17 · 2112 阅读 · 0 评论 -
Python 字典(dict)操作(update)、翻转字典
1. get注意以下两种形式的细微差别,差别在返回值的类型上:d.get(value, '')d.get(value, [''])&amp;gt;&amp;gt; d = {}&amp;gt;&amp;gt; d.get(value, '')''&amp;gt;&amp;gt; d.get(value, [''])['']2. update:字典更新x = {'a':原创 2017-07-23 23:57:54 · 4709 阅读 · 0 评论 -
二分查找到的细节
尽量避免加法和乘法(可能在数据规模较大时出现的数值溢出的问题)原创 2017-03-14 17:55:35 · 961 阅读 · 0 评论 -
卷积神经网络(CNN)与特殊的卷积
各种卷积操作的可视化的显示形式:GitHub - vdumoulin/conv_arithmetic: A technical report on convolution arithmetic in the context of deep learning1. fractionally-strided 卷积 如上图示,输入为 3×33\times 3 ,想要卷积+上采样成 5×55\ti原创 2017-03-17 11:00:21 · 1607 阅读 · 0 评论 -
Python 语法细节(Python 2.x 与 Python 3.x 语法差异)
原来最基础最原始的知识,奥妙也无穷。原创 2016-09-14 15:16:44 · 1038 阅读 · 0 评论 -
卷积神经网络的权值参数个数的量化分析
考虑 103×10310^3\times 10^3 的输入图像:全连接,隐层神经元的数目为 10610^6 时,则每一个输入像素与每一个隐层神经元之间都是待学习的参数, 数目为 106×106=101210^6\times 10^6=10^{12}卷积,卷积核的大小为 10×1010\times 10 时, 步长为 10,103×10310×10×(10×10)\frac{10^3\time原创 2017-05-14 10:32:23 · 6099 阅读 · 0 评论 -
pandas 下的 one hot encoder 及 pd.get_dummies() 与 sklearn.preprocessing 下的 OneHotEncoder 的区别
sklearn.preprocessing 下除了提供 OneHotEncoder 还提供 LabelEncoder(简单地将 categorical labels 转换为不同的数字);1. 简单区别Panda’s get_dummies vs. Sklearn’s OneHotEncoder() :: What is more efficient?sklearn.preprocessing 下原创 2017-06-05 19:17:00 · 11999 阅读 · 2 评论 -
Python str 与 bytes 类型(Python2/3 对 str 的处理)
本文均在 Python 3 下测试通过,python 2.x 会略有不同。1. str/bytes>> s = '123'>> type(s)str>> s = b'123'bytes2. str 与 bytes 之间的类型转换python str与bytes之间的转换str 与 bytes 之间的类型转换如下:str ⇒ bytes:bytes(s, encoding='utf8')原创 2017-05-24 17:34:14 · 30620 阅读 · 0 评论 -
卷积神经网络(CNN)的细节问题(滤波器的大小选择)
1. 权值共享:减轻过拟合 & 降低计算量一个卷积层(Wx+b ⇒ ReLU ⇒ maxpooling)可以有多个不同的卷积核,而每一个卷积核都对应一个滤波后映射出的新图像,同一个新图像中的每一个像素都来自完全相同的卷积核,这就是卷积核的权值共享。那么为什么要共享卷积核的权值参数呢?降低模型复杂度以减轻过拟合;降低计算量;原创 2017-03-08 23:21:40 · 34860 阅读 · 8 评论 -
Python 进阶 —— x = x+1 vs x += 1
(1)x += 1in-place(就地)修改 x 自身的值,(2)x = x + 1 会隐式地创建一个新的对象,表示 x 与 1的和,同时用同样的 name 指向它,所以它的含义和y = x+1相同,只不过这里的 y取名为x罢了;当我们用多个变量名指向同一对象实体时,可能对比会更加明显:>> y = x = []>> x += [5]>> x[5]>> y [5]>> x = x +原创 2016-04-25 23:03:28 · 8260 阅读 · 0 评论