[原创]最优化/Optimization文章合集

转载请注明出处:https://www.codelast.com/

最优化(Optimization)是应用数学的一个分支,它是研究在给定约束之下如何寻求某些因素(的量),以使某一(或某些)指标达到最优的一些学科的总称。我一直对最优化比较感兴趣,所以写过一些相关的笔记,可能有不正确的地方,但请学术派、技术流们多多包涵。

➤ 拟牛顿法/Quasi-Newton,DFP算法/Davidon-Fletcher-Powell,及BFGS算法/Broyden-Fletcher-Goldfarb-Shanno

➤ 最速下降法/steepest descent,牛顿法/newton,共轭方向法/conjugate direction,共轭梯度法/conjugate gradient 及其他

➤ Ridders求导算法

➤ 选主元的高斯-约当(Gauss-Jordan)消元法解线性方程组/求逆矩阵
文章来源:http://www.codelast.com/
➤ 关于 最优化/Optimization 的一些概念解释

➤ 最小二乘的理论依据

➤ Powell共轭方向集方法(Powell's Conjugate Direction Method)的实现Read More

[原创]Raspberry Pi/树莓派 文章合集

转载请注明出处:https://www.codelast.com/

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

➤ 在树莓派上使用腾达(Tenda)W311MI迷你无线USB网卡(RT5370芯片)/Using Tenda W311MI mini wireless USB adapter(base on RT5370 chipset) on Raspberry Pi
文章来源:https://www.codelast.com/
➤ 制作一个简单的树莓派亚克力机箱(盒子)/Make a simple acrylic case for Raspberry Pi

➤ 树莓派杂谈/Some casual thoughts about Raspberry Pi

➤ 让树莓派自动上报IP地址到邮箱/Let Raspberry Pi to report its IP address via Email

➤ 在Raspberry Pi(树莓派)上调用V4L2来操纵摄像头拍照/Use V4L2 on Raspberry Pi to Controll a Webcam to Grab Images

➤ 基于微信和Raspberry Pi的远程监控系统/A Remote Monitoring System Based on WeChat & Raspberry Pi

➤ 树莓派出现在科技美剧《Mr.Read More

[原创]Apache Pig中文教程合集

转载必须注明出处:http://www.codelast.com/

Apache Pig是用来处理大规模数据的高级查询语言,配合Hadoop使用,可以在处理海量数据时达到事半功倍的效果,比使用Java,C++等语言编写大规模数据处理程序的难度要小N倍,实现同样的效果的代码量也小N倍。

我根据自己在工作中的学习和总结,写了如下一些Apache Pig中文教程,供大家参考。
文章来源:http://www.codelast.com/
➤ Apache Pig的一些基础概念及用法总结(1)

➤ Apache Pig的一些基础概念及用法总结(2)

➤ Apache Pig中文教程(进阶)》… Read More

[原创] MAC配置(杂)

转载请注明出处:https://www.codelast.com/

(1)在MAC里安装Ubuntu虚拟机,使用共享文件夹
宿主机:MAC OS
虚拟机:Ubuntu 16.04
首先在Virtualbox软件里设置好永久性的共享文件夹,但你会发现Ubuntu里根本看不到设置的共享文件夹,原因是你需要在虚拟机中安装Virtual Guest Additions软件,方法:Devices->Insert Guest Additions CD Image...,然后Ubuntu就会自动开始安装Virtual Guest Additions软件,安装好之后重启Ubuntu虚拟机,你会看到在Ubuntu文件管理器的左栏中多了一个共享文件夹的链接,不要以为此时就大功告成了,事实上现在还不能用,只要你一点击它,就会提示没有权限,原因是你需要在Ubuntu虚拟机中把你的当前用户添加到vboxsf用户组中:

sudo adduser codelast vboxsf

然后重启Ubuntu虚拟机,再点击共享文件夹试试看,问题解决。… Read More

[原创] Ubuntu终端使用Privoxy代理

转载请注明出处:https://www.codelast.com/

在Ubuntu下,除了浏览器之外,为了能在系统全局层面上自动使用代理访问那些“不存在的网站”,有一个常用的做法就是,在Chrome的SwitchyOmega插件里的“自动切换”情景模式下“导出PAC”,得到一个PAC文件,放在磁盘的某个路径下(假设为:/home/codelast/OmegaProfile__.pac),然后在Ubuntu系统的网络设置里如下设置:… Read More

[原创] 解决MAC OS的"ssh-add: illegal option -- K"错误

转载请注明出处:https://www.codelast.com/

今天在MAC OS上用 brew install openssh 之后,再用iTerm2打开一个新窗口的时候,都会提示以下错误:

ssh-add: illegal option -- K

usage: ssh-add [options] [file …]

在我的例子中,是由于安装openssh之后装上了一个新的ssh-add程序,和MAC OS原来自带的ssh-add有些不一样,MAC自带的ssh-add程序包含-K参数,而openssh带的那个ssh-add没有-K参数,因此不能识别,从而造成了错误。

Read More

[原创] 解决Ubuntu 无法用 apt-get install 安装任何软件(dpkg: error processing package xxx)的问题

转载请注明出处:https://www.codelast.com/

Ubuntu不知道什么原因,不能用 apt-get install 安装任何软件了,并且在屏幕上输出海量错误信息,非常迷惑人,例如下面这一例:

insserv: Starting vpnagentd_init depends on plymouth and therefore on system facility `$all' which can not be true!
insserv: There is a loop between service vpnagentd_init and mountkernfs if started
insserv:  loop involving service mountkernfs at depth 1
insserv: Starting vpnagentd_init depends on plymouth and therefore on system facility `$all' which can not be true!
Read More

[原创] 《Neural Networks and Deep Learning》读书笔记:最简单的识别MNIST的神经网络程序(2)

转载请注明出处:https://www.codelast.com/

本文是上一篇文章的续文。
Neural Networks and Deep Learning》一书的中文译名是《神经网络与深度学习》,书如其名,不需要解释也知道它是讲什么的,这是本入门级的好书。
在第一章中,作者展示了如何编写一个简单的、用于识别MNIST数据的Python神经网络程序。
本文接着上一篇文章对程序代码进行解析。… Read More

[原创] 解决Linux系统上由于程序占用的文件描述符(file descriptor)过多导致的异常问题

转载需注明出处:https://www.codelast.com/

前几天发现服务器上的一个JAVA程序表现很不对劲,运行起来特别“慢”,仔细一看程序的日志,发现里面有Exception抛出,提示“too many open files”,由于无论是读写文件还是创建网络连接,都需要占用文件描述符(fd),于是怀疑是服务器上的某个程序占用的资源没有释放,达到了系统设置的上限从而导致程序异常。 … Read More

[原创] 在树莓派3上使用微软ELL嵌入式学习库(5)

转载需注明出处:https://www.codelast.com/

OS: Arch Linux ARM
ELL:写本文时GitHub中的最新版
TensorFLow: v1.1.0

本文是上一篇文章的续文。
微软于2017年6月底发布了一个主要用于嵌入式系统(例如,树莓派,ARM Cortex-M0等)的机器学习库ELLEmbedded Learning Library嵌入式学习库)。
在之前的文章中,我大费周章,终于在树莓派上把ELL的demo跑起来了,但它实用吗?在本文中,我将简单地测试一下使用Darknet model的inference速度和精度。… Read More

