2016-12-18 29 views
6

TensorFlow üzerinde çalışıyorum ve her bir Python işlevi ile SWIG arabiriminin arkasındaki C++ işlevleri arasındaki ilişkiyi bilmek istiyorum. Başka bir deyişle, TensorFlow uygulamasının her Python kodu için hangi C++ işlevlerinin çağrıldığını tam olarak bilmek istiyorum.SWIG arabiriminin arkasındaki C++ işlev çağırmalarını nasıl görebilirim, TensorFlow

Zaten Python kodunu hata ayıklama nasıl gördü here ve kod hangi satır bir segmentasyon hatası here olur, ama bunun yerine isterken bu yolla ben bir hata olduğu sadece görmek mümkün değilim nasıl görüntüleneceğini Kodda herhangi bir hata olduğunda bile her C++ işlev çağrısını bilebilir (Şu anda gdb ile hata ayıklama sistem çağrılarını ve C++ işlev çağrılarını değil, sistem çağrılarını görebiliyorum).

You

+0

bu Windows veya Linux üzerinde mi? – Flexo

+0

Ubuntu 14.04. TensorFlow sürümü yerine 0.10.0rc0. – CTF

cevap

1

çoğu insan grafiği yapımı için ise yazma kod toplu ederiz. Hemen hemen tüm grafik yapıları Python'da tamamen gerçekleşir, bu sadeceve Graphops.py'da tanımlanan (Python) veri yapılarını oluşturur. Tek istisna, her işlemi oluşturduğunuzda meydana gelen şekil çıkarımıdır. Şekil çıkarımı, cpp_shape_inference.i'da tanımlanan arabirim aracılığıyla C++'ya çağrılır. Hesaplama grafiğini oluşturduktan sonra 'u Session oluşturarak ve sess.run numaralı telefonu arayarak gerçekleştirebilirsiniz. Bunların hepsi TensorFlow'un C API'sini sarmalayan Python işlevi. Sarmalar tf_session.i'da bulunabilir.

+0

Merhaba keveman! Özel bir donanım hızlandırıcısı kullanarak bazı işlemlerin yürütülmesini hızlandırmak için hangi C++ işlevlerinin çağrıldığını bilmek istiyorum. Örneğin, bir TensorFlow uygulama hesaplama zamanının darboğazının bir Neural Network'ün (bir degrade optimizatörün bir döngüde birkaç kez çağrıldığı) eğitimi olduğunu görürsem, şu anda hangi C++ işlevlerini tam olarak bilmiyorum. Python işlevlerinin arkasına çağrılır (sadece bunu tahmin edebilirim, TF C++ API'sını iyice araştırıyorum). gdb ile hata ayıklama Yalnızca sistem çağrılarını ve dinamik kitaplık çağrılarını görebiliyorum. – CTF