Tüm TF kütüphanesini kendim (her iki zamandan da tasarruf eder (3 dakika içinde kurulur), disk alanı, dev bağımlılıkları yükleme ve sonuçta ortaya çıkan ikili dosya boyutunu oluşturmak zorunda kalmamak için kesmek / geçici bir çözüm kullanıyorum. Resmi olarak desteklenmiyor, ancak hızlı bir şekilde atlamak istiyorsanız iyi çalışıyor.
TF'yi boru ( pip install tensorflow
veya pip install tensorflow-gpu
) üzerinden takın . Ardından kitaplığını _pywrap_tensorflow.so
(TF 0. * - 1.0) veya _pywrap_tensorflow_internal.so
(TF 1.1+) bulun. Benim durumumda (Ubuntu) yer almaktadır /usr/local/lib/python2.7/dist-packages/tensorflow/python/_pywrap_tensorflow.so
. Ardından, bu kütüphaneye lib_pywrap_tensorflow.so
derleme sisteminizin bulduğu bir yerde (örneğin /usr/lib/local
) bir sembolik bağlantı oluşturun . Ön ek lib
önemlidir! Başka bir lib*.so
ad da verebilirsiniz - eğer ararsanız libtensorflow.so
, TF ile çalışmak için yazılmış diğer programlarla daha iyi uyumluluk elde edebilirsiniz.
Sonra alıştığınız gibi bir C ++ projesi oluşturun (CMake, Make, Bazel, ne isterseniz).
Daha sonra projeleriniz için TF'nin kullanılabilir olması için bu kütüphaneye bağlanmaya hazırsınız (ve ayrıca python2.7
kütüphanelere de bağlanmanız gerekiyor)! CMake'de, örneğin sadece ekleyin target_link_libraries(target _pywrap_tensorflow python2.7)
.
C ++ başlık dosyaları bu kitaplığın etrafında bulunur, örn /usr/local/lib/python2.7/dist-packages/tensorflow/include/
.
Bir kez daha: bu yol resmi olarak desteklenmiyor ve çeşitli sorunlarla karşılaşabilirsiniz. Kütüphane, örneğin protobuf'a karşı statik olarak bağlanmış gibi görünüyor, bu nedenle tek bağlantı zamanı veya çalışma zamanı sorunları ile karşılaşabilirsiniz. Ama depolanmış bir grafik yükleyebilir, ağırlıkları geri yükleyebilir ve IMO C ++ 'da en çok aranan işlevsellik olan çıkarım çalıştırın.