[原创] ELL(Embedded Learning Library,微软嵌入式学习库)文章合集

转载需注明出处:https://www.codelast.com/

微软于2017年6月底发布了一个主要用于嵌入式系统(例如,树莓派,ARM Cortex-M0等)的机器学习库ELLEmbedded Learning Library嵌入式学习库),旨在把部分云端的机器学习计算转移到嵌入式设备上进行。
本系列文章记录了在树莓派3代上把ELL demo跑起来的过程中遇到的各种问题以及解决办法。

➤ 在树莓派3上使用微软ELL嵌入式学习库(1)

➤ 在树莓派3上使用微软ELL嵌入式学习库(2)

➤ 在树莓派3上使用微软ELL嵌入式学习库(3)

➤ 在树莓派3上使用微软ELL嵌入式学习库(4)

➤ 在树莓派3上使用微软ELL嵌入式学习库(5)Read More

[原创] 在树莓派3上使用微软ELL嵌入式学习库(4)

转载需注明出处:https://www.codelast.com/

本文是上一篇文章的续文。
微软于2017年6月底发布了一个主要用于嵌入式系统(例如,树莓派,ARM Cortex-M0等)的机器学习库ELLEmbedded Learning Library嵌入式学习库)。
为了在树莓派上跑起来ELL的demo,需要先在PC上做大量工作,前几篇文章正是记录了这个过程中遇到的种种问题。
从本文开始,我们终于可以把工作转到树莓派上了——不枉前面克服的所有困难,这一刻,我们离成功是如此之近。
注:本文的所有操作,都是在树莓派上运行的。Read More

[原创] 在树莓派3上跑ELL的demo报错:ImportError: build/_darknetReference.so: undefined symbol: cblas_sgemm

转载需注明出处:https://www.codelast.com/

OS:Arch Linux ARM
gcc version:7.1.1 20170516 (GCC)

微软于2017年6月底发布了一个主要用于嵌入式系统(例如,树莓派,ARM Cortex-M0等)的机器学习库ELLEmbedded Learning Library嵌入式学习库)。
本文主要介绍了在树莓派上跑ELL的demo程序时,遇到的一个“undefined symbol: cblas_sgemm”问题的解决办法。… Read More

[原创] 在树莓派3上使用微软ELL嵌入式学习库(3)

转载需注明出处:https://www.codelast.com/

本文是上一篇文章的续文。
微软于2017年6月底发布了一个主要用于嵌入式系统(例如,树莓派,ARM Cortex-M0等)的机器学习库ELLEmbedded Learning Library嵌入式学习库)。
在前几篇文章中,我在Ubuntu PC上对ELL里现成可用的model进行了测试,虽然由于我台式机太老旧的原因,运行速度相当之慢,不过它终究跑通了demo,下一步,我们需要在台式机上,把ELL的model编译到目标平台上——在这里,目标平台指的就是树莓派3。
注:本文的所有操作,都是在台式机上运行的。Read More