# Minibatching with FFJORD

**URL:** https://discourse.julialang.org/t/minibatching-with-ffjord/92210
**Category:** Machine Learning
**Tags:** flux, optimization, diffeqflux
**Created:** [December 28, 2022, 5:41am UTC](https://discourse.julialang.org/t/minibatching-with-ffjord/92210 "2022-12-28T05:41:43Z")
**Posts on this page:** 2
**Page:** 1

<div class="post-metadata">

### Author: ![kaido975](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/kaido975/32/36862_2.png) [@kaido975](https://discourse.julialang.org/u/kaido975)
#### Post date: [December 28, 2022, 5:41am UTC](https://discourse.julialang.org/t/minibatching-with-ffjord/92210/1 "2022-12-28T05:41:43Z")

</div>

I am trying to implement the code given in [Continuous Normalizing Flows · DiffEqFlux.jl](https://docs.sciml.ai/DiffEqFlux/stable/examples/normalizing_flows/), with mini batching.

```julia
using Flux, DiffEqFlux, DifferentialEquations, Optimization, OptimizationFlux,
      OptimizationOptimJL, Distributions, Optimisers

using IterTools: ncycle
nn = Flux.Chain(
    Flux.Dense(1, 3, tanh),
    Flux.Dense(3, 1, tanh),
) |> f32

tspan = (0.0f0, 10.0f0)

ffjord_mdl = FFJORD(nn, tspan, Tsit5())

data_dist = Normal(6.0f0, 0.7f0)
train_data = Float32.(rand(data_dist, 1, 100))

function loss(p, batch)
    logpx, λ₁, λ₂ = ffjord_mdl(batch, p)
    -mean(logpx)
end

train_loader = Flux.Data.DataLoader(train_data, batchsize=10) 

adtype = Optimization.AutoZygote()
optfun = OptimizationFunction((x, p, batch) -> loss(x, batch), adtype)
optprob = Optimization.OptimizationProblem(optfun, ffjord_mdl.p)

res1 = Optimization.solve(optprob,
                          Optimisers.ADAM(0.1),
                          ncycle(train_loader, 10))

```

I am getting this error.

```julia
ERROR: MethodError: no method matching (::var"#112#113")(::Vector{Float32}, ::SciMLBase.NullParameters, ::Float32, ::Float32, ::Float32, ::Float32, ::Float32, ::Float32, ::Float32, ::Float32, ::Float32, ::Float32)
Closest candidates are:
  (::var"#112#113")(::Any, ::Any, ::Any)

```

What am I doing wrong here?  
Thank You

---

<div class="post-metadata">

### Author: ![ChrisRackauckas](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/chrisrackauckas/32/77_2.png) [@ChrisRackauckas](https://discourse.julialang.org/u/ChrisRackauckas)
#### Post date: [December 28, 2022, 1:35pm UTC](https://discourse.julialang.org/t/minibatching-with-ffjord/92210/2 "2022-12-28T13:35:50Z")

</div>

The following should work?

```julia
train_loader = Flux.Data.DataLoader((train_data,), batchsize=10) 

```
