用TensorFlow的keras 进行机器学习

如今机器学习库非常多,比较流行的有谷歌的TensorFlow 和 keras插件 ,https://keras.io/  他是Python的深度学习库,Keras是用Python编写的高级神经网络API,能够在TensorFlowCNTK(是微软出品的开源深度学习工具包)或Theano(theano 学术化。如果是使用机器学习进行学术性研究,网上已经有很多使用 theano 的学术性资料 http://deeplearning.net/software/theano/)之上运行。它的开发着重于实现快速实验。能够以最小的延迟将想法付诸实践是进行良好研究的关键。Keras兼容于:Python 2.7-3.6

关于Keras的特性有:

  • 允许轻松快速地进行原型制作(通过用户友好性,模块化和可扩展性)。
  • 支持卷积网络和循环网络,以及两者的组合。
  • 在CPU和GPU上无缝运行。

TensorFlow导入keras.输出当前版本:

使用Fashion MNIST数据集,其中包含10个类别的70000个灰度图像。如图所示,这些图片显示的是每件衣服的低分辨率(28×28像素)

Fashion MNIST的目标是作为经典MNIST数据的替换——通常被用作计算机视觉机器学习程序的“Hello, World”。MNIST数据集包含手写数字(0,1,2等)的图像,

我们将使用60,000张图像来训练网络和10,000张图像来评估网络模型学习图像分类任务的准确程度。您可以直接从TensorFlow使用Fashion MNIST,只需导入并加载数据

我们完成了数据预处理工作,对训练的基础数据进行测试

对样本进行建模,预测后的数据:

分类正确率还是非常高的

NO.9 在raspberry开发板上部署机器学习环境(一)

最近随着各家巨头,如谷歌(google)和脸书(Facebook)相继公布自己的开源机器学习框架,并且都对树莓派开发板做了支持,分别发布了  TensorFlow ,caffe2 框架,我购置了 Raspberry 3代 B板 。和迷你键盘,16GB micro SD卡 HDMI线,如下图:

1下载树莓派系统

地址 https://www.raspberrypi.org/downloads/raspbian/ 点进去会有2个版本,推荐安装with pixel的完整版

2系统写入SD卡

3 将你下载的系统解压 启动win32DiskImager

4 将TF卡插入开发板,连接HDMI输出,如果你连接的是电脑PC的屏幕,你需要一个HDMI转VGA的接口

下图为系统运行完成后:

可以在图形界面里配置固定IP地址,也可以手动配置

直接在命令行中输入:

sudo nano /etc/network/interfaces

打开树莓派网络配置的文件

下图我用了两行分解了上面的命令效果一样的

cd /etc/network              ##跳转到network目录

sudo nano interfaces      ##提升权限使用nano编辑器打开interfaces

进入interfaces文件 ,我们可以看到默认配置为DHCP方式

我们将内容修改如下:

auto ethiface eth0 inet static 

address  192.168.1.100      ## 设定的静态IP地址

netmask 255.255.255.0    ## 网络掩码

gateway 10.52.91.1          ## 网关

使用快捷键Ctrl+X关闭,提示问是否保存,输入"Y"保存

在B板上带蓝牙和Wi-Fi模块,我们也可以直接配置成无线连接。

手机上也可以安装VNC view等软件,远程连接设备,树莓派上需要安装软件:

添加vnc server

sudo apt-get update

sudo apt-get install tightvncserver
安装完成后,运行

tightvncserver
这时会要求输入控制密码,选择性输入查看密码,查看密码只能用来查看桌面,而控制密码才能对桌面进行操作。

此后,在电脑上安装vnc软件,下载地址:http://www.tightvnc.com/

图为IPHONE 连接设备

 

至此一个简单的LINUX系统环境算是配置完成。后续的将研究一下框架的安装。

 

对深度学习(Deep Learning)的简单介绍

以下解释来自维基百科:

深度学习是机器学习拉出的分支,它试图使用包含复杂结构或由多重非线性变换构成的多个处理层对数据进行高层抽象的算法。

深度学习的用途实在太广泛,最为普通人所熟知的,就是以下和民生相关的应用:人脸识别,语音识别,图像搜索,在线翻译,等等。

目前流行的深度学习框架有TensorFlow(Google开源),MXNet(得到Amazon支持),Theano等,利用这些框架,我们只需要做比较少的工作,就能把深度学习能力带入我们自己的程序。