首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Tensorflow 占用GPU的相关设置

GPU服务器最近加了一个用户使用。产生了一些新的问题。之前因为一个人用,所以基本就默认让贪心的tensorflow占满了所有GPU的内存。

每次通过 watch -n 2 nvidia-smi 查看两块gpu内存全部占满。所以当别人使用时候,就直接会拒绝掉,同时如果想在小数据上做实验,也没有办法开启多个线程来训练。

可以通过以下方式解决:

1、代码限制gpu内存使用率

# 假如有12GB的显存并使用其中的4GB:

gpu_options = tf.GPUOptions(per_process_gpu_memory_fraction=0.333)

sess = tf.Session(config=tf.ConfigProto(gpu_options=gpu_options))

2、设置为按需增长

config = tf.ConfigProto()

config.gpu_options.allow_growth=True

sess = tf.Session(config=config)

3、运行程序之前,先运行export CUDA_VISIBLE_DEVICES=1,仅显卡设备1GPU可见,tensorflow 算是一个比较贪心的工具了就算用device_id指定gpu 也会占用别的GPU的显存资源 必须在执行程序前执行

export CUDA_VISIBLE_DEVICES=n(n为可见的服务器编号)

另外今天还遇到InternalError: Dst tensor is not initialized.的错误,原因是将1548个特征总计近万的样本,处理成时序训练数据后,在最后画图的时候全量载入内存,造成内存不足。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180808G19V2O00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券