API thảo luận về Graph Collections đánh giá từ code là khóa/lưu trữ dữ liệu chung nhằm mục đích chung. Mục đích của những bộ sưu tập đó là gì?Mục đích của các bộ sưu tập đồ thị trong TensorFlow là gì?
Trả lời
Hãy nhớ rằng dưới mui xe, Tensorflow là một hệ thống để xác định và sau đó thực hiện biểu đồ lưu lượng dữ liệu tính toán. Các bộ sưu tập đồ thị được sử dụng như một phần của việc theo dõi các đồ thị được xây dựng và cách chúng được thực thi. Ví dụ: khi bạn tạo một số loại ops nhất định, chẳng hạn như tf.train.batch_join
, mã thêm op cũng sẽ thêm một số trình xử lý hàng đợi vào bộ sưu tập đồ thị QUEUE_RUNNERS
. Sau đó, khi bạn gọi start_queue_runners()
, theo mặc định, nó sẽ xem bộ sưu tập QUEUE_RUNNERS
để biết người chạy nào sẽ bắt đầu.
Tôi vẫn còn bối rối về khái niệm về bộ sưu tập. Bằng cách thêm các op khác nhau vào các bộ sưu tập khác nhau, nó có làm cho việc tìm kiếm op trở nên hiệu quả hơn không? Dường như bộ sưu tập chỉ tốt cho việc nhóm hoặc tổ chức các hoạt động nghiệp dư với nhau mà không mang lại bất kỳ lợi ích "thực" nào cho tính toán, đúng không? Ở đây cho "thực" tôi có nghĩa là nếu tôi loại bỏ các khái niệm về bộ sưu tập ra khỏi hệ thống tensorflow, nó không làm tổn thương tính toán. – ZijunLost
Không, điểm của các bộ sưu tập không hiệu quả, vấn đề là giữ sách. Bộ sưu tập được sử dụng để biết các biến nào cần được đào tạo. Hoặc ops nào phải được gọi để huấn luyện. Bộ sưu tập là một bản đồ từ chuỗi đến bộ-of-graph-bit. Một số chuỗi đã biết được lưu trữ trong GraphKeys. Đây là những bộ đồ thị quan trọng (ví dụ: ops, biến, v.v.) – BlessedKey
Tôi nghĩ rằng có ít nhất hai lợi ích đối với tôi cho đến nay:
- khi bạn phân phối chương trình của bạn trên nhiều GPU hoặc máy nó là thuận tiện để thu thập thiệt hại từ các thiết bị khác nhau mà là trong bộ sưu tập tương tự. Sử dụng tf.add_n để thêm chúng để tích lũy mất mát.
- Để cập nhật một tập hợp các biến cụ thể như trọng số và thành kiến theo cách của riêng tôi.
Ví dụ:
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)
Sản lượng:
[array ([0,2, 0,40000001, 0,60000002], dtype = float32), mảng ([2,20000005, 4,4000001, 6,4000001], dtype = float32)]
Ghi chú nhỏ trên mã của bạn ... khi bạn bắt đầu một tf.InteractiveSession(), tại sao bạn không được hưởng lợi từ điều đó? Như trong ... sử dụng weight_init_op.run() và weight_update_ops.eval() – zwep
@zwep Vâng, bạn nói đúng. Có lẽ tôi không biết điều đó khi tôi viết bài này .; Dù sao mã của tôi hoạt động. – lerner
- 1. Mục đích của tf.app.flags trong TensorFlow là gì?
- 2. Mục đích của việc tạo các lớp sưu tập trong PHP là gì?
- 3. Mục đích của chỉ thị #line của perl là gì?
- 4. Mục đích của Tập dữ liệu là gì?
- 5. Mục đích của. * \\ là gì?
- 6. Mục đích của clojure.core.reducers/reduce là gì?
- 7. Mục đích của tệp vshost.exe là gì?
- 8. Mục đích của character_set_connection là gì?
- 9. Mục đích của UserControl là gì?
- 10. Mục đích của `__metaclass__ = type` là gì?
- 11. Bộ sưu tập java là gì?
- 12. Mục đích của is_uploaded_file() là gì?
- 13. Mục đích của các khung nhìn trong SQL là gì?
- 14. Bộ sưu tập bản đồ của các đối tượng
- 15. mục đích là gì? "::" trong
- 16. Mục đích của các đối tượng cú pháp trong lược đồ chính xác là gì?
- 17. Mục đích của UIWindow là gì?
- 18. Trong Mongo, làm cách nào để hiển thị các chỉ mục của một bộ sưu tập?
- 19. Mục đích của tệp pdb là gì?
- 20. Mục đích của EXTRA_CFLAGS là gì?
- 21. Mục đích của các lớp học một phần là gì?
- 22. Mục đích của hàm ionViewDidLoad() là gì?
- 23. Mục đích của __cxa_pure_virtual là gì?
- 24. Mục đích của vertexAttribPointer là gì?
- 25. Mục đích của ldexp là gì?
- 26. Mục đích của lớp TestExecution trong MSTest là gì?
- 27. mục đích của các dấu hoa thị phụ trong nhận xét php là gì?
- 28. Mục đích của config.assets.precompile là gì?
- 29. Mục đích của tệp .edmx là gì?
- 30. Mục đích của "chế độ uber" trong hadoop là gì?
Tìm kiếm "GraphKeys". cho một số ví dụ về các bộ sưu tập: ví dụ: 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, Tóm tắt: https://tensorflow.googlesource.com/tensorflow/+/master/tensorflow/python/ops/summary_ops.py#48 –
Xin chào @YaroslavBulatov bạn có thể vui lòng đăng lại liên kết của bạn không? Hai người cuối cùng bị hỏng. Cảm ơn mọi người! – Aaron