# Using Julia Autodiff/GPU or tensorflow 2.0

**URL:** https://discourse.julialang.org/t/using-julia-autodiff-gpu-or-tensorflow-2-0/32919
**Category:** New to Julia
**Created:** [January 3, 2020, 1:28pm UTC](https://discourse.julialang.org/t/using-julia-autodiff-gpu-or-tensorflow-2-0/32919 "2020-01-03T13:28:13Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![congUoM](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/conguom/32/10413_2.png) [@congUoM](https://discourse.julialang.org/u/congUoM)
#### Post date: [January 3, 2020, 1:28pm UTC](https://discourse.julialang.org/t/using-julia-autodiff-gpu-or-tensorflow-2-0/32919/1 "2020-01-03T13:28:13Z")

</div>

Hi all, I am not new to Julia and I love Julia. Currently for my work project, I have a MATLAB framework and I have to decide on the programming language to use next. For a simple task in my project, I was trying tensorflow 2.0, which is much easier to use than tensorflow 1.0 and much easier to scale with GPUs.

My question is: could julia currently provide such things like tensorflow 2.0? is there anyone here who has been in the same situation like mine? I know that ForwardDiff.jl and CuArrays.jl should work, but how easy to use them, compared to tensorflow 2.0. I am just a bit nervous and worried if I use Julia.

My project mostly involves convolution, fast FFT, large matrix, auto diff, optimization (LBFGSB).

Thanks guys and hopefully I can decide to use Julia.

---

<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: [January 3, 2020, 1:32pm UTC](https://discourse.julialang.org/t/using-julia-autodiff-gpu-or-tensorflow-2-0/32919/2 "2020-01-03T13:32:39Z")

</div>

> [@congUoM](#):
>
> My project mostly involves convolution, fast FFT, large matrix, auto diff, optimization (LBFGSB).

those work fine with autodiff. What’s the issue?

---

<div class="post-metadata">

### Author: ![congUoM](https://sea2.discourse-cdn.com/julialang/user_avatar/discourse.julialang.org/conguom/32/10413_2.png) [@congUoM](https://discourse.julialang.org/u/congUoM)
#### Post date: [January 3, 2020, 1:53pm UTC](https://discourse.julialang.org/t/using-julia-autodiff-gpu-or-tensorflow-2-0/32919/3 "2020-01-03T13:53:19Z")

</div>

Thanks. I do not know the exact issues I may come up with. Maybe these questions:

1. Is using CuArrays with autodiff seamlessly? Like just replace the Float64 variables with CuArray variable?
2. Does involving some neural network stuff (like Flux.jl) work with CuArrays with no problem?

Thanks. Again, I may be just nervous with Julia in this domain, due to lack of experiences.

---

<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: [January 3, 2020, 1:54pm UTC](https://discourse.julialang.org/t/using-julia-autodiff-gpu-or-tensorflow-2-0/32919/4 "2020-01-03T13:54:59Z")

</div>

> [@congUoM](#):
>
> Is using CuArrays with autodiff seamlessly? Like just replace the Float64 variables with CuArray variable?

Well, just replace arrays with CuArrays and run autodiff on it, yup.

> [@congUoM](#):
>
> Does involving some neural network stuff (like Flux.jl) work with CuArrays with no problem?

Yup, I use CuArrays in neural networks in (stiff) differential equations with my own neural network architectures with implicit solvers daily, and the stuff works dandy. The simpler stuff is quite robust these days.
