注:带有 ♬♬♬♬♬ 标志的是文章合集。
✍强化学习(Reinforcement Learning)文章合集 ♬♬♬♬♬
✍用人话解释机器学习中的Logistic Regression(逻辑回归)
✍如何防止softmax函数上溢出(overflow)和下溢出(underflow)
最优化(Optimization)是应用数学的一个分支,它是研究在给定约束之下如何寻求某些因素(的量),以使某一(或某些)指标达到最优的一些学科的总称。我一直对最优化比较感兴趣,所以写过一些相关的笔记,可能有不正确的地方,但请学术派、技术流们多多包涵。
➤ 拟牛顿法/Quasi-Newton,DFP算法/Davidon-Fletcher-Powell,及BFGS算法/Broyden-Fletcher-Goldfarb-Shanno
➤ 最速下降法/steepest descent,牛顿法/newton,共轭方向法/conjugate direction,共轭梯度法/conjugate gradient 及其他
➤ 选主元的高斯-约当(Gauss-Jordan)消元法解线性方程组/求逆矩阵
文章来源:http://www.codelast.com/
➤ 关于 最优化/Optimization 的一些概念解释
注:带有 ♬♬♬♬♬ 标志的是文章合集。
Raspberry Pi是什么?
引用维基百科的一句话:
The Raspberry Pi is a credit card sized single-board computer developed in the UK by the Raspberry Pi Foundation with the intention of stimulating the teaching of basic computer science in schools.
简单地说,它就是一个基于ARM CPU的、信用卡那么大的迷你计算机。
下面是我在折腾Pi的过程中的一些记录,仅供参考。
➤ 树莓派视频教程
➤ Raspberry Pi(树莓派)配置记录/Configure the Arch Linux ARM on Raspberry Pi
➤ 在Raspberry Pi(树莓派)上用OpenCV来操纵摄像头拍照/Use OpenCV on Raspberry Pi to Controll a Webcam to Take Photos
➤ 通过Raspberry Pi(树莓派)的GPIO接口控制发光二极管/Control LED through the GPIO on Raspberry Pi
➤ 通过Raspberry Pi(树莓派)的GPIO接口控制步进电机/Control stepper motor through the GPIO on Raspberry Pi
Apache Pig是用来处理大规模数据的高级查询语言,配合Hadoop使用,可以在处理海量数据时达到事半功倍的效果,比使用Java,C++等语言编写大规模数据处理程序的难度要小N倍,实现同样的效果的代码量也小N倍。
我根据自己在工作中的学习和总结,写了如下一些Apache Pig中文教程,供大家参考。
文章来源:http://www.codelast.com/
➤ Apache Pig的一些基础概念及用法总结(1)
本文适用的环境:
MacOS、Ubuntu(仅在20.04.6 LTS上做了测试)
git diff命令在终端执行时,其显示效果是:
* 按文件分块:每个有改动的文件单独一段,从上到下依次展示。
* 统一在一个终端窗口内纵向滚动,默认不会并排显示左右对比。
我个人觉得,这种显示方式,不如"左右对比"的diff形式直观。
所以,有没有办法把git diff命令的输出,改造成更美观的形式呢?
如果你有把mp3音频转成中文文本、并且不想调用任何云端API的需求,那么本文提供了一个可行的方案。
OS:Ubuntu 20.04 LTS(MacOS类似可用)
在一台服务器上,如果启动了一个TF-Serving服务,我们知道它占了资源,却不知道它是在空跑还是真的在用。
本文描述了怎样判断它是否真的在用。
这个问题已经不是第一次遇到了,只不过今天痛下决心花费不少时间把它写成文章,给遇到同样问题的朋友一些参考。
我们知道,一个JAVA M-R job跑完后,无论是在命令行,还是在job的信息展示网页上,都会看到输出job counter的信息。在网页上,通过点击job信息页中的"counter"链接就能看到。

