首页 > 解决方案 > 如何在java项目中的gpu中加载张量流模型

问题描述

我正在尝试运行一个加载 tensorflow 模型以进行对象检测的 java 项目。如何在 gpu 中运行这个项目。

我的系统有NVIDIA显卡并且已经切换到相同的。CUDA也已成功安装。我已经在cpu中运行了这个。现在我想切换到gpu。

切换到GPU,添加了以下配置。但是切换到GPU失败。

ConfigProto configproto = ConfigProto.newBuilder()
            .setAllowSoftPlacement(true)                 
            .setGpuOptions(GPUOptions.newBuilder()
            .setPerProcessGpuMemoryFraction(0.01).build())
            .build();

SavedModelBundle model = SavedModelBundle.loader(modeldir).withTags("serve").withConfigProto(configproto.toByteArray()).load()

我希望模型在 GPU 中运行。但是得到的结果如下

2019-06-28 14:50:25.652043:我 tensorflow/cc/saved_model/reader.cc:31] 从 /saved_model 读取 SavedModel

2019-06-28 14:50:25.686901:我 tensorflow/cc/saved_model/reader.cc:54] 使用标签读取元图 { serve }

2019-06-28 14:50:25.699563: I tensorflow/core/platform/cpu_feature_guard.cc:141] 您的 CPU 支持未编译此 TensorFlow 二进制文件以使用的指令:SSE4.1 SSE4.2 AVX AVX2 FMA

2019-06-28 14:50:25.704712:I tensorflow/core/platform/profile_utils/cpu_utils.cc:94] CPU 频率:2712000000 Hz

2019-06-28 14:50:25.704847:我 tensorflow/compiler/xla/service/service.cc:150] XLA 服务 0x7f6cf036be50 在平台主机上执行计算。设备:

2019-06-28 14:50:25.704862: I tensorflow/compiler/xla/service/service.cc:158] StreamExecutor 设备 (0): ,

2019-06-28 14:50:25.759224:我 tensorflow/cc/saved_model/loader.cc:182] 恢复 SavedModel 包。

2019-06-28 14:50:25.759280: I tensorflow/cc/saved_model/loader.cc:192] 指定的 SavedModel 没有变量;没有恢复检查站。文件不存在:/saved_model/variables/variables.index

2019-06-28 14:50:25.759291: I tensorflow/cc/saved_model/loader.cc:285] SavedModel 加载标签 { serve }; 状态:成功。耗时 107259 微秒。

标签: javatensorflowgpu

解决方案


推荐阅读