为Keras安装TensorFlow:cloud-init缺失相关组件问题
解决AWS EC2上RStudio Server中
install_keras(tensorflow = "gpu")的异常问题 老哥,我之前在AWS EC2的Amazon Linux环境里折腾过同样的keras+GPU TensorFlow配置,你的问题我太熟了!结合你给出的环境信息和报错提示(卡在pip升级/包收集环节),大概率是这几个常见坑导致的,咱们一步步来搞定:
第一步:先确认EC2实例的GPU基础配置
首先得把最基础的硬件和依赖搞定,不然GPU版本的TensorFlow根本跑不起来:
- 检查实例类型:确保你的EC2实例是GPU机型(比如p2.xlarge、p3.2xlarge这类),如果是普通CPU实例,指定
tensorflow="gpu"肯定会报错,先去AWS控制台确认实例类型。 - 安装NVIDIA驱动和系统依赖:
打开EC2的终端(或者在RStudio里用system()执行),运行以下命令:
安装完成后重启实例,然后执行sudo yum update -y sudo yum install -y gcc gcc-c++ make kernel-devel kernel-headers sudo yum install -y nvidia-driver-latest nvidia-settingsnvidia-smi验证驱动是否正常——如果能看到GPU的信息,说明这一步没问题。
第二步:清理旧的虚拟环境,重新创建
你看到提示Using existing virtualenv at ~/.virtualenvs/r-tensorflow,这个旧的虚拟环境可能残留了损坏的依赖或者版本不兼容的问题,先删掉它:
在RStudio的控制台里执行:
reticulate::virtualenv_remove("r-tensorflow")
然后重新创建一个指定Python版本的虚拟环境(Amazon Linux 2017.09.1自带的Python版本偏旧,keras和TensorFlow对Python 3.6-3.8支持最好):
reticulate::virtualenv_create("r-tensorflow", python = "python3.6")
第三步:解决pip下载慢/超时的问题
你卡在Collecting pip这一步,90%是因为默认的PyPI源网络不稳定(AWS境外实例连官方源经常抽风),给虚拟环境配置一个稳定的pip源:
在EC2终端里执行以下命令,给虚拟环境添加AWS的PyPI镜像源(速度快且稳定):
mkdir -p ~/.virtualenvs/r-tensorflow/etc/pip cat << EOF > ~/.virtualenvs/r-tensorflow/etc/pip/pip.conf [global] index-url = https://aws-pypi.amazonaws.com/simple EOF
第四步:重新执行install_keras
回到RStudio控制台,指定刚创建的虚拟环境重新安装:
keras::install_keras(tensorflow = "gpu", virtualenv = "r-tensorflow")
这次应该能顺利完成TensorFlow GPU版和keras依赖的下载安装了。
最后验证安装是否成功
安装完成后,运行以下代码验证GPU是否能被TensorFlow识别:
library(keras) library(tensorflow) tf$test$is_gpu_available()
如果返回TRUE,说明整个配置流程成功了!
内容的提问来源于stack exchange,提问作者Clarinetist
相关产品推荐
相关产品推荐

