Theano - Các biến được chia sẻ
Đôi khi, bạn sẽ cần phải tạo các biến được chia sẻ giữa các hàm khác nhau và cả giữa nhiều lệnh gọi đến cùng một hàm. Để trích dẫn một ví dụ, trong khi đào tạo mạng nơ-ron, bạn tạo vectơ trọng số để gán trọng số cho từng đối tượng được xem xét. Vectơ này được sửa đổi trên mỗi lần lặp trong quá trình huấn luyện mạng. Do đó, nó phải có thể truy cập toàn cầu thông qua nhiều lệnh gọi đến cùng một chức năng. Vì vậy, chúng tôi tạo một biến chia sẻ cho mục đích này. Thông thường, Theano di chuyển các biến được chia sẻ như vậy sang GPU, miễn là có sẵn một biến. Điều này tăng tốc độ tính toán.
Cú pháp
Bạn tạo một biến chia sẻ, bạn sử dụng cú pháp sau:
import numpy
W = theano.shared(numpy.asarray([0.1, 0.25, 0.15, 0.3]), 'W')
Thí dụ
Ở đây mảng NumPy bao gồm bốn số dấu phẩy động được tạo. Để đặt / lấyW giá trị bạn sẽ sử dụng đoạn mã sau -
import numpy
W = theano.shared(numpy.asarray([0.1, 0.25, 0.15, 0.3]), 'W')
print ("Original: ", W.get_value())
print ("Setting new values (0.5, 0.2, 0.4, 0.2)")
W.set_value([0.5, 0.2, 0.4, 0.2])
print ("After modifications:", W.get_value())
Đầu ra
Original: [0.1 0.25 0.15 0.3 ]
Setting new values (0.5, 0.2, 0.4, 0.2)
After modifications: [0.5 0.2 0.4 0.2]