- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我的大部分代码都是直接从 Flux 模型动物园存储库复制而来(特别是此示例 https://github.com/FluxML/model-zoo/blob/master/vision/cifar10/cifar10.jl )。
我是新来的,所以我不知道是什么导致了这个错误。我正在使用随机大小的自定义图像数据集。我想将它们分为 30 个类。仅出于测试目的,我将测试和训练大小设置为 20。
using Flux
using Statistics
using Statistics: mean
using Base.Iterators: partition
using BSON
using CSV
using Images
# defining some variables not really important
train_path = "G:\\Book-Cover-Train"
test_path = "G:\\Book-Cover-Test"
train_set = CSV.File("train.csv")
test_set = CSV.File("test.csv")
train_size = 20
test_size = 20
acc = 0
function getarray(path, number)
# code to get image based on the number and convert it to float # not really important to question
file = load(path*"\\img$number.png")
file = imresize(file, 100,100)
X = convert(Array{Float64},channelview(file))
X = permutedims(X, (2,3,1))
individual_image_in_float = X
return individual_image_in_float
end
imgs = [getarray(path_to_training_set, i) for i in 1:train_set_size]
labels = onehotbatch([train_set[i][6] for i in 1:train_set_size],0:29) # every row in training set csv has the 6th column as the label
train = [(cat(imgs[i]..., dims = 4), labels[:,i]) for i in partition(1:train_size, 100)]
@info("Constructing model...")
model = Chain(
Dense(100*100*3, 64, relu),
Dense(64, 30),
softmax)
loss(x, y) = crossentropy(model(x), y)
@info("Beginning training loop...")
for epoch_idx in 1:4
println("epoch number $epoch_idx")
Flux.train!(loss, params(model), train, ADAM())#, cb = evalcb)
end
BSON.@save pwd()*"\\model-final.bson" model)
错误信息是
MethodError: no method matching *(::Array{Float32,2}, ::Array{Float32,4})
Stacktrace:
[1] macro expansion at C:\Users\Zubu\.julia\packages\Zygote\8dVxG\src\compiler\interface2.jl:0 [inlined]
[2] _pullback(::Zygote.Context, ::typeof(*), ::Array{Float32,2}, ::Array{Float32,4}) at C:\Users\Zubu\.julia\packages\Zygote\8dVxG\src\compiler\interface2.jl:7
[3] Dense at C:\Users\Zubu\.julia\packages\Flux\oX9Pi\src\layers\basic.jl:102 [inlined]
[4] _pullback(::Zygote.Context, ::typeof(invoke), ::Dense{typeof(relu),Array{Float32,2},Array{Float32,1}}, ::Type{Tuple{AbstractArray}}, ::Array{Float32,4}) at C:\Users\Zubu\.julia\packages\Zygote\8dVxG\src\compiler\interface2.jl:0
[5] Dense at C:\Users\Zubu\.julia\packages\Flux\oX9Pi\src\layers\basic.jl:113 [inlined]
[6] _pullback(::Zygote.Context, ::Dense{typeof(relu),Array{Float32,2},Array{Float32,1}}, ::Array{Float32,4}) at C:\Users\Zubu\.julia\packages\Zygote\8dVxG\src\compiler\interface2.jl:0
[7] Dense at C:\Users\Zubu\.julia\packages\Flux\oX9Pi\src\layers\basic.jl:116 [inlined]
[8] _pullback(::Zygote.Context, ::Dense{typeof(relu),Array{Float32,2},Array{Float32,1}}, ::Array{Float64,4}) at C:\Users\Zubu\.julia\packages\Zygote\8dVxG\src\compiler\interface2.jl:0
[9] applychain at C:\Users\Zubu\.julia\packages\Flux\oX9Pi\src\layers\basic.jl:30 [inlined]
[10] _pullback(::Zygote.Context, ::typeof(Flux.applychain), ::Tuple{Dense{typeof(relu),Array{Float32,2},Array{Float32,1}},Dense{typeof(identity),Array{Float32,2},Array{Float32,1}},typeof(softmax)}, ::Array{Float64,4}) at C:\Users\Zubu\.julia\packages\Zygote\8dVxG\src\compiler\interface2.jl:0
[11] Chain at C:\Users\Zubu\.julia\packages\Flux\oX9Pi\src\layers\basic.jl:32 [inlined]
[12] _pullback(::Zygote.Context, ::Chain{Tuple{Dense{typeof(relu),Array{Float32,2},Array{Float32,1}},Dense{typeof(identity),Array{Float32,2},Array{Float32,1}},typeof(softmax)}}, ::Array{Float64,4}) at C:\Users\Zubu\.julia\packages\Zygote\8dVxG\src\compiler\interface2.jl:0
[13] loss at .\In[57]:45 [inlined]
[14] _pullback(::Zygote.Context, ::typeof(loss), ::Array{Float64,4}, ::Flux.OneHotMatrix{Array{Flux.OneHotVector,1}}) at C:\Users\Zubu\.julia\packages\Zygote\8dVxG\src\compiler\interface2.jl:0
[15] adjoint at C:\Users\Zubu\.julia\packages\Zygote\8dVxG\src\lib\lib.jl:139 [inlined]
[16] _pullback at C:\Users\Zubu\.julia\packages\ZygoteRules\6nssF\src\adjoint.jl:47 [inlined]
[17] #15 at C:\Users\Zubu\.julia\packages\Flux\oX9Pi\src\optimise\train.jl:69 [inlined]
[18] _pullback(::Zygote.Context, ::Flux.Optimise.var"#15#21"{typeof(loss),Tuple{Array{Float64,4},Flux.OneHotMatrix{Array{Flux.OneHotVector,1}}}}) at C:\Users\Zubu\.julia\packages\Zygote\8dVxG\src\compiler\interface2.jl:0
[19] pullback(::Function, ::Zygote.Params) at C:\Users\Zubu\.julia\packages\Zygote\8dVxG\src\compiler\interface.jl:96
[20] gradient(::Function, ::Zygote.Params) at C:\Users\Zubu\.julia\packages\Zygote\8dVxG\src\compiler\interface.jl:46
[21] macro expansion at C:\Users\Zubu\.julia\packages\Flux\oX9Pi\src\optimise\train.jl:68 [inlined]
[22] macro expansion at C:\Users\Zubu\.julia\packages\Juno\oLB1d\src\progress.jl:134 [inlined]
[23] #train!#12(::Flux.Optimise.var"#16#22", ::typeof(Flux.Optimise.train!), ::Function, ::Zygote.Params, ::Array{Tuple{Array{Float64,4},Flux.OneHotMatrix{Array{Flux.OneHotVector,1}}},1}, ::ADAM) at C:\Users\Zubu\.julia\packages\Flux\oX9Pi\src\optimise\train.jl:66
[24] train!(::Function, ::Zygote.Params, ::Array{Tuple{Array{Float64,4},Flux.OneHotMatrix{Array{Flux.OneHotVector,1}}},1}, ::ADAM) at C:\Users\Zubu\.julia\packages\Flux\oX9Pi\src\optimise\train.jl:64
[25] top-level scope at .\In[57]:68 # which is the line containing train!
最佳答案
您在堆栈跟踪中看到的实际错误来自于您尝试将两个数组相乘时。
julia> a = [1,2,3]
3-element Array{Int64,1}:
1
2
3
julia> b = [2,3,4]
3-element Array{Int64,1}:
2
3
4
julia> a * b
ERROR: MethodError: no method matching *(::Array{Int64,1}, ::Array{Int64,1})
Closest candidates are:
将两个数组的内容相乘的正确方法是:
julia> a .* b
3-element Array{Int64,1}:
2
6
12
关于machine-learning - 我的简单 Julia-Flux 密集模型中出现奇怪且无信息的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59344708/
关闭。这个问题是not reproducible or was caused by typos .它目前不接受答案。 想改善这个问题吗?更新问题,使其成为 on-topic对于堆栈溢出。 5 个月前关
我正在尝试使用摄像机跟踪多个人。我不想使用 blob 分割技术。我想做什么: 执行背景减法以获得隔离人们运动的掩码。 在这些区域执行基于网格的光流 -我最好的选择是什么? 我正在努力实现。我已经尝试过
OpenCV 有 very good documentation on generating SIFT descriptors ,但这是“弱 SIFT”的一个版本,其中关键点由原始 Lowe algo
我有一个 cholmod_dense 数据结构: cholmod_dense* ex = cholmod_l_solve(CHOLMOD_A, L, B, &com); 我想提取这些值并将它们复制到另
这是先前发布的关于在 python 中使用 OpenCVs 密集筛选实现的问题的后续问题 (OpenCV-Python dense SIFT)。 使用建议的代码进行密集筛选 dense=cv2
我是计算机视觉的新手。我正在学习 Dense SIFT 和 HOG。对于密集 SIFT,算法只是将每个点视为一个有趣的点并计算其梯度向量。 HOG 是另一种用梯度向量描述图像的方法。 我认为 Dens
我正在尝试使用 openCV-python 2.4 计算密集 SIFT import cv2 def gen_sift_features(gray, step_size, gamma): de
我正在使用 OpenCV 实现词袋图像分类器。最初我测试了在 SURF 关键点中提取的 SURF 描述符。我听说 Dense SIFT(或 PHOW)描述符更适合我的目的,所以我也尝试了它们。 令我惊
我有一个密集的 Ax=b 类型的方程组要在我的 C++ 程序中求解,我希望在 boost 中使用 UBLAS 来实现该解决方案。在其他一些问题中,我发现人们正在使用扩展 LAPACK,但不幸的是,它似
我目前有一台配备 Opteron 275 (2.2Ghz)(双核 CPU)和 4GB RAM 以及速度非常快的硬盘的机器。我发现即使是使用 C++ 模板(想想 boost 等)编译一些简单的项目时,我
我是一名优秀的程序员,十分优秀!