雕虫「晓」技

「保持更新啊朋友」

泛化性较强一些基本思路(1)

遇事不决,默念口诀

在这个系列里,打算总结一下作为一个程序员,在我日常遇到的许多典型场景下的基本思路,可以先按照这个手册来进行debug,避免走一些歪路 场景一:这个程序比较速度慢 这应该是一个现实中常见的场景。一般而言,程序比较慢的原因包括(以下可能是废话): GPU瓶颈 CPU瓶颈 IO瓶颈 但是无论哪种,首先要利用profiling工具看一下是否能找到瓶颈,参见:Pytho...

Python Profiling

性能瓶颈查验

对于一个程序员而言,一般我们的追求包括:稳定性、效率、效果。而profiling就是我们优化效率的重要步骤——瓶颈发现。profiling,在软件工程中的意思大体接近于【性能分析、瓶颈分析】,也就是去看代码运行过程中在各个环节中耗费的时间。 注意,这里profiling只是发现瓶颈的一个选项,而且是一个保底但是通用的选项。如果天赋异禀或者经验老到,完全可以靠经验或灵感发现问题,比如变量反复...

新机器配置记录

开发用机器

最近遇到了需要重新配置机器的机会,因此特地记录一下 请注意:在本篇中,我们统一使用yourname作为用户名 添加用户 假设你获得的是root用户,那么第一件事情就是创建用户,并伴随可能的添加用户权限等 创建用户:sudo useradd yourname 如果是CentOS,你还需要修改密码:sudo passwd yourname 为用户添加sudo权限 ...

一些基本的习惯

或——程序员基本素养

1. 问题搜索 首先树立一个概念:我们日常碰到的问题,分为两类:第一类是常见但是只是我们自己不常用因此不知道具体方法的问题;第二类是当我们对一个领域熟知精深后发现的问题。第一类问题构成了大部分业务上的场景,因此请相信大多数的问题至少曾经有人碰到过,这时候要先充分搜索;第二类问题可能我们踩到了一个坑里,这时候可能没人遇到过,但是也需要先确认这一点,否则很容易走弯路。 其实上面的事情还...

Matplotlib字体设置

matplotlib字体机制、字体缓存、修改字体、中文字体设置

简单记录一下今天在matplotlib中尝试切换字体的过程 1. matplotlib 的字体机制 我们举一个简单地例子 假设我们写了这样一段代码: 1 2 3 4 5 from matplotlib import pyplot as plt plt.plot(range(10)) plt.title("哈哈") plt.show() 如果在一台普通的电脑上运行,会有如下结果:...

Query Large Table in Go

Use go routine to accelrate query mysql in go

Take home message1: Query DB by bucket and use go routine to parallel them. Take home message2: All code is on Adoni/golang-query-large-table · GitHub Sometimes we need to load data from ...

Plot on Remote Server

Plot on server, show locally

For lots of data scientist or ML researchers, matplotlib, the popular Python-based graphing library, is one of the most useful tool for visualization. For example, use the code below can draw a str...

Python Coding Practice

I didn't say it's the best practice, so you know :)

Concurrent and multi-process It’s common to use services to do something in a company. In this situation, we want to use multiple processing to handle traffic delay. 1 2 3 from concurrent.futures...

Understand SVM (1)

In last post we introdue SVM. Now we want to solve it. Lagrangian Theory This section is based on the content of book Convex Optimization. Generally speaking, Lagrangian Theory can be used t...

Understand SVM (1)

In this post I gonna write something to understand SVM. Thanks to Professor Francesco Orabona’s explain and most content of this post is learned from his course Convex Optimization. What’s SVM SV...