2016-06-21 51 views
13

Mam przyzwoitą ilość doświadczenia z TensorFlow, i mam zamiar rozpocząć projekt, który ostatecznie zakończy się wykorzystaniem modelu przeszkolonego przez TensorFlow w środowisku produkcyjnym C#. Zasadniczo będę miał dane na żywo, które wejdą do środowiska C#, i ostatecznie będę musiał wydać decyzje/podjąć pewne działania w oparciu o dane wyjściowe mojego modelu w TensorFlow. Jest to w zasadzie tylko ograniczenie istniejącej infrastruktury.Korzystanie z modeli głębokiego uczenia się z TensorFlow w innych środowiskach językowych

Potrafię wymyślić kilka potencjalnie złych sposobów wdrożenia tego, na przykład zapisanie danych na dysku, a następnie wywołanie części Pythona aplikacji, a następnie w końcu odczytanie wyniku wyniku przez aplikację Python i podjęcie pewnych działań w oparciu o na tym. Jest to jednak powolne.

Czy są szybsze sposoby na osiągnięcie tej samej zintegrowanej relacji między C# i Tensorflow opartym na języku Python. Widzę, że aby to zrobić z C++ i TensorFlow, ale co z C#?

+0

Jeśli mówisz o dwóch aplikacjach na tym samym komputerze, dlaczego nie użyć prostego strumienia TCP między tymi dwoma? – pay

+0

Właściwie to naprawdę dobry pomysł. Powinienem był o tym pomyśleć. –

Odpowiedz

9

Jest to główny przypadek użycia dla TensorFlow Serving, który pozwala utworzyć proces C++, który może uruchomić wnioskowanie na wyćwiczonym modelu TensorFlow i obsługuje wnioski wnioskowania ponad gRPC. Możesz napisać kod klienta w dowolnym języku, który jest gRPC supports. Spójrz na samouczek MNIST: składniki C++ server i Python client.

+0

Nie mam zbyt wiele doświadczenia, ale dla mojego projektu myślałem o mojej głównej aplikacji na rdzeniu .net, a w osobnym API z kolbą, posiadam cały kod wymagany do wykorzystania mocy głębokiego uczenia się w osobnym interfejsie Pythona, który łączy się z tą samą bazą danych. Czy ktoś wie, które podejście może być lepsze? –

+0

Dowolna aktualizacja @mrry @carlos? Może cntk wkrótce będzie mógł wykonać zadanie importu modelu tf? –

+0

Miguel de Icaza opracował [TensorFlowSharp] (https://github.com/migueldeicaza/TensorFlowSharp), który zapewnia powiązania .NET z TensorFlow. Jest to prawdopodobnie najbardziej dopracowane środowisko do programowania w języku C# z TensorFlow. – mrry