2016-09-12 1 views
0

C++ API에서로드하고 Bazel을 사용하여 빌드 한 사전 교육 된 Tensorflow 프로토 타입이 있습니다. 우분투에서 생성 된 실행 파일을 실행할 때 예상되는 출력 장력을 얻습니다. 그러나 Bazel을 사용하여 Android 용 코드를 정확히 컴파일하면 비어있는 출력 텐서가 생깁니다.Tensorflow Session.Run은 Android 장치에서 실행될 때 비어있는 출력 텐서를 제공하지만 Ubuntu에서 실행하면 정상적으로 작동합니다.

코드 I 출력 (우분투와 안드로이드 모두에서 사용되는 동일한 코드)를 얻기 위해 사용

auto statusPred = session->Run(run_options, input, vNames, {}, &answer, &run_metadata);printLog(answer.size()); 

대답은 안드로이드에 크기가 0을 가지고,하지만 난 실행 파일을 실행할 때 또한 오른쪽 예상 크기가 UBuntu 시스템에서 Bazel을 사용하여 빌드되었습니다.

여기에 근본적인 것이 없습니까? 계산이 우분투와 안드로이드에서 수행되는 방식에 차이가 있습니까? 그 이유는 출력 텐서가 비어 있기 때문입니다.

+0

안드로이드에서 실행될 때'session-> Run()'의 반환 값은 무엇인가? – mrry

+0

@mrry 아, 문제가있는 것 같습니다. 09-12 11 : 08 : 16.442 14372 14372 D FromCPP : : 잘못된 인수 : Op 'Floor를 지원하기 위해 OpKernel이 등록되지 않았습니다. 이 사람들과 함께. 등록 커널 : 09-12 11 : 08 : 16.442 14372 14372 D FromCPP :: 등록되지 않은 커널> 09-12 11 : 08 : 16.442 14372 14372 D FromCPP :: 09-12 11 : 08 : 16.442 14372 14372 D –

+0

@mrry 우분투 용으로 컴파일 할 때 같은 코드가 작동했기 때문에 던져 버렸습니다. –

답변

관련 문제