2016-09-21 13 views

cevap

25

TL; DR: Gereksizdir, ancak takip edilmesi iyi bir uygulamadır.

Varsayılan bir grafik her zaman kayıtlı olduğundan, her op ve değişken varsayılan grafiğe yerleştirilir. Ancak bu ifade, yeni bir grafik oluşturur ve bu grafikte herşeyi (kapsamı içinde beyan edilen) yerleştirir. Grafik tek grafik ise, işe yaramaz. Ama bu iyi bir uygulamadır çünkü birçok grafikle çalışmaya başlarsanız, ops ve vars'ın yerleştirildiği yeri anlamak daha kolaydır. Bu ifade hiçbir şeyden ödün vermediğinden, yine de yazmak daha iyidir. Gelecekte kodu yeniden düzenlerseniz, tanımlanan işlemlerin başlangıçta seçtiğiniz grafiğe ait olduğundan emin olmak için.

5

Oluşturduğunuz her işlem için açık bir şekilde grafik belirtmeniz gereken zamana ait bir eserdir.

Birden fazla grafik ihtiyaç için herhangi zorlayıcı durumlarda görmedim, bu yüzden

Bazı FRİKİKLERİNDEN dosyayı temizlemeyi istediğinizde genellikle uzakta örtülü grafiği tutmak ve tf.reset_default_graph() kullanarak alabilirsiniz:

  • Standart grafik yığını siz, seans grafiği farklı fr olacak tf.reset_default_graph() aramadan önce oturum oluşturursanız birden çok iş parçacığı yerel, yani oluşturarak ops, çoklu grafikleri oturum onun grafiğin (sess.graph) bir kolu tutan
  • yaratacak iplik olduğunu om hangi varsayılan grafik ayarlayabileceğiniz, o Sorunlar birini vurduğunda, oluşturduğunuz yeni ops o Sesson

içinde çalıştırılabilir hale anlamına gelir belirli bir (yani başka bir iş parçacığı tf.get_default_graph() veya sess.graph itibaren) aşağıdaki gibi varsayılan grafikler:

self.graph_context = graph.as_default() # save it to some variable that won't get gc'ed 
self.graph_context.enforce_nesting = False 
self.graph_context.__enter__() 
+0

İki ayrı Tensorflow modelini geri yüklemeniz gerektiğinde iki grafiğe ihtiyacınız var mı? – user1700890

İlgili konular