Trả lời

8

Chỉ cần thêm vào danh sách, đó là một vài cách hơn để làm batch-norm trong tensorflow:

  • tf.nn.batch_normalization là một op ở mức độ thấp. Người gọi có trách nhiệm tự xử lý meanvariance bản thân.
  • tf.nn.fused_batch_norm là một mức độ thấp khác, tương tự như phiên bản trước. Sự khác biệt là nó được tối ưu hóa cho các đầu vào đầu vào 4D, đó là trường hợp thông thường trong các mạng nơ-ron xoắn ốc. tf.nn.batch_normalization chấp nhận hàng chục cấp bậc lớn hơn 1.
  • tf.layers.batch_normalization là trình bao bọc cấp cao hơn các op trước đó. Sự khác biệt lớn nhất là nó sẽ chăm sóc tạo và quản lý các hoạt động trung bình và biến thiên tensors, và gọi một op hợp nhất nhanh chóng khi có thể. Thông thường, đây phải là lựa chọn mặc định cho bạn.
  • tf.contrib.layers.batch_norm là việc triển khai hàng loạt chỉ tiêu hàng loạt, trước khi nó được chuyển thành API lõi (tức là, tf.layers). Việc sử dụng nó không được khuyến cáo vì nó có thể bị loại bỏ trong các bản phát hành trong tương lai.
  • tf.nn.batch_norm_with_global_normalization là một phiên bản không được chấp nhận khác. Hiện tại, đại biểu cuộc gọi đến tf.nn.batch_normalization nhưng có thể bị hủy trong tương lai.
  • Cuối cùng, cũng có lớp Keras keras.layers.BatchNormalization, trong trường hợp chương trình phụ trợ kéo dài gọi tf.nn.batch_normalization.
+0

Cảm ơn. tôi chấp nhận nó. Tôi chỉ muốn hỏi bạn về ý nghĩa và phương sai. Làm thế nào tôi có thể quản lý trung bình và phương sai như bạn đã đề cập? chỉ cần đặt is_training flag thành False? – KimHee

+0

Bằng cách quản lý, tôi có ý nghĩa sau: tạo biến đúng hình dạng và tích lũy phương tiện/phương sai hoạt động từ các lô. Đó là một chút tẻ nhạt, đó là lý do tại sao nó dễ dàng hơn để gọi các chức năng cấp cao. Trong trường hợp đó, bạn chỉ cần đặt thuộc tính 'training'. – Maxim

2

Như hiển thị trong doc, tf.contrib là mô-đun đóng góp chứa mã dễ bay hơi hoặc thử nghiệm. Khi function hoàn tất, nó sẽ bị xóa khỏi mô-đun này. Bây giờ có hai, để tương thích với phiên bản lịch sử.

Vì vậy, trước đây, tf.layers.batch_normalization được khuyến nghị.

Các vấn đề liên quan