Rstudio Server + Docker + tensorflowR - 云端安装与使用R语言与GPU深度学习

本文主要是介绍Rstudio Server + Docker + tensorflowR - 云端安装与使用R语言与GPU深度学习,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

笔者本来想在阿里云上部署nvidia - docker + Rstudio Server,然后使用R语言来进行深度学习。本篇是在该过程中产生的经验之谈。


文章目录

  • 1 准备阶段
  • 2 Rstudio Server nvidia-docker 环境
    • 2.1 docker初始化的问题
    • 2.2 docker中文环境布置问题
  • 3 Rstudio Server的部署
    • 3.1 启动
    • 3.2 添加用户组
  • 4 R语言与tensorflow + keras
    • 4.1 安装
    • 4.2 占用指定显存容量
    • 4.3 模型


1 准备阶段

来看看要准备一些什么:

  • cuda/cudnn不提了…
  • docker/nvidia-docker安装如下,一些问题可参考:docker︱在nvidia-docker中使用tensorflow-gpu/jupyter,大致如下:

安装docker

curl -sSL https://get.docker.com/ | sh1

安装Nvidia Docker

wget -P /tmp https://github.com/NVIDIA/nvidia-docker/releases/download/v1.0.1/nvidia-docker_1.0.1-1_amd64.deb
sudo dpkg -i /tmp/nvidia-docker*.deb12

通过以下命令来检验是否成功:

nvidia-docker run --rm nvidia/cuda nvidia-smi

2 Rstudio Server nvidia-docker 环境

在项目pbhogale/gpu-keras-rstudio中有非常棒的环境已经写好,大致的环境为:nvidia/cuda:9.0-cudnn7-runtime

2.1 docker初始化的问题

但是由于在阿里云上对接github上很多资源下载会出现time out;
也会出现因为版本问题而无法下载的,在笔者调试了很多次下该Dockerfile是可以把环境部署好的(下载链接),但是需要自己在docker里面自己装keras:tensorflow。

把笔者提供的Dockerfile替换一下gpu-keras-tidyverse文件夹下的文件。
其中需要注意的有,注意点一:

RUN set -e \&& useradd -m -d /home/rstudio rstudio \&& echo rstudio:rstudioTheLegendOfZelda \| chpasswd \&& apt-get -y autoremove \&& apt-get clean

这个代表了设置rstudio的初始密码,好吧… 这个docker默认设置有点调皮,密码好长…
账号为:rstudio
密码为:rstudioTheLegendOfZelda

注意点二:

RUN set -e \&& grep '^DISTRIB_CODENAME' /etc/lsb-release \| cut -d = -f 2 \| xargs -I {} echo "deb ${CRAN_URL}bin/linux/ubuntu {}/" \| tee -a /etc/apt/sources.list \&& apt-key adv --keyserver keyserver.ubuntu.com --recv-keys E084DAB9 \&& apt-get update \&& apt-get upgrade -y -q \&& pip install --upgrade pip==9.0.3 \&& pip install virtualenv \&& pip install pelican \&& rm -rf .cache \&& echo 'options(repos = c(CRAN = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))' >> /etc/R/Rprofile.site \&& /usr/lib/R/site-library/littler/examples/install.r tensorflow keras \&& r -e "install.packages(c('devtools', 'xgboost', 'tidyverse', 'rmarkdown', 'greta', 'usethis', 'docopt'))" \&& apt-get -y autoremove \&& apt-get clean

options(repos = c(CRAN = "https://mirrors.tuna.tsinghua.edu.cn/CRAN/"))这个如果是阿里云需要改成清华的镜像,不然基本下载不了。

2.2 docker中文环境布置问题

启动docker + r server会发现中文读入不了,笔者加载了 Sys.setlocale("LC_ALL", 'en_US.UTF-8')Sys.setlocale()
有以下几个问题:原因是系统里面没有utf-8的locale。

Warning message:
In Sys.setlocale("LC_ALL", "Chinese") :OS reports request to set locale to "Chinese" cannot be honored

以及

Warning message:
Character set is not UTF-8; please change your locale

需要在docker环境下安装locale,可参考:

locale-gen en_US.UTF-8
apt-get install language-pack-zh-hant-base language-pack-zh-hans-base

参考:
Ubuntu 安装和启用中文
修改locale
比较来说,在/etc/default/locale文件最好使用以下:

LANG="en_US.UTF-8"
LANGUAGE="en_US:en"

3 Rstudio Server的部署

3.1 启动

   #查看是否安装正确 sudo rstudio-server verify-installation ## 启动 sudo rstudio-server start ## 查看状态 sudo rstudio-server status ## 停止 sudo rstudio-server stop ## 重启sudo rstudio-server restart## 查看服务端ip地址 ifconfig

3.2 添加用户组

    ##添加用户组sudo groupadd rstudio-group##添加用户sudo useradd anlan -g rstudio-group##设置用户密码sudo passwd xxxxxx##创建用户目录sudo mkdir /home/anlan##赋予目录权限sudo chown -R anlan:rstudio-group /home/anlan

但是如果是在docker之中使用,笔者一直发现一个问题,就是添加不了用户,一直报错:

RSTUDIO INITIALIZATION ERROR: UNABLE TO CONNECT TO SERVICE

解决办法是:
参考:解決登入 Docker 的 RStudio 遇到錯誤 RStudio Initialization Error: Unable to connect to service

  • 只登陆一个账号,一般为rstudio:rstudio,此处如果是默认的docker的话,即为:rstudio:rstudioTheLegendOfZelda
  • 第二种是在docker启动的时候,就为设置账号和密码(笔者实验好像无效):
