파이썬을 C++ 응용 프로그램에 임베드하는 것과 관련된 질문이 있습니다. 설정은 다음과 같습니다 : 나는 어떤 데이터 (실시간으로 이미지를 렌더링)를 생성하고 그들을 표시하는 대형 C++ 응용 프로그램이 있습니다. 나는 또한 이러한 이미지를 받아들이는 tensorflow를 사용하여 파이썬에서 신경망을 훈련시켰다.C++에서 파이썬을 임베드 할 때 tensorflow를 가져 오면 null이 반환됩니다.
제 아이디어는 파이썬을 임베드하고 데이터를 숫자가 적은 배열로 보내고, 신경망을 사용하여 예측하고 표시 할 다른 처리 된 배열을 다시 가져 오는 것입니다 (C++에서). 파이썬을 C 언어로 임베딩 한 느낌을 얻기 위해 파이썬 측에 tensorflow가없는 몇 가지 기본 테스트를 만들었습니다.
그러나 "import tensorflow"를 가져 오려는 파이썬 스크립트에 넣으면 C++ 부분의 PyImport_ImportModule에서 NULL을 가져옵니다.
import numpy as np
def foo(img):
return np.clip(img * 2.0, 0, 255).astype(np.uint8)
잘 작동합니다. 그러나 다음은하지 않습니다
import numpy as np
import tensorflow as tf #this causes the fail
def foo(img):
return np.clip(img * 2.0, 0, 255).astype(np.uint8)
을 두 번째 경우, 나는 아직도 그것이 CUDA 등을 찾았지만, 다음 모듈 가져 오기가 실패했다고 tensorflow에서 표준 출력에 메시지가 표시됩니다.
내 설정은 Windows 10 x64, Anaconda Python 3.5, tensorflow-0.12 및 CUDA 8입니다. 비슷한 문제가있는 사람이 있습니까? 테스트 한 다른 모듈 (numpy, pil, scipy)은 제대로로드하는 것처럼 보입니다.
해결할 수없는 것 같으면 C++ 부분과 python 사이의 일종의 IPC에 의지 할 것입니다.
죄송합니다. 나는 다른 사람들을위한 코드 전체를 게시하여 유용하다고 생각할 수도있다. – zzj