Giter Club home page Giter Club logo

Comments (5)

oxinabox avatar oxinabox commented on June 11, 2024 1

idk.
TensorFlow.jl is still a very featureful binding for TensorFlow 1.0
I don't know how this compares to GenTF.
neither in goals nor capacity.

The goals of TensorFlow.jl was to train neural networks with a ideomatic julia API.
It was not intended to be a restricted or limitted API, and indeed when we were working on it it was the most feature complete client outside of Python (for a few months it could even do things python didn't, like overloaded getindex).
What is considered an idiomatic julia API has changed a little since this was created and being worked on.
e.g. julia used to do implict broadcasting like numpy and TensorFlow. And so TensorFlow.jl still allows that.
Meanwhile julia packages (like Flux) have come a long that are more flexible, ideomatic, and surprisingly actually comparatively performant.

from tensorflow.jl.

marcoct avatar marcoct commented on June 11, 2024

https://github.com/probcomp/GenTF is not intended to be a Julia wrapper for TensorFlow, but instead a plugin for Gen that lets you write differentiable pieces of generative models and inference models in TensorFlow. Specifically, GenTF enforces certain modeling disciplines (e.g. use of probabilistic loss functions that are computed by Gen itself) that TensorFlow does not. Also, GenTF wraps the Python TensorFlow API.

from tensorflow.jl.

oxinabox avatar oxinabox commented on June 11, 2024

TensorFlow.jl wraps mosytly libtensorflow (the C API).
But for some graph manipulation PyCall's the Python TensorFlow API (because those are not exposed in libtensorflow).
I suspect that GenTF needs similar graph manipulation so probably also needs to PyCall

from tensorflow.jl.

PallHaraldsson avatar PallHaraldsson commented on June 11, 2024

GenTF is not intended to be a Julia wrapper for TensorFlow

Right, I realized that. I was curious, why this package wasn't used at the time (maybe you didn't know of it). By now it's I guess a good choice, while either choice would (still) be valid.

Another choice might be to change it and use say Flux.

TensorFlow.jl is still a very featureful binding for TensorFlow 1.0

Yes, up to "1.13.1", not 1.5 or 2.5 and even 1.13.2, and 1.15.5, have some security issues fixed:

https://github.com/tensorflow/tensorflow/releases/tag/v1.13.2

https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-26271

Now I'm not really worried, in case I was just learning, still it seems warranted to learn TF using Python ecosystem directly, also for tutorial reasons, even if I want to end up using Julia.

from tensorflow.jl.

PallHaraldsson avatar PallHaraldsson commented on June 11, 2024

The goals of TensorFlow.jl was to train neural networks with a idiomatic julia API.

Does it have any advantage over using TF through PyCall, I mean other than being idiomatic? I really liked that, this was my favorite example of Julia API wrapper, since better than Google's official.

More important question is: is using TF through PyCall better than just using Flux (for reasons, besides pedagogical), and/or possibly something else in Julia ecosystem?

from tensorflow.jl.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.