docker run -d -p 8787:8787 -e USER=<username> -e PASSWORD=<password> rocker/rstudio

4 R语言与tensorflow + keras

4.1 安装

有了以上的环境,那么来看一下R之中使用keras/tensorflow,如果要使用简单的keras,需要先加载Keras,然后使用keras下载tensorflow。

install.packages("devtools")
devtools::install_github("rstudio/keras")
library(keras)
install_tensorflow(gpu=TRUE)

其中install_tensorflow()与install_keras()有几个参数:

# 函数一:install_keras
install_keras <- function(method = c("auto", "virtualenv", "conda"), conda = "auto",tensorflow = "default",
extra_packages = c("tensorflow-hub")) # 函数二:install_tensorflow 
install_tensorflow <- function(method = c("auto", "virtualenv", "conda", "system"),conda = "auto",version = "default",envname = "r-tensorflow",extra_packages = c("keras", "tensorflow-hub"),
restart_session = TRUE) 
MethodDescription
autoAutomatically choose an appropriate default for the current platform.
virtualenvInstall into a Python virtual environment at ~/.virtualenvs/r-tensorflow
condaInstall into an Anaconda Python environment named r-tensorflow
systemInstall into the system Python environment

一些控制版本:

# tensorflow
install_tensorflow(version = "1.0.0")
install_tensorflow(method = "conda")
install_tensorflow(version = "nightly-gpu")  # gpu version
install_tensorflow(version = "gpu")  # gpu version# keras
library(keras)
install_keras(tensorflow = "1.2.1")
install_keras(tensorflow = "1.2.1-gpu")
install_keras(method = "conda")

那么大体来说,py的版本控制,好像没有特别的参数与控制,一般默认是py2的tensorflow,其中在install_tensorflow():

python_versions <- py_versions_windows()

4.2 占用指定显存容量

这边如果在使用tf的时候,会出现一下子把显存全部占满的情况,则需要控制一下,笔者只是照搬了py的稍微改一下,没想到能用,分享给大家。

library(tensorflow)
config = tf$ConfigProto()
config$gpu_options$per_process_gpu_memory_fraction = 0.3
tf$Session(config=config)

4.3 模型

这边就不举例了,在很多地方都有:

Keras for R: https://blog.rstudio.com/2017/09/05/keras-for-r/


可参考:
Installing TensorFlow
https://github.com/rstudio/keras
https://github.com/rstudio/tensorflow

这篇关于Rstudio Server + Docker + tensorflowR - 云端安装与使用R语言与GPU深度学习的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/518478

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

Zookeeper安装和配置说明

一、Zookeeper的搭建方式 Zookeeper安装方式有三种,单机模式和集群模式以及伪集群模式。 ■ 单机模式:Zookeeper只运行在一台服务器上,适合测试环境; ■ 伪集群模式:就是在一台物理机上运行多个Zookeeper 实例; ■ 集群模式:Zookeeper运行于一个集群上,适合生产环境,这个计算机集群被称为一个“集合体”(ensemble) Zookeeper通过复制来实现

CentOS7安装配置mysql5.7 tar免安装版

一、CentOS7.4系统自带mariadb # 查看系统自带的Mariadb[root@localhost~]# rpm -qa|grep mariadbmariadb-libs-5.5.44-2.el7.centos.x86_64# 卸载系统自带的Mariadb[root@localhost ~]# rpm -e --nodeps mariadb-libs-5.5.44-2.el7

Centos7安装Mongodb4

1、下载源码包 curl -O https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-4.2.1.tgz 2、解压 放到 /usr/local/ 目录下 tar -zxvf mongodb-linux-x86_64-rhel70-4.2.1.tgzmv mongodb-linux-x86_64-rhel70-4.2.1/

中文分词jieba库的使用与实景应用(一)

知识星球:https://articles.zsxq.com/id_fxvgc803qmr2.html 目录 一.定义: 精确模式(默认模式): 全模式: 搜索引擎模式: paddle 模式(基于深度学习的分词模式): 二 自定义词典 三.文本解析   调整词出现的频率 四. 关键词提取 A. 基于TF-IDF算法的关键词提取 B. 基于TextRank算法的关键词提取

使用SecondaryNameNode恢复NameNode的数据

1)需求: NameNode进程挂了并且存储的数据也丢失了,如何恢复NameNode 此种方式恢复的数据可能存在小部分数据的丢失。 2)故障模拟 (1)kill -9 NameNode进程 [lytfly@hadoop102 current]$ kill -9 19886 (2)删除NameNode存储的数据(/opt/module/hadoop-3.1.4/data/tmp/dfs/na

Hadoop数据压缩使用介绍

一、压缩原则 (1)运算密集型的Job,少用压缩 (2)IO密集型的Job,多用压缩 二、压缩算法比较 三、压缩位置选择 四、压缩参数配置 1)为了支持多种压缩/解压缩算法,Hadoop引入了编码/解码器 2)要在Hadoop中启用压缩,可以配置如下参数

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

Makefile简明使用教程

文章目录 规则makefile文件的基本语法:加在命令前的特殊符号:.PHONY伪目标: Makefilev1 直观写法v2 加上中间过程v3 伪目标v4 变量 make 选项-f-n-C Make 是一种流行的构建工具,常用于将源代码转换成可执行文件或者其他形式的输出文件(如库文件、文档等)。Make 可以自动化地执行编译、链接等一系列操作。 规则 makefile文件