Как ускорить процесс глубокого обучения, используя C API Tensorflow? - PullRequest
0 голосов
/ 27 апреля 2019

Я написал код для глубокого обучения, используя C API Tensorflow.Попробовав что-то, оно наконец работает.Однако это кажется довольно медленным.Я использую следующую команду из заголовочного файла C API:

TF_CAPI_EXPORT extern void TF_SessionRun(
TF_Session* session,
// RunOptions
const TF_Buffer* run_options,
// Input tensors
const TF_Output* inputs, TF_Tensor* const* input_values, int ninputs,
// Output tensors
const TF_Output* outputs, TF_Tensor** output_values, int noutputs,
// Target operations
const TF_Operation* const* target_opers, int ntargets,
// RunMetadata
TF_Buffer* run_metadata,
// Output status
TF_Status*);

После запуска моего кода для тестирования я обнаружил, что эта функция отвечает за 95% времени вычислений.В моем случае весь процесс выполнения логического вывода за один раз занимает примерно 0,29 секунды, а время, необходимое для функции TF_SessionRun, всегда составляет около 0,27 - 0,28 секунды.Граф имеет 1780 операций.Мой вызов функции выглядит следующим образом:

TF_SessionRun(session,nullptr,&inputs[0],&input_values[0],inputs.size(),&outputs[0],&output_values[0],outputs.size(),nullptr,0,nullptr,status);

Как видите, я не использовал некоторые аргументы:

const TF_Buffer* run_options
const TF_Operation* const* target_opers
TF_Buffer* run_metadata

К сожалению, я не нашел ни одного примера, использующего эти аргументы, и я неуверен, может ли их использование ускорить вывод.

Мой вопрос: есть ли у кого-нибудь многообещающее представление о том, как ускорить процесс?

Заранее спасибо!

...