首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Tensorflow服务的批量预测问题

Tensorflow服务的批量预测问题
EN

Stack Overflow用户
提问于 2018-09-26 15:23:48
回答 2查看 619关注 0票数 2

我们正在尝试使用Tensorflow服务在Kubernetes上部署我们的模型。早些时候,我们在K8S上部署了我们的模型( bazel固态硬盘+初始),并使用我们使用bazel构建的自己的基映像。K8S配置如下:群集大小-每个节点2个节点配置- 20 GB内存,2个GPU,8vCPU

现在我们已经改变了我们的模型,并将Retinanet与Resnet50一起使用。这一次,我们使用的是具有相同K8S配置的Tensorflow的docker hub (tensorflow/serving:latest-devel-gpu)的基础镜像。

现在的问题是,早些时候我们能够预测每批500个图像,并且我们能够使用多个工作进程(无限制)发送这500个图像,但现在在新的部署中,我们不能发送超过100个图像。我们得到的OOM错误如下:

代码语言:javascript
复制
{'error': 'OOM when allocating tensor with shape[150,256,160,160] and type float on /job:localhost/replica:0/task:0/device:GPU:0 by allocator GPU_0_bfc\n\t [[Node: FeatureExtractor/resnet_v1_50/resnet_v1_50/block1/unit_1/bottleneck_v1/conv3/Conv2D = Conv2D[T=DT_FLOAT, data_format="NCHW", dilations=[1, 1, 1, 1], padding="SAME", strides=[1, 1, 1, 1], use_cudnn_on_gpu=true, _device="/job:localhost/replica:0/task:0/device:GPU:0"](FeatureExtractor/resnet_v1_50/resnet_v1_50/block1/unit_1/bottleneck_v1/conv2/Relu6, FeatureExtractor/resnet_v1_50/block1/unit_1/bottleneck_v1/conv3/weights)]]\nHint: If you want to see a list of allocated tensors when OOM happens, add report_tensor_allocations_upon_oom to RunOptions for current allocation info

我们还检查了K8S内存利用率,发现它没有被充分利用(最大为30%)。谁能告诉我们为什么会出现内存不足错误,Tensorflow在这里指的是哪个内存?

提亚

EN

回答 2

Stack Overflow用户

发布于 2018-09-27 18:30:52

问题是你正在OOMing图形处理器。根据您发布的错误消息,您正在尝试分配GPU内存的150 * 256 * 160 * 160 * 32 / 1024 / 1024 / 1024 = 29.3 GB。特斯拉显卡带有12/16 GB的vRAM和一些(可能还没有在任何云中提供,因为它们是非常新的) 32位的GV100,但这是一个Quadro卡。

因此,您有两个选择。要么减小批量大小,要么减少您尝试分配的巨大张量的任何其他维度。或者在您的图形中找到特定的操作,并强制它在主内存上运行

代码语言:javascript
复制
with tf.device('cpu:0'):
    # operation goes here

然而,第二种方法只会缓解这个问题,而且你会在其他部分中OOM。此外,通过在CPU上运行该操作,即使不计算主内存和GPU内存之间来回传输的数据,您的性能也会大幅下降。

因此,总而言之,您肯定应该考虑减少该张量的一个维度,即批量大小、图像大小之一(或两者)或通道数量。

您之前使用的模型在其卷积层中可能没有使用太多的输出通道。

票数 2
EN

Stack Overflow用户

发布于 2018-09-27 06:46:01

这与Kubernetes消耗多少RAM无关。

这是关于您告诉Kubernetes您的容器将利用多少RAM,而不是它实际利用了多少。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52512169

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档