朱莉娅无法复制兰特
Julia cannot reproduce the rand
我正在阅读和练习 https://juliadatascience.io/standardlibrary 的“3.5.2.1 rand”部分,发现下面的代码无法重现相同的随机数:
$ julia
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.7.0 (2021-11-30)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
julia> using Random: rand, randn, seed!
julia> my_seed = seed!(123)
Random.TaskLocalRNG()
julia> rand(my_seed, 3)
3-element Vector{Float64}:
0.521213795535383
0.5868067574533484
0.8908786980927811
julia> rand(my_seed, 3)
3-element Vector{Float64}:
0.19090669902576285
0.5256623915420473
0.3905882754313441
本书快照:
您错过了书中对 seed!
的第二次调用。
发现得很好。 运行 rand(my_seed, 3)
两次不应该给出相同的输出。此问题是由 Books.jl 中的错误引起的。 Books 包将输出存储在文件中作为一种缓存机制。不幸的是,两个相同的代码块将写入相同的文件路径,因此最后一个块的输出会覆盖第一个块的输出。我仍然没有找到解决该问题的好方法,通常这不是问题,因为相同的代码通常会给出相同的输出,但调用 rand
.
时却不会。
此问题将在 https://github.com/JuliaDataScience/JuliaDataScience/pull/235 合并后约 30 分钟在网站上的 HTML 和 PDF 版本中修复。
我正在阅读和练习 https://juliadatascience.io/standardlibrary 的“3.5.2.1 rand”部分,发现下面的代码无法重现相同的随机数:
$ julia
_
_ _ _(_)_ | Documentation: https://docs.julialang.org
(_) | (_) (_) |
_ _ _| |_ __ _ | Type "?" for help, "]?" for Pkg help.
| | | | | | |/ _` | |
| | |_| | | | (_| | | Version 1.7.0 (2021-11-30)
_/ |\__'_|_|_|\__'_| | Official https://julialang.org/ release
|__/ |
julia> using Random: rand, randn, seed!
julia> my_seed = seed!(123)
Random.TaskLocalRNG()
julia> rand(my_seed, 3)
3-element Vector{Float64}:
0.521213795535383
0.5868067574533484
0.8908786980927811
julia> rand(my_seed, 3)
3-element Vector{Float64}:
0.19090669902576285
0.5256623915420473
0.3905882754313441
本书快照:
您错过了书中对 seed!
的第二次调用。
发现得很好。 运行 rand(my_seed, 3)
两次不应该给出相同的输出。此问题是由 Books.jl 中的错误引起的。 Books 包将输出存储在文件中作为一种缓存机制。不幸的是,两个相同的代码块将写入相同的文件路径,因此最后一个块的输出会覆盖第一个块的输出。我仍然没有找到解决该问题的好方法,通常这不是问题,因为相同的代码通常会给出相同的输出,但调用 rand
.
此问题将在 https://github.com/JuliaDataScience/JuliaDataScience/pull/235 合并后约 30 分钟在网站上的 HTML 和 PDF 版本中修复。