小编Sha*_*yan的帖子

为什么在 Float64 上运行比 Float16 快?

我想知道为什么对Float64值进行操作比对 进行操作更快Float16

\n
julia> rnd64 = rand(Float64, 1000);\n\njulia> rnd16 = rand(Float16, 1000);\n\njulia> @benchmark rnd64.^2\nBenchmarkTools.Trial: 10000 samples with 10 evaluations.\n Range (min \xe2\x80\xa6 max):  1.800 \xce\xbcs \xe2\x80\xa6 662.140 \xce\xbcs  \xe2\x94\x8a GC (min \xe2\x80\xa6 max):  0.00% \xe2\x80\xa6 99.37%\n Time  (median):     2.180 \xce\xbcs               \xe2\x94\x8a GC (median):     0.00%\n Time  (mean \xc2\xb1 \xcf\x83):   3.457 \xce\xbcs \xc2\xb1  13.176 \xce\xbcs  \xe2\x94\x8a GC (mean \xc2\xb1 \xcf\x83):  12.34% \xc2\xb1  3.89%\n\n  \xe2\x96\x81\xe2\x96\x88\xe2\x96\x88\xe2\x96\x84\xe2\x96\x82\xe2\x96\x82\xe2\x96\x86\xe2\x96\x86\xe2\x96\x84\xe2\x96\x82\xe2\x96\x81 \xe2\x96\x82\xe2\x96\x86\xe2\x96\x84\xe2\x96\x81                                     \xe2\x96\x82\xe2\x96\x82\xe2\x96\x82\xe2\x96\x81   \xe2\x96\x82\n  \xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x87\xe2\x96\x87\xe2\x96\x86\xe2\x96\x86\xe2\x96\x87\xe2\x96\x86\xe2\x96\x85\xe2\x96\x87\xe2\x96\x88\xe2\x96\x88\xe2\x96\x86\xe2\x96\x86\xe2\x96\x85\xe2\x96\x85\xe2\x96\x86\xe2\x96\x84\xe2\x96\x84\xe2\x96\x81\xe2\x96\x81\xe2\x96\x83\xe2\x96\x83\xe2\x96\x81\xe2\x96\x81\xe2\x96\x84\xe2\x96\x81\xe2\x96\x83\xe2\x96\x84\xe2\x96\x81\xe2\x96\x83\xe2\x96\x81\xe2\x96\x84\xe2\x96\x83\xe2\x96\x81\xe2\x96\x81\xe2\x96\x86\xe2\x96\x87\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x88\xe2\x96\x87 \xe2\x96\x88\n  1.8 \xce\xbcs       Histogram: log(frequency) by time      10.6 \xce\xbcs <\n\n …
Run Code Online (Sandbox Code Playgroud)

performance julia half-precision-float

38
推荐指数
2
解决办法
5281
查看次数

使用 yml 文件创建新的 Conda env (Windows 10) 中的“SpecNotFound:名称无效,请尝试格式:用户/包”

我正在尝试通过Windows 10 中的“Anaconda Prompt” usnig文件创建新的 conda 环境。 以下是我完成的步骤:yml

