106
Mới! Lưu câu hỏi hoặc câu trả lời và sắp xếp nội dung yêu thích của bạn. Tìm hiểu thêm.
Learn more.
Tôi có một chương trình khá lớn, nơi tôi sử dụng các chức năng từ mô -đun random
trong các tệp khác nhau. Tôi muốn có thể đặt hạt giống ngẫu nhiên một lần, tại một nơi, để làm cho chương trình luôn trả về cùng một kết quả. Điều đó thậm chí có thể đạt được trong python
?
DSM
328K62 Huy hiệu vàng573 Huy hiệu bạc481 Huy hiệu Đồng62 gold badges573 silver badges481 bronze badges
hỏi ngày 17 tháng 7 năm 2012 lúc 16:36Jul 17, 2012 at 16:36
Mischa obrechtmischa obrechtMischa Obrecht
2.5276 Huy hiệu vàng19 Huy hiệu bạc29 Huy hiệu đồng6 gold badges19 silver badges29 bronze badges
Mô -đun Python chính được chạy nên import random
và gọi random.seed[n]
- điều này được chia sẻ giữa tất cả các nhập khẩu khác của random
miễn là ở một nơi khác không đặt lại hạt giống.
Đã trả lời ngày 17 tháng 7 năm 2012 lúc 16:38Jul 17, 2012 at 16:38
Jon Clements ♦ Jon Clements♦Jon Clements
135K32 Huy hiệu vàng240 Huy hiệu bạc273 Huy hiệu Đồng32 gold badges240 silver badges273 bronze badges
7
Nhận xét của ZSS nên được nhấn mạnh như một câu trả lời thực tế:
Một điều khác để mọi người phải cẩn thận: Nếu bạn đang sử dụng
numpy.random
, thì bạn cần sử dụngnumpy.random.seed[]
để đặt hạt giống. Sử dụngrandom.seed[]
sẽ không đặt hạt giống cho các số ngẫu nhiên được tạo từnumpy.random
. Điều này làm tôi bối rối trong một thời gian. -zss
IVO
3.6205 Huy hiệu vàng21 Huy hiệu bạc45 Huy hiệu Đồng5 gold badges21 silver badges45 bronze badges
Đã trả lời ngày 2 tháng 1 năm 2018 lúc 5:42Jan 2, 2018 at 5:42
2
Khi bắt đầu ứng dụng của bạn, hãy gọi random
0, đảm bảo x luôn giống nhau. Điều này sẽ đảm bảo chuỗi các số ngẫu nhiên giả sẽ giống nhau trong mỗi lần chạy của ứng dụng.
Đã trả lời ngày 17 tháng 7 năm 2012 lúc 16:44Jul 17, 2012 at 16:44
ChimerachimeraChimera
5.7906 Huy hiệu vàng47 Huy hiệu bạc80 Huy hiệu Đồng6 gold badges47 silver badges80 bronze badges
Jon Clements khá nhiều trả lời câu hỏi của tôi. Tuy nhiên, đó không phải là vấn đề thực sự: hóa ra, lý do cho sự ngẫu nhiên của mã của tôi là Numpy.Linalg SVD vì nó không phải lúc nào cũng tạo ra kết quả tương tự cho các ma trận điều hòa xấu !!
Vì vậy, hãy chắc chắn kiểm tra điều đó trong mã của bạn, nếu bạn có những vấn đề tương tự!
Đã trả lời ngày 18 tháng 7 năm 2012 lúc 11:11Jul 18, 2012 at 11:11
Mischa obrechtmischa obrechtMischa Obrecht
2.5276 Huy hiệu vàng19 Huy hiệu bạc29 Huy hiệu đồng6 gold badges19 silver badges29 bronze badges
1
Mô -đun Python chính được chạy nên import random
và gọi random.seed[n]
- điều này được chia sẻ giữa tất cả các nhập khẩu khác của random
miễn là ở một nơi khác không đặt lại hạt giống.
Đã trả lời ngày 17 tháng 7 năm 2012 lúc 16:38
Jon Clements ♦ Jon Clements
135K32 Huy hiệu vàng240 Huy hiệu bạc273 Huy hiệu ĐồngApr 18, 2020 at 14:06
Nhận xét của ZSS nên được nhấn mạnh như một câu trả lời thực tế:JBSnorro
Một điều khác để mọi người phải cẩn thận: Nếu bạn đang sử dụng numpy.random
, thì bạn cần sử dụng numpy.random.seed[]
để đặt hạt giống. Sử dụng random.seed[]
sẽ không đặt hạt giống cho các số ngẫu nhiên được tạo từ numpy.random
. Điều này làm tôi bối rối trong một thời gian. -zss3 gold badges36 silver badges61 bronze badges
2
IVO
3.6205 Huy hiệu vàng21 Huy hiệu bạc45 Huy hiệu ĐồngNov 30, 2020 at 10:10
Đã trả lời ngày 2 tháng 1 năm 2018 lúc 5:42
Khi bắt đầu ứng dụng của bạn, hãy gọi random
0, đảm bảo x luôn giống nhau. Điều này sẽ đảm bảo chuỗi các số ngẫu nhiên giả sẽ giống nhau trong mỗi lần chạy của ứng dụng.
Đã trả lời ngày 17 tháng 7 năm 2012 lúc 16:44
Chimerachimera
5.7906 Huy hiệu vàng47 Huy hiệu bạc80 Huy hiệu ĐồngAug 27, 2021 at 8:19
Jon Clements khá nhiều trả lời câu hỏi của tôi. Tuy nhiên, đó không phải là vấn đề thực sự: hóa ra, lý do cho sự ngẫu nhiên của mã của tôi là Numpy.Linalg SVD vì nó không phải lúc nào cũng tạo ra kết quả tương tự cho các ma trận điều hòa xấu !!
rng = np.random.default_rng[int[abs[math.log[random.random[]]]]]
tf.random.set_seed[int[abs[math.log[random.random[]]]]]
Vì vậy, hãy chắc chắn kiểm tra điều đó trong mã của bạn, nếu bạn có những vấn đề tương tự!Dec 23, 2021 at 7:50
Đã trả lời ngày 18 tháng 7 năm 2012 lúc 11:11acciptris
Dựa trên các câu trả lời trước đây: Hãy lưu ý rằng nhiều cấu trúc có thể phân kỳ các đường dẫn thực hiện, ngay cả khi tất cả các hạt giống được kiểm soát.1 silver badge1 bronze badge
Tôi đã nghĩ rằng "tôi đã đặt hạt giống của mình để chúng luôn giống nhau và tôi không có sự phụ thuộc bên ngoài/thay đổi, do đó, đường thực hiện mã của tôi phải luôn giống nhau", nhưng điều đó là sai.
Ví dụ mà tôi cắn là random
1, trong đó thứ tự kết quả có thể khác nhau.
Đã trả lời ngày 18 tháng 4 năm 2020 lúc 14:06
JbsnorrojbsnorroJul 17, 2012 at 17:20
user1277476user1277476user1277476
5.5223 Huy hiệu vàng36 Huy hiệu bạc61 Huy hiệu Đồng11 silver badges9 bronze badges
3