2017-03-09 38 views
13

Sen tf.get_default_graph().get_tensor_by_name("tensor_name:0")Tensorflow op adı nasıl alınır?

ile adında bir tensörünü alabilirsiniz Ama eğer bir sıraya Optimizer.minimize gibi bir işlem, veya bir enqueue operasyonu alabilirim?

İlk modelimde, build_model işlevinden ihtiyacım olan tüm tensörleri ve opları iade ettim. Ama tensörler listesi çirkinleşti. Daha sonraki modellerde daha kolay erişim için bir sözlükte tüm tensörleri ve opsları fırlattım. Bu sefer etrafta tensörlere ihtiyaç duyduğum isimle bakmayı düşündüm ama bunu ops ile nasıl yapacağımı bilmiyorum. Ya da bunu yapmanın daha iyi bir yolu var mı? Her yerde çeşitli tensörlere ve operasyonlara ihtiyacım var. Eğitim, çıkarım kodu, test senaryoları, dolayısıyla değişkenlerin her yere aktarılmadan grafiğin çeşitli bölümlerine erişimin standart bir yolu olma arzusu.

+1

Gerçekten güzel olurdu: Örneğin, varsayılan grafikten "enqueue" denilen bir operasyon olsun. Ben de her şeyi argüman olarak geçirme ve her şeyi sözlüklere koyma aşamalarından geçtim. Her ikisinde de downsides var. –

+1

Anlaştık, son çalışmamda model yapısını bir sınıfa dahil ettim ve tüm tensörler ve opslar model.mytensor veya m.mytensor oldu. Uyarı mesajlarını bastırmak dışında, şu ana kadar uygun görünüyor. –

cevap

17

tf.Operation adını almak için tf.Graph.get_operation_by_name() yöntemini kullanabilirsiniz. Grafiğin dışarı Tensörleri ve op almak için daha standardize ve daha az ayrıntılı bir yol olup olmadığını

op = tf.get_default_graph().get_operation_by_name("enqueue") 
İlgili konular