1.使用cd命令我将目录更改为我的文件所在的目录yml。(假设我的 yml 文件位于c:/Users/<USER NAME>/.jupyter
2.然后我使用conda env create -f Python 310.yml命令创建新的 conda env。

我得到的是:

SpecNotFound:名称无效,请尝试格式:用户/包

现在我不知道如何解决这个问题,也不知道这个错误的含义是什么。


附录

我的Python 310.yml文件包含这些内容:

在此输入图像描述

python environment conda

24
推荐指数
3
解决办法
4万
查看次数

如何通过 VSCode 将 Jupyter Notebook 导出为 PDF 格式?(Windows 10)

当我尝试在VSCode中以 pdf 格式导出 Jupyter Notebook 时,如下所示: 在此输入图像描述

在此输入图像描述

然后我得到这个错误:

导出失败。请检查“Jupyter”输出面板以获取更多详细信息。

jupyter 输出面板显示:

[错误] 如果您尚未安装 xelatex (TeX),则需要先安装才能导出为 PDF。有关更多说明,请参阅https://nbconvert.readthedocs.io/en/latest/install.html#installing-tex。为了避免安装 xelatex (TeX),您可能需要尝试导出为 HTML 并使用浏览器的“打印为 PDF”功能。

所以我尝试安装 MikTeX并更新所需的包,但仍然无法通过 VSCode 以 PDF 格式导出 Jupyter Notebooks!
我该如何解决这个问题?

请注意,我知道我可以通过将其转换为 HTML,然后ctrl+p尝试将其另存为 pdf 来做到这一点!但我想直接将其转换为pdf!

python export-to-pdf visual-studio-code jupyter-notebook

20
推荐指数
1
解决办法
6万
查看次数

如何使用 Python 的 juliacall 在 Python 中加载自定义 Julia 包

我已经知道如何将 Julia 包导入到 Python 中

但是,现在我使用以下命令创建了自己的简单 Julia 包: using Pkg;Pkg.generate("MyPack");Pkg.activate("MyPack");Pkg.add("StatsBase") 其中文件MyPack/src/MyPack.jl具有以下内容:

module MyPack
using StatsBase

function f1(x, y)
   return 3x + y
end
g(x) = StatsBase.std(x)

export f1

end
Run Code Online (Sandbox Code Playgroud)

现在我想通过juliacall调用f1g函数在 Python 中加载这个 Julia 包。我已经pip3 install juliacall从命令行运行了。如何从 Python 调用上述函数?

python julia

11
推荐指数
1
解决办法
861
查看次数

在 Julia 中创建一个大部分为 0 和一些为 1 的随机矩阵的最佳且最具创意的方法是什么?

我想创建一个Matrix具有零和一值的随机数。有了这个假设,就会有更多的 0 而不是 1!所以我想应该有类似加权伯努利分布的东西每次都在 0 或 1 之间进行选择(选择 0 的概率更大)。我不想将其限制为 nxn 矩阵!我可以尝试以完全不标准的方式,如下所示:

\n
julia> let mat = Matrix{Int64}(undef, 3, 5)\n           zero_or_one(shift) = rand()+shift>0.5 ? 0 : 1\n           foreach(x->mat[x]=zero_or_one(0.3), eachindex(mat))\n       end\n\njulia> mat\n3\xc3\x975 Matrix{Int64}:\n 1  1  1  0  1\n 0  1  1  1  1\n 0  1  1  0  1\n
Run Code Online (Sandbox Code Playgroud)\n

请注意,这并不能完成任务。因为正如您所看到的,我在结果中得到了更多的 1 而不是零。\n有没有更优化或至少有创意的方法?或者有什么模块可以做到这一点?

\n

更新:
\n无论我是否更改 的值,此代码的结果似乎都不会改变shift

\n

julia

10
推荐指数
4
解决办法
1040
查看次数

附加!VS推!在朱莉娅

append!在 Julia 中,您可以使用或将元素永久附加到现有向量push!。例如:

julia> vec = [1,2,3]
3-element Vector{Int64}:
 1
 2
 3

julia> push!(vec, 4,5)
5-element Vector{Int64}:
 1
 2
 3
 4
 5

# or

julia> append!(vec, 4,5)
7-element Vector{Int64}:
 1
 2
 3
 4
 5
Run Code Online (Sandbox Code Playgroud)

append!但是,和 之间有什么区别push!根据官方文档,建议:

“使用push!将单个项目添加到一个集合中,而这些项目本身并不在另一个集合中。前面示例的结果相当于push!([1,2,3],4,5,6)。”

这就是这两个函数之间的主要区别!但是,在上面的示例中,我使用 . 将各个元素附加到现有向量中append!。那么为什么他们建议push!在这些情况下使用呢?

julia

9
推荐指数
1
解决办法
7074
查看次数

如何在源代码管理VScode中编写提交描述?

在 GitHub Desktop 中,我可以在提交的描述字段中写入不确定的行数,并且该字段与提交消息不同

在此输入图像描述

我知道我可以使用以下命令在 git bash 中执行相同的操作

git commit -m "Title" -m "Description ..........";
Run Code Online (Sandbox Code Playgroud)

现在我想知道我是否可以在源代码管理 VSCode 中执行相同的操作。
源代码管理选项卡中有一个字段,如下所示,但我不知道它是提交的标题(提交消息)还是描述:
在此输入图像描述

git visual-studio-code

9
推荐指数
1
解决办法
2725
查看次数

如何检查运行我的代码的 Julia 版本?

有没有办法检查 Julia 的版本正在运行代码?当您的计算机上已经有超过 1 个 Julia 时,这一点很重要。

julia

7
推荐指数
2
解决办法
1060
查看次数

如何缩小 Julia 中向量或数组的元素类型?

考虑这样一种情况,我首先使用eltypeofAny增量创建一个 Vector;之后,我想缩小它的元素类型。我怎样才能做到这一点?

julia> vec = Any[1, 2, 3.]
3-element Vector{Any}:
 1
 2
 3.0
Run Code Online (Sandbox Code Playgroud)

I can use something like convert(Vector{Real}, vec). But in this case, I'm specifying the type manually while I want Julia to decide the best suitable eltype for it.

julia

7
推荐指数
2
解决办法
325
查看次数

如何将 Julia 包导入 Python

人们可以通过该包来使用 Julia 的内置模块和函数juliacall。例如:

>>> from juliacall import Main as jl
>>> import numpy as np

# Create a 2*2 random matrix
>>> arr = jl.rand(2,2)

>>> arr
<jl [0.28133223988783074 0.22498491616860727; 0.008312971104033062 0.12927167014532326]>

# Check whether Numpy can recognize the shape of the array or not
>>> np.array(arr).shape
(2, 2)

>>> type(np.array(arr))
<class 'numpy.ndarray'>
Run Code Online (Sandbox Code Playgroud)

然后我很好奇是否可以将已安装的 julia 包导入到 Python 中?例如,假设有人想要导入Flux.jl到 Python 中。有办法实现这一点吗?

python julia

6
推荐指数
1
解决办法
503
查看次数