Trình khởi tạo Glorot, còn được gọi là trình khởi tạo Xavier.
Lấy mẫu từ một phân phối ngẫu nhiên.
Nếu phân bố là TRUNCATED_NORMAL thì phân bố được tập trung vào 0 với stddev = Math.sqrt(2. / (fanIn + fanOut))
trong đó fanIn
là số đơn vị đầu vào trong tensor trọng số và fanOut
là số đơn vị đầu ra trong tensor trọng lượng.
Nếu phân phối là UNIFORM thì các mẫu được rút ra từ phân phối đồng nhất trong [-limit, limit]
, trong đó limit = sqrt(6 / (fanIn + fanOut))
( fanIn
là số đơn vị đầu vào trong tensor trọng số và fanOut
là số lượng đơn vị đầu ra).
Ví dụ:
Glorot Bình thường:
long seed = 1001l; Glorot<TFloat32, TFloat32> initializer = new org.tensorflow.framework.initializers.Glorot<>(tf, Distribution.TRUNCATED_NORMAL, seed); Operand<TFloat32> values = initializer.call(tf.constant(Shape.of(2,2)), TFloat32.class);
Đồng phục Glorot:
long seed = 1001l; Glorot<TFloat32, TFloat32> initializer = new org.tensorflow.framework.initializers.Glorot<>(tf, Distribution.UNIFORM, seed); Operand<TFloat32> values = initializer.call(tf.constant(Shape.of(2,2)), TFloat32.class);
GHI CHÚ:
Đối với trình khởi tạo tương đương GlorotNormal, hãy sử dụng TRUNCATED_NORMAL
cho tham số phân phối.
Đối với trình khởi tạo tương đương GlorotUniform, hãy sử dụng UNIFORM
cho tham số phân phối.
Hằng số
gấp đôi | TỈ LỆ |
Hằng số kế thừa
Trường kế thừa
Nhà xây dựng công cộng
Phương pháp kế thừa
Hằng số
chung kết tĩnh đôi QUY MÔ
Nhà xây dựng công cộng
Glorot công khai (Ops tf, Phân phối VarianceScaling.Distribution , hạt giống dài)
Tạo trình khởi tạo Glorot
Thông số
tf | hoạt động của TensorFlow |
---|---|
phân bổ | Kiểu phân phối cho trình khởi tạo Glorot. |
hạt giống | hạt giống cho việc tạo số ngẫu nhiên. Trình khởi tạo được tạo bằng một hạt giống nhất định sẽ luôn tạo ra cùng một tenxơ ngẫu nhiên giống nhau cho hình dạng và dtype nhất định. |