《Deep Learning》(Ian Goodfellow & Yoshua Bengio & Aaron Courville)第四章「数值计算」中,谈到了上溢出(overflow)和下溢出(underflow)对数值计算的影响,并以softmax函数和log softmax函数为例进行了讲解。这里我再详细地把它总结一下。
原创
[原创] 解决Java程序读写HDFS文件的错误:No FileSystem for scheme: hdfs
如果你在程序中(不是一个Hadoop job程序)有读写HDFS文件的逻辑,那么程序运行的时候可能会报下面的错:
Exception in thread "main" java.io.IOException: No FileSystem for scheme: hdfsat org.apache.hadoop.fs.FileSystem.getFileSystemClass(FileSystem.java:2676)at org.apache.hadoop.fs.FileSystem.createFileSystem(FileSystem.java:2690)at org.apache.hadoop.fs.FileSystem.access$200(FileSystem.java:94)at org.apache.hadoop.fs.FileSystem$Cache.getInternal(FileSystem.java:2733)at org.apache.hadoop.fs.FileSystem$Cache.get(FileSystem.java:2715)at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:382)at org.apache.hadoop.fs.FileSystem.get(FileSystem.java:181)......
[原创] 解决JAVA访问Elasticsearch的问题:org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available
本文对应的的Elasticsearch(简写为ES,下同)版本:2.3.5
注:本文写作于多年以前,现在ES已经不提倡使用本文的 TransportClient 来操作ES了,而应使用RestClient。所以本文仅做参考! 2020.08.25
使用Elasticsearch的 JAVA API 来读取其存储的数据,如果遇到这个问题:
org.elasticsearch.client.transport.NoNodeAvailableException: None of the configured nodes are available
此时,需要确认代码里写的一些配置是正确的。下面,就通过一个实例,来说明如何正确地读取ES里的数据。
[原创] 《Neural Networks and Deep Learning》读书笔记:反向传播的4个基本方程(1)
从反向传播的4个基本方程这部分内容开始,《Neural Networks and Deep Learning》一书基本上是满屏的数学公式了,然而,得益于作者强大的、深入浅出的表述能力,理解起来并不会让人感觉那么难。
本文将描述反向传播的4个基本方程中的第一个——输出层误差的方程:
[原创] 《Neural Networks and Deep Learning》读书笔记:最简单的识别MNIST的神经网络程序(1)
《Neural Networks and Deep Learning》一书的中文译名是《神经网络与深度学习》,书如其名,不需要解释也知道它是讲什么的,这是本入门级的好书。
在第一章中,作者展示了如何编写一个简单的、用于识别MNIST数据的Python神经网络程序。对于武林高手来说,看懂程序不会有任何困难,但对于我这样的Python渣则有很多困惑。所以我对做了一些笔记,希望同时也可以帮助有需要的人。
[原创] 在树莓派上把文字转成语音(Text-To-Speech/TTS)
本文软硬件环境:
树莓派:3代 Model B V1.2,内存1GB
OS:Arch Linux ARM
有时候,我们需要在程序中添加文字转语音的功能,即通过某个程序或API,把输入的文字朗读出来,也就是通常所说的 text-to-speech(简写为TTS)。我尝试了一个简单的方案——使用Espeak来完成这个任务,在这里记录下来。
[原创] 加快TensorFlow在树莓派上的执行速度——服务常驻内存
本文软硬件环境:
树莓派:3代 Model B V1.2,内存1GB
OS:Arch Linux ARM
在上一篇文章中,我尝试了加快TensorFlow预测速度的一个方法——模型“预热”,实验证明它非常有效,但那仍然没有解决一个问题:每次运行程序,都要加载一次模型,然后预热N次,这个过程非常耗时,因此减少这部分时间也是非常关键的。把TensorFlow做成一个常驻内存的服务就可以解决这个问题。
解决这个问题的正确姿势是:TensorFlow已经提供了一个叫作 TensorFlow Serving 的library来实现这个需求。但麻烦的是,在树莓派上编译TensorFlow Serving会遇到很多问题,所以,在没有人搞出在树莓派上一键安装的Python wheel包之前,还是算了吧...
因此,下面我用一个很挫的办法来实现一个简陋的TensorFlow service。
[原创] 在树莓派上用TensorFlow玩深度学习(Deep Learning)
本文软硬件环境:
树莓派:3代 Model B V1.2,内存1GB
OS:Arch Linux ARM
深度学习(Deep Learning)现在这么火,树莓派玩家们当然也不会放过,目前已经有很多树莓派项目都搭上了Deep Learning的车,纯粹出于“好玩”的目的,我在树莓派上也实验了一把,用TensorFlow来识别一张图片里的物体“是什么”。
[原创] 在树莓派上使用触摸开关(touch switch)
触摸开关/触摸传感器/轻触开关,是一种通过轻触就可以实现开关的电子器件,生活中随处可见,很多家用电器的操控界面都是触摸开关。
本文中的触摸开关,是在树莓派OS运行的情况下,用来触发某个动作(例如,触摸的时候控制摄像头拍照)。
[原创] 树莓派3代Model B上手
最近入手了树莓派3代,从树莓派出世到现在(2016.04),总共买了共4片各型号的树莓派,算不上狂热的爱好者,但也算是个比较热心的用户了吧。
在此记录一些树莓派3代的使用笔记。
[原创] 解决错误“class "javax.servlet.FilterRegistration"'s signer information does not match signer information of other classes in the same package”
这是一个jar包冲突引起的Java程序错误,而且是runtime的错误,编译的时候不出错,一运行起来就挂。