Eri*_*rik 3 arrays algorithm matrix julia
嗨,我正在阅读这本书https://nnfs.io/但使用 JuliaLang (更好地了解该语言并更频繁地使用它是一个自我挑战......而不是在 Python 中做同样的事情......)
我发现书中的一部分他们自定义编写了一些函数,我需要在 JuliaLang 中重新创建它......
来源: https: //cs231n.github.io/neural-networks-case-study/
Python
N = 100 # number of points per class
D = 2 # dimensionality
K = 3 # number of classes
X = np.zeros((N*K,D)) # data matrix (each row = single example)
y = np.zeros(N*K, dtype='uint8') # class labels
for j in range(K):
ix = range(N*j,N*(j+1))
r = np.linspace(0.0,1,N) # radius
t = np.linspace(j*4,(j+1)*4,N) + np.random.randn(N)*0.2 # theta
X[ix] = np.c_[r*np.sin(t), r*np.cos(t)]
y[ix] = j
# lets visualize the data:
plt.scatter(X[:, 0], X[:, 1], c=y, s=40, cmap=plt.cm.Spectral)
plt.show()
Run Code Online (Sandbox Code Playgroud)
到目前为止我的朱莉娅版本......
N = 100 # Number of points per class
D = 2 # Dimensionality
K = 3 # Number of classes
X = zeros((N*K, D))
y = zeros(UInt8, N*K)
# See https://docs.julialang.org/en/v1/base/math/#Base.range
for j in range(0,length=K)
ix = range(N*(j), length = N+1)
radius = LinRange(0.0, 1, N)
theta = LinRange(j*4, (j+1)*4, N) + randn(N)*0.2
X[ix] = ????????
end
Run Code Online (Sandbox Code Playgroud)
注意这个???????区域,因为我现在正在尝试破译 Julia 是否有这个 numpy 函数的等价函数
https://numpy.org/doc/stable/reference/ generated/numpy.c_.html
感谢任何帮助..或者只是告诉我是否需要自己写一些东西
这是一个特殊的对象,为列连接提供良好的语法。在 Julia 中,这只是内置于语言中,因此您可以执行以下操作:
\njulia> a=[1,2,3]; \n \njulia> b=[4,5,6]; \n \njulia> [a b] \n3\xc3\x972 Matrix{Int64}: \n 1 4 \n 2 5 \n 3 6 \nRun Code Online (Sandbox Code Playgroud)\n对于您的情况,朱利安等效项np.c_[r*np.sin(t), r*np.cos(t)]应该是:
[r .* sin.(t) r .* cos.(t)]\nRun Code Online (Sandbox Code Playgroud)\n要了解 Python 的动机,您还可以查看:\n numpy.r_ 不是函数。它是什么?
\n