开始做毕设了,从零入门深度学习,打算把这个过程记录下来,初级小白,笔记可能很啰嗦也可能有错误,如果有小伙伴看到,欢迎大家指正指导,有什么学习的网站或者书籍,也可以一起交流^_ ^
前置信息:我是mac系统,使用默认python2.7
进入CRAN,这是R的一个国际化开发团队,下拉网页,找到China的下载镜像:
选择离自己地理位置最近的镜像文件链接,点进去再选择系统和相应安装包。
之后一路next安装,完成后命令行试一下:
w3cschhool:R语言教程
if (condition) {
one or more lines
} else {
one or more lines
}
rstudio是R语言的IDE,做得非常好,就是rstudio为Keras提供了R语言接口。
RStudio的下载路径:https://www.rstudio.com/products/rstudio/download/
下载free版就行,下载下来是RStudio-1.0.153.dmg文件。直接拖进Application就可以了。
应该先检查一下有没有安装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
library(keras)
install_keras()
你可以通过以下命令来判断是否已安装:
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
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来了)