Interfejs API omawia Graph Collections, które według code służą do przechowywania klucza/danych ogólnego przeznaczenia. Jaki jest cel tych kolekcji?Jaki jest cel kolekcji wykresów w TensorFlow?
Odpowiedz
Należy pamiętać, że pod maską Tensorflow jest systemem do określania, a następnie wykonywania wykresów przepływu danych obliczeniowych. Kolekcje wykresów są używane jako część śledzenia tworzonych wykresów i sposobu ich wykonywania. Na przykład podczas tworzenia określonych rodzajów operacji, takich jak tf.train.batch_join
, kod dodający operację spowoduje również dodanie niektórych kolejek do kolekcji wykresów QUEUE_RUNNERS
. Później, gdy zadzwonisz pod numer start_queue_runners()
, domyślnie przyjrzysz się kolekcji QUEUE_RUNNERS
, aby wiedzieć, którzy biegacze mają wystartować.
Ciągle mam wątpliwości co do koncepcji kolekcji. Dodanie różnych operacji do różnych kolekcji sprawia, że wyszukiwanie op jest bardziej wydajne? Wygląda na to, że kolekcja nadaje się tylko do grupowania lub organizowania operacji opowiastkowych bez przynoszenia "prawdziwych" korzyści z obliczeń, prawda? Tutaj dla "prawdziwego" mam na myśli to, że jeśli usunę koncepcję zbierania z systemu tensorflow, nie zaszkodzi to obliczeniom. – ZijunLost
Nie, celem zbiorów nie jest efektywność, chodzi o prowadzenie ksiąg rachunkowych. Kolekcje są używane, aby wiedzieć, które zmienne powinny zostać przeszkolone. Lub do których zadań należy wezwać na szkolenie. Kolekcje to mapa od napisu do zbioru-wykresu-bitów. Kilka znanych ciągów jest przechowywanych w GraphKeys. Odnoszą się one do ważnych zestawów bitów graficznych (tj. Op, zmiennych itp.). – BlessedKey
Myślę, że istnieją co najmniej dwie korzyści dla mnie do tej pory:
- kiedy dystrybuować swój program na wielu GPU lub maszyn jest to wygodne, aby zebrać straty z różnych urządzeń, które są w tej samej kolekcji. Użyj tf.add_n, aby dodać je, aby zgromadzić stratę.
- Aby zaktualizować określony zestaw zmiennych, takich jak wagi i błędy na swój własny sposób.
Na przykład:
import tensorflow as tf
w = tf.Variable([1,2,3], collections=[tf.GraphKeys.WEIGHTS], dtype=tf.float32)
w2 = tf.Variable([11,22,32], collections=[tf.GraphKeys.WEIGHTS], dtype=tf.float32)
weight_init_op = tf.variables_initializer(tf.get_collection_ref(tf.GraphKeys.WEIGHTS))
sess = tf.InteractiveSession()
sess.run(weight_init_op)
for vari in tf.get_collection_ref(tf.GraphKeys.WEIGHTS):
tf.add_to_collection(tf.GraphKeys.UPDATE_OPS, vari.assign(0.2 * vari))
weight_update_ops = tf.get_collection_ref(tf.GraphKeys.UPDATE_OPS)
sess.run(weight_update_ops)
Wydajność:
[Tablica ([0,2, 0,40000001, 0,60000002] dtype = float32) tablica ([2,20000005, 4,4000001, 6,4000001] dtype = float32)]
- 1. Jaki jest cel IApplicationBuilder.New()
- 2. Jaki jest cel curdoc()?
- 3. Jaki jest cel aclocal?
- 4. Jaki jest cel XNoImplicitPrelude?
- 5. Jaki jest cel Ember.Container
- 6. Jaki jest cel $ w XSLT
- 7. Jaki jest cel ldexp?
- 8. Jaki jest cel Rake?
- 9. Jaki jest cel HttpHeaders.TryAddWithoutValidation?
- 10. Jaki jest cel Mage_Core_Block_Template_Facade
- 11. Jaki jest cel CMakeScripts?
- 12. Jaki jest cel preompompiledApp.config?
- 13. Jaki jest cel "() =>"
- 14. Jaki jest cel vertexAttribPointer?
- 15. Jaki jest cel używania?
- 16. Jaki jest cel JNDI
- 17. Jaki jest cel IAsyncStateMachine.SetStateMachine?
- 18. Jaki jest cel layout.xml?
- 19. Jaki jest cel metody Objects.compare()?
- 20. Jaki jest cel Array.GetLowerBound (int)?
- 21. Jaki jest cel Active Records?
- 22. Jaki jest cel przejścia niezdefiniowanego?
- 23. Jaki jest cel pola ValidationResult.Success?
- 24. Jaki jest cel ng eject?
- 25. Jaki jest cel javax StreamSource
- 26. Jaki jest cel `__metaclass__ = type`?
- 27. Jaki jest cel "oddziału integracyjnego"?
- 28. Jaki jest cel używania CommandType.Tabledirect
- 29. Jaki jest cel nazwy mojolicowej?
- 30. Scala: jaki jest cel "przesłonięcia"
Wyszukaj "GraphKeys." w przypadku niektórych przykładów kolekcji: np. TrainableVariables: https://github.com/tensorflow/tensorflow/blob/master/tensorflow/python/ops/variables.py#L113, TableInitializers: https://tensorflow.googlesource.com/tensorflow /+/0.5.0/tensorflow/python/ops/data_flow_ops.py#521, Streszczenia: https://tensorflow.googlesource.com/tensorflow/+/master/tensorflow/python/ops/summary_ops.py#48 –
Witaj @YaroslavBulatov możesz ponownie opublikować swój link? Ostatnie dwie są zepsute. Dziękuję zawsze! – Aaron