Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Introductions and questions #180

Closed
dsyme opened this issue Mar 1, 2019 · 9 comments
Closed

Introductions and questions #180

dsyme opened this issue Mar 1, 2019 · 9 comments
Assignees

Comments

@dsyme
Copy link
Contributor

dsyme commented Mar 1, 2019

Hi @Oceania2018 et al.,

First, I'll introduce myself - I'm Don Syme, language designer for F# and lately I've been looking at AI model programming with .NET. @moloneymb is a deep learning expert and very experienced in F# and Python.

I'd like to open a discussion about possibly aligning TensorFlow.NET and our work on TensorFlow.FSharp

@moloneymb and myself have been really impressed by the work you and your team have been doing on TensorFlow.NET and SciSharp. You are taking a really interesting approach.

TensorFlow.FSharp is three things

  1. A TF API binding for F#, a lot like Scala-for-Tensorflow
  2. A prototype of "F# for AI Models", a higher level DSL for programming AI models with execution on TensorFlow, and eventually on other differentiable tensor fabrics such as DiffSharp (once it supports tensors) and TorchSharp.
  3. Some promising tooling for interactive shape checking of tensor-based AI models

We're wondering whether we could replace/align the first part of this by TensorFlow.NET. As part of this, we could also bring in a strong F# angle to the overall SciSharp projects - using C# is very positive but adding F# as well could bring the best of both worlds.

I'd love to discuss with you - find out more about your vision for SciSharp etc.

(Note I'm not talking about TensorFlowSharp - though we can also discuss with @migueldeicaza what alignment might look like there).

Best
Don

@Oceania2018
Copy link
Member

Oceania2018 commented Mar 1, 2019

Hi Don,
We're so excited SciSharp got your attention, Like the philosophy we insist on that

We really like the python machine learning ecology, but love more .NET efficient and elegant syntax.

Due to the incompleteness of the .NET machine learning ecosystem. We have to create a .NET based Machine Learning ecosystem which is making the most of existing python resources. My team and I work very hard for SciSharp, commit code, rafctor and optimize them alway on-going.

We have several main libraries to support our ML ecosystem.

1 NumSharp - The Tensor computation library.
2. TensorFlow.NET - The Google's TensorFlow C# binding (The most complete binding language besides python).
3. Plot.NET - The statistical data plotting library based on plotly.js.
4. ICSharpCore - The Jupyter kernels in .NET Standard 2.x.
5. BotSharp - The AI Chatbot Platform Builder in 100% C# Running in .NET Core.
6. Pandas.NET - Pandas port in C# (don't have too much resource to do it)

Definitly, It's honor for us to work closer with Microsoft's developemnt team. F# is easily call C# function, am I right? Sorry for that I am not very familiar with F#. @dsyme @moloneym

@dsyme
Copy link
Contributor Author

dsyme commented Mar 1, 2019

Hi @Oceania2018 ,

Just to mention that I'm initially coming at this mostly from an F# perspective - not speaking for all of Microsoft as such - though it would be great to broaden the discussion to include more Microsoft and .NET community people over time.

If you like, can you tell me a bit about your team, and what sort of usage scenarios you have in mind personally?

The pieces of SciSharp and the overall vision you outline above make a lot of sense.

F# is easily call C# function, am I right?

Yes, definitely, all the .NET components you re developing should be immediately usable from F#. The main issue in supporting F# tends to be documentation and samples. (Sometimes people add F#-specific APIs if they bring a lot of value)

@dsyme
Copy link
Contributor Author

dsyme commented Mar 1, 2019

Oh I meant to say, you can learn more about F# at http://fsharp.org . The community is very friendly!

@Oceania2018
Copy link
Member

@dsyme We're a tiny team which is consit of 2 architects, 2 members and other contributors. We want to build a .NET-based ML cloud service like AWS SageMaker.
Obviously this is a big project involving a lot of work, but I believe that many developers in the world who are crazy about .NET technology will join SciSharp STACK to help build this complete tool together.

@dsyme
Copy link
Contributor Author

dsyme commented Mar 1, 2019

@Oceania2018 Wow, that's very cool!

It's great that all the components are open source! Is the cloud service part of a company?

Putting aside the cloud angle, it would be great to bring on board other contributors to the SciStack components too!

@emrahsungu
Copy link
Member

That is great to see advices coming from designer and architect of the F# programming language!!

@Deep-Blue-2013
Copy link

It seems that not many people are paying attention to TensorFlow.FSharp. I think these two projects should be merged into a larger ecosystem, letting more .NET Developers know and use them. I want to know if TensorFlow.NET will be merged into ML.NET to speed up the development of ML.NET.

@windsOne
Copy link

windsOne commented Mar 5, 2019

@dsyme 他是Fsharp设计师 肯定希望你用Fsharp

@Oceania2018
Copy link
Member

Oceania2018 commented Jul 6, 2019

@dsyme @moloneymb Whooray! .NET Developers can build awesome tensorflow computation graph for neural network models now!
image

I'm so exicted and really want to share with you the recent progress of TF.NET. After several months of continuous improvement, TF.NET has been able to do more things. Developers can build graph for neural network models. We have added two examples of neural network models:

  1. Word CNN text classification.

image

  1. Netural Network for MNIST digitals recognition.

image

  1. Transfer Learning for image recognition
    Reusing the feature extraction capabilities from powerful image classifiers trained on ImageNet and simply train a new classification layer on top.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

6 participants