众所周知,tensorflow的android演示是多线程的。那么如何将其更改为单线程模式呢?
答案 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以设置值会更容易。