如何计算由神经网络和神经网络参数组成的损失函数的粗麻布矩阵?
\n例如,考虑下面的损失函数
\nusing Flux: Chain, Dense, \xcf\x83, crossentropy, params\nusing Zygote\nmodel = Chain(\n x -> reshape(x, :, size(x, 4)),\n Dense(2, 5),\n Dense(5, 1),\n x -> \xcf\x83.(x)\n)\nn_data = 5\ninput = randn(2, 1, 1, n_data)\ntarget = randn(1, n_data)\nloss = model -> crossentropy(model(input), target)\nRun Code Online (Sandbox Code Playgroud)\n我可以通过两种方式获得梯度wrt参数\xe2\x80\xa6
\nZygote.gradient(model -> loss(model), model)\nRun Code Online (Sandbox Code Playgroud)\n或者
\ngrad = Zygote.gradient(() -> loss(model), params(model))\ngrad[params(model)[1]]\nRun Code Online (Sandbox Code Playgroud)\n但是,我可以\xe2\x80\x99t找到一种方法来获取其参数的粗麻布。(我想做类似的事情Zygote.hessian(model -> loss(model), model),但Zygote.hessian不::Params作为输入)
最近,主分支中添加了jacobian一个函数(问题#910),它被理解为输入。::Params
我一直在尝试组合 …
有没有办法为自定义之间NavigationItem的过渡添加动画,AnyView如本文所述?
我喜欢这个NavigationStack系统的一切,除了不能添加任何动画过渡。
我理解这个问题有型擦除做some Views的AnyView,如在这个答案,这Group似乎是动画自定义视图导航一个更好的选择。
与其使用 AnyView 和类型擦除,我更喜欢将条件逻辑封装在 Group 视图中。然后您返回的类型是 Group,它将正确地设置动画。
我已经没有想法了,我需要一些帮助。
我将添加我的上下文代码。
场景委托:
class SceneDelegate: UIResponder, UIWindowSceneDelegate {
...
let contentView = ContentView().environmentObject(UserData())
...
}
Run Code Online (Sandbox Code Playgroud)
内容视图:
struct ContentView: View {
@EnvironmentObject var userData: UserData
var body: some View {
NavigationHost()
.environmentObject(NavigationStack(
NavigationItem(view: AnyView(
(userData.isSignedIn ? AnyView(HomeView()) : AnyView(RegisterView1(profile: Profile.default)) )
.transition(.move(edge: .trailing))
.animation(Animation.linear(duration: 1))))))
//this animation works for some reason, but only this one. …Run Code Online (Sandbox Code Playgroud)