TensorFlow在运行中,通常默认占用机器上的所有GPU资源,但实际运行模型并不需要占用如此多的资源,为了使GPU资源得到充分的使用,我们通常需要手动指定TensorFlow使用的GPU资源,在使用Python进行TensorFlow开发时,对于GPU资源的设置很方便,但是在使用C/C++对TensorFlow模型进行工程化实现时,这个设置就变得相对复杂。由于近期在对TensorFlow进行C/C++工程化时遇到了指定GPU资源的问题,于是总结一下。感谢网友lucas的帮助。
TensorFlow c_api 指定GPU资源
c_api设置GPU需要经过两个步骤:
- 在Python端设置GPU选项,然后把配置转化为序列化的protobuf字符串;
- 将序列化的protobuf字符串提供给c_api中的TF_SetConfig()函数。
下面举例说明:
|
|
输出结果为1['0x32', '0xe', '0x9', '0x1d', '0x5a', '0x64', '0x3b', '0xdf', '0x4f', '0xd5', '0x3f', '0x20', '0x1', '0x2a', '0x1', '0x30']
- c_api代码中设置
|
|
TensorFlow C++ API 指定GPU
|
|
参考文献