2016-05-27 12 views
6

Próbowałem wyszkolić eksperyment z modelem głębokiego uczenia się. Znalazłem, że tensorflow to najlepszy sposób na zrobienie tego. Ale jest problem, że tensorflow trzeba pisać w pythonie. I mój program zawiera wiele loops.Like to ..Jak wyszkolić model w C++ z tensorflow?

for i=1~2000 
for j=1~2000 

Wiem, że to duża niedogodność dla Pythona. Jest bardzo powolny niż c. Wiem, że tensorfow ma API C++, ale nie jest to jasne. https://www.tensorflow.org/api_docs/cc/index.html (To najgorsza specyfikacja, jaką kiedykolwiek widziałem) Czy ktoś może mi w tym pomóc? Wszystko, czego potrzebuję, to dwa proste kody. Jednym z nich jest sposób tworzenia wykresu. Drugim sposobem jest załadowanie tego wykresu i uruchomienie go. Naprawdę bardzo tego potrzebuję. Mam nadzieję, że ktoś mi pomoże.

+0

Prowadzenie obliczeń w TensorFlow nie jest takie samo jak to robi w Pythonie, nawet jeśli dzwonisz TensorFlow ze skóry pytona. Zbudujesz wykres, a następnie go wykonasz. Ale wykonanie odbywa się w samym TensorFlow, co jest bardzo szybkie. Nie używa zinterpretowanego pythona z wyjątkiem kodu "kleju". – user20160

+1

Wiem, co masz na myśli. Kod modelu głębokiego jest wystarczająco szybki. Ale mam inny kod, który musi pisać w wielu pętlach. (Uczenie się wzmacniania). Jest to funkcja rekursywna. – darren1231

+0

Rozumiem. Mam nadzieję, że C++ działa dla Ciebie. Jeśli sprowadza się to do konieczności używania API Pythona, możliwe jest przyspieszenie korzystania z cythonu w ostateczności. – user20160

Odpowiedz

4

To nie jest takie łatwe, ale jest to możliwe. Najpierw należy utworzyć wykres tensorflow w pythonie i zapisać go w pliku. Ten artykuł może pomóc
https://medium.com/jim-fleming/loading-a-tensorflow-graph-with-the-c-api-4caaff88463f#.krslipabt

drugie, trzeba skompilować libtensorflow, połączyć go do swojego programu (trzeba nagłówki tensorflow, tak więc jest to trochę trudne) i załadować wykres z pliku. Ten artykuł może pomóc tym razem
https://medium.com/jim-fleming/loading-tensorflow-graphs-via-host-languages-be10fd81876f#.p9s69rn7u

Powiązane problemy