毕业设计(一)— R语言入门及Keras入门

前言

开始做毕设了,从零入门深度学习,打算把这个过程记录下来,初级小白,笔记可能很啰嗦也可能有错误,如果有小伙伴看到,欢迎大家指正指导,有什么学习的网站或者书籍,也可以一起交流^_ ^

前置信息:我是mac系统,使用默认python2.7

1.mac下安装R语言环境

登陆[官网](https://www.r-project.org),找到左侧Download下方CRAN,CRAN是用于安装R的一个下载库。

进入CRAN,这是R的一个国际化开发团队,下拉网页,找到China的下载镜像:
在这里插入图片描述

选择离自己地理位置最近的镜像文件链接,点进去再选择系统和相应安装包。
在这里插入图片描述
之后一路next安装,完成后命令行试一下:
在这里插入图片描述

2.R语言基础

w3cschhool:R语言教程

代码风格:
  • 文件扩展名名:用大写字母 R。
  • 命名规则:在任何时候都不要使用短横或者下划线。具体的详细格式应当有:
    • 变量名:全小写,并使用句点分隔(avg.clicks);或者不用句点而改用大写字母分隔(avgClicks)。
    • 函数名:首字母大写,使用大写字母分隔(CalculateAvgClicks )。不使用句点。
    • 常量:命名类似函数,但是以小写字母 k 开头(kConstantName)。
  • 行宽:最多80字符
  • 缩进:两个空格而不是制表符。
  • 空格:
    • 在二元操作符(包括关系符和运算符,如 <- = + 等)的两侧加空格,除非它在函数调用语句中。
    • 逗号的右侧空格。
    • 左圆括号的左侧空格,除非它在函数调用语句中。
    • 单语句断行时,对齐赋值符号而添加额外空格是允许的。
  • 花括号:左花括号不单独一行,右花括号总是单独一行。如果有连续的花括号,这样书写:
if (condition) {
    one or more lines
  } else {
    one or more lines
  }
  • 赋值符:使用 <- 而不使用 =。

3.RStudio安装

rstudio是R语言的IDE,做得非常好,就是rstudio为Keras提供了R语言接口。

RStudio的下载路径:https://www.rstudio.com/products/rstudio/download/

下载free版就行,下载下来是RStudio-1.0.153.dmg文件。直接拖进Application就可以了。

  • 打开RStudio,新建工程:File -> New Project -> New Directory -> Empty Project(注意这种工程路径尽量也不要出现中文)
  • 新建脚本:File -> New File -> R Script
  • 在RStudio里写代码
  • 选中要执行的代码,Code -> Run Selected Line(s)便可输出运行结果如下图所示。
    在这里插入图片描述

3.安装Keras包

应该先检查一下有没有安装pip和virtualenv,有的话就不会有我以下的错误了。我这里完全记录一下我的过程,包括报错和解决。

1). R环境下执行命令:install.packages("keras"),镜像选了19(shanghai)
报错:

Warning message:
In doTryCatch(return(expr), name, parentenv, handler) :
  无法载入共享目标对象‘/Library/Frameworks/R.framework/Resources/modules//R_X11.so’::
  dlopen(/Library/Frameworks/R.framework/Resources/modules//R_X11.so, 6): Library not loaded: /opt/X11/lib/libSM.6.dylib
  Referenced from: /Library/Frameworks/R.framework/Resources/modules//R_X11.so
  Reason: image not found

没处理,继续执行
2). library(keras)
3). install_keras()
报错:

Prerequisites for installing TensorFlow not available.

Execute the following at a terminal to install the prerequisites:

$ sudo /usr/bin/easy_install pip
$ sudo /usr/local/bin/pip install --upgrade virtualenv

4). 退出R环境执行:sudo /usr/bin/easy_install pip
报错:

error: Could not find suitable distribution for Requirement.parse('pip')

5). 解决4) 这个错误:

curl 'https://bootstrap.pypa.io/get-pip.py' > get-pip.p
sudo python get-pip.py

6). OK,继续3). 执行那两个命令:

$ sudo /usr/bin/easy_install pip
$ sudo /usr/local/bin/pip install --upgrade virtualenv

在这里插入图片描述
OK~
7). 再进入R环境,执行:

library(keras)
install_keras()

加载了好多好多进度条,终于:
在这里插入图片描述

补充:pip相关

你可以通过以下命令来判断是否已安装:

pip --version

如果你还未安装,则可以使用以下方法来安装:

$ curl https://bootstrap.pypa.io/get-pip.py -o get-pip.py # 下载安装脚本
$ sudo python get-pip.py # 运行安装脚本

注意:用哪个版本的 Python 运行安装脚本,pip 就被关联到哪个版本,如果是 Python3 则执行以下命令:

$ sudo python3 get-pip.py # 运行安装脚本。

一般情况 pip 对应的是 Python 2.7,pip3 对应的是 Python 3.x。

pip 最常用命令:

pip --version #显示版本和路径
pip --help #获取帮助
pip install -U pip #升级 pip
#如果这个升级命令出现问题 ,可以使用以下命令:
sudo easy_install --upgrade pip

5.入门Demo-数字识别

MNIST算例 :MNIST是非常著名的一个手写数字算例数据集,然后这个Demo,我们就是要运用深度学习方法来识别手写数字。

1)导入数据

library(keras)
mnist <- dataset_mnist()
x_train <- mnist$train$ x
y_train <- mnist$train$y
x_test <- mnist$test$x
y_test <- mnist$test$y

2)调整数据结构

#reshape
x_train <- array_reshape(x_train, c(nrow(x_train), 784))
x_test <- array_reshape(x_test, c(nrow(x_test), 784))
#rescale
x_train <- x_train / 255
x_test <- x_test / 255
y_train <- to_categorical(y_train, 10)
y_test <- to_categorical(y_test, 10)

3)定义模型

model <- keras_model_sequential()
model %>%
layer_dense(units = 256, activation = ‘relu’, input_shape = c(784)) %>%
layer_dropout(rate = 0.4) %>%
layer_dense(units = 128, activation = ‘relu’) %>%
layer_dropout(rate = 0.3) %>%
layer_dense(units = 10, activation = ‘softmax’)

4)设置优化项

model %>% compile(
loss = ‘categorical_crossentropy’,
optimizer = optimizer_rmsprop(),
metrics = c(‘accuracy’)
)

这里定义了损失、优化和度量方式。
5)运行

history <- model %>% fit(
x_train, y_train,
epochs = 30, batch_size = 128,
validation_split = 0.2
)

plot(history)

在这里插入图片描述

6)测试数据评估模型

model %>% evaluate(x_test, y_test)

在这里插入图片描述

必备学习资料:

官方文档
Keras 中文文档
Deep Learning with R

本文参考:
Mac版R语言入门(一)R语言入门操作
R语言(入门及风格指导)
mac上安装R和RStudio
Python pip 安装与使用
R语言深度学习——他山之石(Keras来了)

猜你喜欢

转载自blog.csdn.net/qq_35008279/article/details/84994026
今日推荐