有时候,一个用了好久、一直好用的方法突然失灵,并且还折腾了几天,真的会逼疯人。
前几天我就遇到了这种破事:在Ubuntu开发机上自己升级IntelliJ idea到最新版之后,就无法再启动它。
启动时永远会崩溃,无论是重启系统、删除IntelliJ idea的本地缓存,或者使用回旧版,都无法再启动它(仿佛什么文件被"污染"了,再也回不去了),十分烦人。经过几天各种方法的尝试,终于解决了问题,我的解决办法不具有普适性,但如果你遇到了此类问题,或许可以为你提供一些解决思路。

diff命令是最常用的、比较两个文本文件差异的工具。但在很多情况下,它并不那么好用,比如你想高亮显示差异的内容时,单纯的diff命令就做不到了。
本文讨论了在macOS系统下,diff命令的一些“增强版”工具,让你用起来更方便。
本文记录了MacOS上的软件包管理器Homebrew的若干琐事。
Homebrew 是一个自由和开源的软件包管理系统,专为 macOS 设计,用于简化软件安装过程。它允许用户容易地安装、更新和卸载各种软件包,包括命令行工具、开发工具和常用库。Homebrew 通过 GitHub 维护,并且它的软件包是从 GitHub 仓库中获取的。
MacOS执行一个连接远程服务器的命令 ssh root@192.168.10.78 "mkdir -p /data" 命令时,报错:
… Read Moredyld[52840]: Library not loaded: /usr/local/opt/openssl/lib/libcrypto.1.0.0.dylibReferenced from: <此处内容省略> /usr/local/Cellar/openssh/7.8p1/bin/sshReason: tried: '/usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib' (no such file), '/System/Volumes/Preboot/Cryptexes/OS/usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib' (no such file), '/usr/local/opt/openssl/lib/libcrypto.1.0.0.dylib' (no such file), '/usr/local/lib/libcrypto.1.0.0.dylib' (no such file), '/usr/lib/libcrypto.1.0.0.dylib' (no such file, not in dyld cache), '/usr/local/Cellar/openssl@3/3.2.0_1/lib/libcrypto.1.0.0.dylib'
有一个JAVA写的map-reduce job,mapper输出的key、value类型分别为Text、NullWritable,所以reducer应该像下面这样写:
static class QuerySegmentResultFromKVReducer extends Reducer<Text, NullWritable, NullWritable, NullWritable> {
@Override
protected void setup(Reducer.Context context) throws IOException, InterruptedException {
}
@Override
protected void cleanup(Reducer.Context context) throws IOException, InterruptedException {
}
@Override
protected void reduce(Text key, Iterable<NullWritable> values, Context context) throws IOException, InterruptedException {
//TODO:
}
}
在这里,reducer输出的key、value类型都是NullWritable,我们不用关心,这不是本文的关注点。
无论是JAVA M-R job还是Pig M-R job发生Java Heap Space错误,一般情况下,我们要通过定位输入数据里的异常情况再想办法解决,例如,你在程序中对某个key做了GROUP操作,但输入数据中可能该key有大量记录,这就有可能导致job OOM。
这个问题取决于数据的具体情况,以及程序实现逻辑,所以这里就不提了。
本文要说的是:有时候程序实现/输入数据的问题“不是特别严重”,我们可以通过调整M-R job的内存参数来解决。
跑起来一个TensorFlow model-serving服务后,有时候记不清它加载的是哪个.pb模型了,可以采用下面的办法来确认。
Hadoop目录的配额是指为了限制一个HDFS文件夹中所包含的数据块和名称空间元素(如子文件夹和文件)的数量而设置的最大值。简单来说,就是对一个文件夹中可存储数据的上限进行管理和控制,以便于维护整个系统的健康和性能。
通过设置适当的配额,管理员可以确保每个目录不会超出其可承受的容量范围,防止集群资源被长时间占用或滥用。同时也可以通过监视使用情况来优化系统性能并减少故障风险。