Zhang's Wikipedia

玩就玩大的

Java Tricks —— 不小于一个数的最小2的幂次方

不小于一个数的最小2的幂次方,对于 10 就是 16,对于 21 就是 32. 以下实现摘自 java HashMap 的源码: static final int tableSizeFor(int cap) { int n = cap - 1; n |= n &...

2018-09-06 21:35:35

阅读数:128

评论数:0

宏使用 Tricks

人为地定义一些“无意义”的宏(宏名本身有意义),以起到提升代码程序的可读性。 1. IN/OUT 指定参数用于输入还是输出: #define IN #define OUT void InvertMatrix( IN Matrix originalMatrix, OUT ...

2018-03-20 23:49:15

阅读数:88

评论数:0

python tricks —— datetime 删除日期中的前导 0

>> from datetime import datetime >> now = datetime.now() >> now.strftime('%Y-%m-%d') '2018-01-29' 如果此时我们想转换为 2018-1-29的形式,有如下的两种方式...

2018-01-29 00:33:56

阅读数:724

评论数:0

Linux 命令行 Tricks

区分文件和目录: ls -F ls -F -R:递归显示目录 仅改变文件的修改时间,而不修改文件的内容: touch filename; 使用 file 命令查看文件类型: ASCII text directory shell script 0. 常用 tricks 仅显示目录...

2017-10-11 20:49:42

阅读数:160

评论数:0

Tricks(四十九)—— 按 batch 访问越界的解决办法

使用 min 函数指定访问的最终位置,本质上是增加一个条件判断

2017-04-06 16:25:48

阅读数:225

评论数:0

Tricks(四十八)—— 注释一段代码

为 if 的条件判断表达式,传一个永假的语句,来注释一段代码:# Python if False: ... ... ...# C/C++ if (false) { ... ... }永远不要直接删去以前的代码,雁过留声,码过要有痕,以方便进行版本管理。当然这...

2017-03-21 10:02:20

阅读数:431

评论数:0

Tricks(四十七)—— 布尔矩阵(0-1矩阵)取反

假定 X 是一个 0-1 元素构成的布尔矩阵,则对其取反,0 变成 1,1 变为 0(True 变为 False,False 变成 True),只需要一步简单的操作:Y = (X == False)

2017-03-20 15:44:18

阅读数:1720

评论数:0

Python Tricks(二十一)—— 排列组合的计算

使用循环;阶乘的实现:def fac(n): r = 1. for i in range(1, n+1): r *= i return r 排列:Anm=m!n!=(m−n+1)⋯mA_m^n=\frac{m!}{n!}=(m-n+1)\cdots m de...

2016-10-25 11:48:11

阅读数:343

评论数:0

Python Tricks(一)—— np.where 与最大最小截断

图像处理中,对图像矩阵经历一系列的处理之后,常常会有一些像素值出现小于 0 或大于 255 的情况,显然是不符合 8 位深的要求的,此时我们就需做如下截断处理:I[I > 255] = 255; I[I < 0] = 0;当然我们也可以使用 where 语句:I = n...

2016-05-15 16:50:21

阅读数:1979

评论数:0

Tricks(四十六)—— 四个数中最小值的实现

重复利用已有的宏定义。 #define MIN(a, b) ((a) < (b) ? (a) : (b)) #define MIN3(a, b, c) MIN(MIN((a), (b)), (c)) #define MIN4(a, b, c, d) MIN(MIN3((a), (b), (c...

2016-05-04 23:11:28

阅读数:324

评论数:0

Tricks(四十五)—— 可视化 min 和 max(表示一种截断)

x=max(x,−2)x=min(x,3)}⇒x=min(max(x,−2),3) \left . \begin{split} &x = \max(x,-2)\\ &x=\min(x,3) \end{split}\right \}\Rightarrow x=\min(\max(x,...

2016-05-01 15:40:58

阅读数:439

评论数:0

Tricks(四十三)—— 逆序的方式访问一个 list

我们知道对于一 range,只可产生递增的等差数列(默认公差为1,所谓公差也即步长)。那么我们该如何通过 range(建立索引的方式)逆序的访问一个 list 呢?l = [1, 2, 3] for i in range(1, len(l)+1): print l[-i] 3 2 1

2016-04-25 17:43:43

阅读数:334

评论数:0

Tricks(四十二)—— 数据集分块

[X[k:k+mini_batch_size] for k in xrange(0, n, mini_batch_size)]import random X = [[random.randrange(0, 10) for _ in range(5)] for _ in xrange(20)] ra...

2016-04-25 15:55:11

阅读数:365

评论数:0

Tricks (四十一)—— 一 list 两用

考虑一个 3-5-1 的神经网络拓扑结构,让你给出整个网络结构可能达到的权值的数目,或者层间权值矩阵的 shape,手工计算即是:(3+1)*5+(5+1)*1=26, 0-1: W_{5*4}, 1-2: W_{1*6}。此时我们需遍历的就不再单单是单点的 list 元素,一种解决方案:topo...

2016-04-25 09:34:04

阅读数:362

评论数:0

Tricks(四十)—— 神经网络解决与(或)及异或问题

G(x)=sign⎛⎝⎜⎜∑t=1Tαtsign(wTtx)g(x)⎞⎠⎟⎟ G(\mathbf x)=\text{sign}\left (\sum_{t=1}^T\alpha_t\underbrace{\text{sign}(\mathbf w_t^T\mathbf x)...

2016-04-24 17:07:03

阅读数:1988

评论数:0

Tricks(三十九)—— 使用 list comprehension 构造笛卡尔积

如果一个集合的大小为 mm,从集合中取 nn 次,可能的情况为 mnm^n 。>> s = [-1, 1] >> [(x, y) for x in s for y in s] [(-1, -1), (-1, 1), (1, -1), (1, 1)]

2016-04-24 13:12:01

阅读数:413

评论数:0

Tricks(三十八)—— 在不计算欧式距离的前提下判断点到两点的距离哪个更近

假设两点为 M0M_0, M1M_1,则两点的中点为 C=M0+M12C=\frac{M_0+M_1}2,设 M0M_0, M1M_1 连线外一点 XX,此时如何判断点 XX,离 M0M_0, M1M_1 哪个点更近(不允许使用欧式距离直接计算)。我们取中点 CC 与 XX 的连线(CX→\vec...

2016-04-20 12:59:14

阅读数:437

评论数:0

Tricks(三十七)—— C++ string类 split 的实现

<string> 文件中的 string 类是不具有 split(切分出字符串构成的数组)这一十分实用的成员函数的。使用其提供的 find 和 substr 两个核心成员函数,也可轻易实现 split 的功能。 vector<string> split(string&...

2016-04-15 14:17:06

阅读数:519

评论数:0

Tricks(三十六)—— remove_list_entry(无需 if 逻辑)

他山之石系列,阅读别人家的代码,学习逻辑的设计,变量的命名。 这是 TED 一期,对大神 Linus 的访谈;Node *head, *prev, *walk; void remove_list_entry(Node* entry) { prev = NULL; // walk 这一...

2016-04-14 22:46:14

阅读数:2017

评论数:4

Tricks(三十五)—— 内积的极简实现

内积,对应位相乘再相加; 用到了 map,用到了 reduce,用到了 zip,用到了 函数对象;import operatordef inner_product(x, y) reduce reduce(operator.add, map(lambda x: x[0]+x[1], zip(...

2016-04-13 09:24:21

阅读数:494

评论数:0

提示
确定要删除当前文章?
取消 删除
关闭
关闭