![](http://img.shujuren.org/pictures/ZR/59e9562820b4a.png)
### R平台深度进修情况构建
#### 第一步:安装Anaconda软件并建设情况r-tensorflow
Anaconda软件安装,请阅读文章《**[Anaconda软件安装和浅易利用教程](http://shujuren.org/article/472.html "Anaconda软件安装和浅易利用教程")**》
建设情况r-tensorflow的呼吁
“`
conda create –name r-tensorflow python=3.6
“`
**【温馨提示】**为了可以或许在R平台上面利用深度进修框架tensorflow,请必然建设情况r-tensorflow。
#### 第二步:在r-tensorflow情况下安装tensorflow和keras
r-tensorflow情况下安装tensorflow和keras,请阅读下面文章。
1 《**[Anaconda软件安装TensorFlow教程](http://shujuren.org/article/477.html)**》
2 《**[Anaconda软件安装Keras教程](http://shujuren.org/article/478.html)**》
#### 第三步:安装R和RStudio软件
R软件官网:**http://r-project.org**
RStudio软件官网:**http://rstudio.com**
#### 第四步:打开RStudio软件安装keras包
R代码
“`
install.packages("keras")
“`
前面4步是搭建R平台的深度进修事情情况,后头先容R平台深度进修的应用。
### MNIST图像识别问题
对MNIST数据集做手写数字识别,[**MNIST**](https://en.wikipedia.org/wiki/MNIST_database)包括一系列28×28的灰色手写数字图像,如下所示:
![](http://img.shujuren.org/pictures/A1/59e98fb81fa39.png)
#### 第一步:数据筹备
数据筹备包罗数据获取/数据支解/数据处理惩罚(重构和归一化和one-hot编码)
R代码
“`
mnist <- dataset_mnist()
x.train <- mnist$train$x
y.train <- mnist$train$y
x.test <- mnist$test$x
y.test <- mnist$test$y
dim(x.train) <- c(nrow(x.train), 28*28)
dim(x.test) <- c(nrow(x.test), 28*28)
x.train <- x.train / 255
x.test <- x.test / 255
y.train <- to_categorical(y.train, 10)
y.test <- to_categorical(y.test, 10)
str(x.train)
str(y.train)
“`
#### 第二步:模子设计
模子设计包罗神经网络布局设计/损失函数+优化要领+怀抱准则配置
R代码
“`
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’)
summary(model)
model %>% compile(
loss = ‘categorical_crossentropy’,
optimizer = optimizer_rmsprop(),
metrics = c(‘accuracy’)
)
“`
#### 第三步:模子拟合和评价
R代码
“`
history <- model %>% fit(
x.train, y.train,
epochs = 30,
batch_size = 128,
validation_split = 0.2
)
plot(history)
model %>% evaluate(x.test, y.test)
“`
功效:
![](http://img.shujuren.org/pictures/0E/59e99f633b6b3.png)
![](http://img.shujuren.org/pictures/L3/59e99fad0cd55.png)
#### 第四步:模子应用
R代码
“`
model %>% predict_classes(x.test)
“`
手写数字识别部门功效
![](http://img.shujuren.org/pictures/S0/59e9a005d6729.png)
您在阅读中,有什么发起可能想法,请评论。
想插手圈子,请加微信。