I don't know what resources you have tried already so I'm probably going to
state the obvious.

You're probably looking for some language agnostic resources on the
subject, since having it be Go specific will narrow your search.

ML like any part of computer science can be described with algorithms, data
structures and a sprinkle of sorcery. Looking for implementations in Go
might help, but ultimately you're going to learn from theory, so books are
a good start.

My bet would be:
for { // ever
- Grab a couple of books, read the important bits of each one (textbooks
also have bloat)
- Look for easy algorithms and implement them
}

And don't use magical packages, when magic breaks only the sorcerer can
patch it up, and you'll be only learning to use the _package_ and not the
actual ML





On Mon, 28 Dec 2020, 00:29 Nikolay Dubina, <nikolay.dubina....@gmail.com>
wrote:

> Go does not have much traction in ML and for good reasons:
>
> * not a single one organization or company is backing Go ML projects
> * with exception couple papers, no research in neither computer vision,
> NLP, or RL is done in Go, no papers are implemented in Go. It is mostly
> Pytorch these days.
> * Go language does not support: multi-dimensional indexing; N-dimensional
> arrays; operator overloading; short lambda notation — all these are loved
> by data science and machine learning community since it makes life a lot
> easier for them, but not in Go
> * Go support for GPU is not good
> * Go compiler does not support optimizations like SIMD — so even CPU
> intense workloads are not as performant
> * Go calls to C can be made, but "cgo is not go" and benefits of Go
> deteriorate quickly with this approach — so a lot of ML code in C can not
> be really efficient with Go
> * Audio / Video / Image / Spatial data is not supported well in Go (just
> try to run OpenCV in Go, likely it will be either IPC or cgo...)
> * Many ML related libraries are supported by a single person or already
> deprecated or highly unstable or experimental
>
> Is there way forward?
>
> Writing experimentation, data visualization, data wrangling, modeling,
> training in Go is shooting yourself in the foot. I already tried this
> myself once for porting Julia code. I would not believe any single DS or ML
> person would use Go seriously for these purposes.
>
> However, there is a niche that Go may fit — tabular data (your backend
> data model) + inference. Which means, ML model is developed and *trained*
> in say Python/Julia/R but then ported to Go and loaded trained model
> artifacts. I recently wrote
> https://github.com/nikolaydubina/go-featureprocessing as a first step in
> that direction and more work will follow up.
>
> Here is what ML there is in Go at the moment:
>
> * https://github.com/josephmisiti/awesome-machine-learning#go
> * https://github.com/avelino/awesome-go#machine-learning
>
> On Monday, December 28, 2020 at 2:11:37 AM UTC+8 ren...@ix.netcom.com
> wrote:
>
>> I think you might be better off learning AI/ML using Python - to
>> understand the concepts - most tutorials use Python/Colab as well since it
>> is so easy.
>>
>> Once you understand the concepts you can use Go libraries
>> <https://pkg.go.dev/github.com/tensorflow/tensorflow/tensorflow/go> to
>> implement the concepts in Go.
>>
>> On Dec 27, 2020, at 11:55 AM, Philip Chapman <pcha...@pcsw.us> wrote:
>>
>> I am an experienced developer and fairly knowledgeable in Go, but new to
>> AI and machine learning. I'd like to expand my skillset in that direction.
>> I would be happy for and recommendations and advice on good material for
>> learning AI and machine learning with Go. Most of the material out there
>> seems to be based on python, but I rather prefer Go.
>>
>> --
>> You received this message because you are subscribed to the Google Groups
>> "golang-nuts" group.
>> To unsubscribe from this group and stop receiving emails from it, send an
>> email to golang-nuts...@googlegroups.com.
>> To view this discussion on the web visit
>> https://groups.google.com/d/msgid/golang-nuts/CABEejsiZMjpTgbZx_7aGRdEcReyHYuk1eNe1WHOdHOdv6jsXFA%40mail.gmail.com
>> <https://groups.google.com/d/msgid/golang-nuts/CABEejsiZMjpTgbZx_7aGRdEcReyHYuk1eNe1WHOdHOdv6jsXFA%40mail.gmail.com?utm_medium=email&utm_source=footer>
>> .
>>
>>
>> --
> You received this message because you are subscribed to the Google Groups
> "golang-nuts" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to golang-nuts+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/golang-nuts/f974314f-7458-4f64-9e94-fed3b850cc51n%40googlegroups.com
> <https://groups.google.com/d/msgid/golang-nuts/f974314f-7458-4f64-9e94-fed3b850cc51n%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/CAE%3DAWBX-dms9eyRZ06i1yoFnRAmBETbcQym58fK8v8BhfHFN1Q%40mail.gmail.com.

Reply via email to