在Android上运行tensorflow示例时如何设置线程数?

时间:2017-02-09 09:44:54

标签: tensorflow deep-learning

众所周知,tensorflow的android演示是多线程的。那么如何将其更改为单线程模式呢?

1 个答案:

答案 0 :(得分:1)

现在没有办法从Java做到这一点。在local_device.cc中自动选择与操作系统中检测到的核心数相匹配的操作内并行度值。如果您只想测试,可以覆盖那里的值。

互操作并行性目前在移动设备上始终为1 - 一次只运行一个操作。

更常见的是,在创建Session对象时,可以在本机代码中设置intra和inter op parallism。 e.g:

tensorflow::SessionOptions options;
tensorflow::ConfigProto& config = options.config;
config.set_intra_op_parallelism_threads(num_threads);
Session session = tensorflow::NewSession(options); 

这将覆盖自动选择的值。有关示例,请参阅benchmark_model.cc

如果要从Java设置此项,则必须将参数添加到TensorFlowInferenceInterface.initializeTensorFlow()

我们很快就会切换到Java API,因此访问SessionOptions以设置值会更容易。