Description
android下每次运行到forward以前是好好的,一运行到forward就退出,主要是日志里也没看到相关的异常,不知是不是我的用法哪不对,以下frame 来自图片opencv Mat:
代码:
初始化部分:
char* argv[] = { "--use_gpu=False" };
CHECK(paddle_init(1, (char**)argv));
this->model_buf = read_config(MODEL_FILE, &this->model_size);
CHECK(paddle_gradient_machine_create_for_inference_with_parameters(
&machine, this->model_buf, this->model_size));
predict部分:
paddle_arguments in_args = paddle_arguments_create_none();
// There is only one input of this network.
CHECK(paddle_arguments_resize(in_args, 1));
int data_size = 3 * frame.cols * frame.rows;
int class_dim = 6;
// Create input matrix.
paddle_matrix mat = paddle_matrix_create(1, data_size, /* useGPU */ false);
paddle_real *array;
CHECK(paddle_matrix_get_row(mat, 0, &array));
int index = 0;
for (int i = 0; i < height; ++i)
{
for (int j = 0; j < width; ++j)
{
array[index++] = (paddle_real)frame.at(i, j)[2]; // R
array[index++] = (paddle_real)frame.at(i, j)[1]; // G
array[index++] = (paddle_real)frame.at(i, j)[0]; // B
}
}
CHECK(paddle_arguments_set_value(in_args, 0, mat));
paddle_arguments out_args = paddle_arguments_create_none();
paddle_error err = paddle_gradient_machine_forward(machine,
in_args,
out_args,
/* isTrain */ false);