Skip to main content

Blog

Learn About Our Meetup

5000+ Members

MEETUPS

LEARN, CONNECT, SHARE

Join our meetup, learn, connect, share, and get to know your Toronto AI community. 

JOB POSTINGS

INDEED POSTINGS

Browse through the latest deep learning, ai, machine learning postings from Indeed for the GTA.

CONTACT

CONNECT WITH US

Are you looking to sponsor space, be a speaker, or volunteer, feel free to give us a shout.

Author: torontoai

[D] What do people think of Vowpal Wabbit?

Has anybody here used it at work/for a project? If so, what for? What advantages does VW have over other frameworks (e.g. PyTorch or scikit-learn), and do those advantages justify the steeper learning curve?

VW’s speed and benchmarks look very attractive, but I’m not sure what tasks it would be the right tool for.

https://github.com/VowpalWabbit/vowpal_wabbit

submitted by /u/__gh
[link] [comments]

[D]My Machine Learning Journal #10: First time doing reinforcement learning and beating atari breakout with it

[D]My Machine Learning Journal #10: First time doing reinforcement learning and beating atari breakout with it

I have been inconsistent with my journal, but I am back and fresher than ever.

Vlog version as usual:

https://youtu.be/dcnGI6x-yk0

Today (and yesterday) I did & learned:

RL seems to have a lot of exploration going on vs some other ML tasks. One popular application it has is definitely beating videogames. The Mario AI was a viral hit in 2015. I decided to build a RL model that can beat atari breakout. This was soon classified as impossible given my current coding skills, so I chose to implement a medium article first that beat atari breakout. This article was great at linking the original Atari breakout RL paper with the code, but the full code was not posted, so I was stuck. Luckily, a user named boyuanf hit us up with the tensorflow implementation of the article on medium, here’s the forked version of it.

I downloaded the trained weights and model, and I ran it after installing openAI gym in conda with pip. Unfortunately, atari-py seems incompatible with windows 10, so I had to go through a very annoying process to finally come through with this easy line of code to solve the problem:

pip install --no-index -f https://github.com/Kojoley/atari-py/releases atari_py 

Yea it is just one of those problems man.

Anyways, I then was able to run gym and see the beautiful pre-trained model doing work, it got to a pretty good high score, I think 57 or something.

It is actually after I implemented the project that I come back to reading the papers, this works for me. I usually try to guess what the original algorithm does by doing a project first. For me, doing a project first then reading the paper also gives that revelation of: “oh, the reason that I have this line in the code is because of that sentence in the paper”.

The paper and this medium article helped my understanding a lot. This pseudocode in the paper opened the doors for me:

https://i.redd.it/6bpl6f203yr21.png

I’m going to try to explain this pseudocode with even English-er language. We will input the current frame and a few previous frames to our RL model. The RL model will interpret these inputs as the state, and it will either choose the action based on the Q-table or choose a random action. We can imagine that as the model gets more advanced, we will choose less random actions to let the model learn, but in the early stages, when the model has no idea what to do, we probably want to let it explore randomly, we will use a decreasing epsilon value to model this. The emulator will receive the action chosen by the RL model, run that action, then display the new image and return the reward. The Q-table will be updated based on this reward. The Q-table is just a table that has states mapping to potential actions. When the model is complex and epsilon is low, the RL model chooses actions based on the Q-table, a higher value (which means high rewards) in the state mapping to action will probably mean the model is choosing that.

That;s it for this one, I learned a lot since it was my first time exploring RL! Exciting, can’t wait to do more.

submitted by /u/RedditAcy
[link] [comments]

[D] Reproducibility in ML research and development

There has been a push to have more reproducible code that one submits to conferences like ICML, NeurIPS, etc given the call that was made for this at NeurIPS 2018 and from the wider ML community. And in general in working on projects that span several months and different developer and data science teams.

I’ve looked into tools like Pachyderm https://www.pachyderm.io/ and DVC https://dvc.org/ (I’ve found them to be a bit heavyweight in terms of setup, especially for some of my colleagues who come from more of a research and less of a software engineering background/experience)

Are there any other tools that you use to achieve this for your research and development? Would be great to mention pros and cons of each.

submitted by /u/harry_comp_16
[link] [comments]

[P] Framework for medical image segmentation with tools and models off-the-shelf

Hi all,

At my university, I am taking a grad course in which we’re select a deep learning project and work on it by the end of the course.I had previously developed a set of tools for my M.Sc project where I need to manipulate sets of medical images in different formats (DICOM, Niftii, Nrrd), pre-process them using SimpleITK and feed them into a deep learning pipeline.I figured I could execute that course project using those tools and put it up on github for everyone to use and for me to showcase my skills, as I will finish school very soon and that will give me some visibility for my upcoming job search.

The platform relies on visdom for visualization capabilities, I had implemented functions that allow you to visualize your network’s computation graph, the experiment options and hyperparameters, your loss and accuracy curves, the gradient flow graphs through your networks as well as histograms for weight distribution in your layers. The python classes offer different functions to easily extend functionality where you can sample images during training if you’re working with images and display them on the browser.

The repository comes with implementations of UNets and ResNets as well as many GAN loss functions such as Wasserstein GAN with gradient penalty. The same class can also be set in non-GAN mode so that it uses a simple cross-entropy loss function.

I had used this code to segment vertebrae from MRIs, reaching a 0.87 dice coefficient.

The code is generic enough to be used for tasks other than image segmentation if you wish to play around with it.

I hope this will be helpful to you.

Please find it in the link down below:

https://github.com/Roulbac/GanSeg

Here is an example of segmentation on unseen data:

https://i.ibb.co/0MS00s6/7-E4-BEE89-FF20-4446-B6-F0-894-BDBEE7-C97.jpg

submitted by /u/DifficultDifficulty
[link] [comments]

[D] Looking for TF implementation of “PAY LESS ATTENTION WITH LIGHTWEIGHT AND DYNAMIC CONVOLUTIONS”

Ref. https://openreview.net/pdf?id=SkVhlh09tX and https://github.com/pytorch/fairseq/blob/master/examples/pay_less_attention_paper/README.md.

Looking for a TF implementation of LightConv and/or DynamicConv (at least the layers, don’t need full model/repro)–is anyone aware of one?

Exists well-documented state in Fairseq’s repo (https://github.com/pytorch/fairseq/blob/master/fairseq/models/lightconv.py being the core). I could re-implement in TF, but there are clearly some tricks-of-the-trade which make it a little hairy, so would rather not if could avoid (see both pytorch and paper commentary: “Implementation. Existing CUDA primitives for convolutions did not perform very well to implement LightConv and we found the following solution faster on short sequences: We copy and expand the normalized weights… We then reshape and transpose the inputs … and perform a batch matrix multiplication to get the outputs. We expect a dedicated CUDA kernel to be much more efficient.”).

Plus, last I checked, depthwise conv support has been a little wacky in tf (cf. https://github.com/tensorflow/tensorflow/issues?utf8=%E2%9C%93&q=is%3Aissue+depthwise), although perhaps those have been cleaned up?

Thanks…

submitted by /u/farmingvillein
[link] [comments]

[D] State of the art optimizers

I wasn’t sure if there is a consensus on this. Of course, there is widespread use of SGD with momentum, Adam, RMSProp, Adagrad, Adadelta, and probably others — but is there an optimizer that is considered SOTA for DNNs “most of the time”? Or is it basically accepted that there is a collection of “good” optimizers whose efficacy varies depending on the task and architecture?

submitted by /u/doctorjuice
[link] [comments]

Developer at the AWS DeepRacer League Singapore race sets new world record lap time

The AWS DeepRacer League, the world’s first autonomous racing league open to developers of all skill levels held a race in Singapore this week (April 10-11). This was the third of twenty races on the worldwide Summit Circuit.  Following the first two races in Santa Clara, California and Paris, France, excitement was building to see what the Singapore developer community could deliver. And they sure delivered, with the Singapore Champion Juv Chan setting a new world record lap time of 9.090 seconds. In fact, the top seven lap times on the Singapore Summit leaderboard all beat the prior leaderboard top spot (which was 10.43 seconds from Chris Miller in the Santa Clara race). Nice work Singapore!

Juv Chan’s AWS DeepRacer experience started back in November 2018, “I heard about AWS DeepRacer when it was launched at re:Invent 2018 and thought that this is a very interesting way to learn RL,” he said. The moment the Singapore Summit doors opened, Juv was the first racer on the track, setting the pace with a 12.930 second lap using one of the AWS-provided sample reinforcement learning (RL) models.

Getting that hands-on experience at the tracks fueled Juv’s desire to learn more, so he headed to the AWS DeepRacer workshop to dive into how to build his own custom RL model. This marked the beginning of a 24-hour learning and racing extravaganza for him! “I work as an AI developer for my job, but this is my first time exposed to RL. It’s really engaging and addictive,” said Juv.

Juv went home that night determined. He wanted to learn all he could about how to optimize his model further, so he took the AWS DeepRacer: Driven by Reinforcement Learning online training, where he found more tips and tricks on how to climb the leaderboard. Next, Juv put his new knowledge to the test by tweaking hyperparameters and tuning his model, then he trained it for 12 hours to get race-ready.

The AWS DeepRacer Singapore Speedway

The competition was hot on the second day where the rubber really hit the road for Juv and his DeepRacer model. He was first on the track again and immediately took the top spot with a 10.88 second lap. But, he made no assumption that this was enough to win and headed back to his laptop to continue optimizing his model performance. He was soon knocked off as more developers came with their custom models, and lap times in the 9-10 second range were recorded. At one point in the race Juv dropped down to 10th place on the leaderboard. Juv shared the philosophy behind his approach, “Fail fast, learn from mistakes and keep trying.” With that in mind, he came back to race two more times to secure the win. And secure the win he did, with 10 minutes of race time left he threw caution to the wind with the throttle and was victorious with a winning lap time of 09.090 seconds. Congratulations Juv!

Juv won a trip to compete in the AWS DeepRacer League finals at re:Invent 2019 in Las Vegas. I wonder if his 9.090 lap will still be the world record holder then? Developers, this is the time to beat!

The Singapore Summit Winners Podium

Tshiamo Rakgowa, a robotics enthusiast was the first runner-up, with a lap time of 9.420. He was followed closely by Wang Teng Lee, a software engineer with a 9.590 lap (+ 0.17 seconds back).  Both of these gentlemen also tuned and raced their models multiples times, experimenting their way to top spots on the leaderboard. The similarities don’t end there. By coincidence it turns out that all three of the leading racers are connected to a town called Kepong in Malaysia. In fact, it’s Juv and Wang’s childhood home town (they live in Singapore now), and it’s where Tshiamo calls home right now. Congratulations to Tshiamo and Wang, it was a very close race! Don’t forget we still have 17 races to go with 4 in Asia, including Seoul on April 17, Tokyo and Taipei both on June 12, and Hong Kong on June 26.

The Singapore Summit Winners: Juv Chan (center) Singapore Summit Champion, Tshiamo Rakgowa (left) First Runner Up, Wang Teng Lee (right) Second Runner Up

One day, three countries, three live races – Amsterdam, Dubai, and Seoul on April 17

On April 17, the AWS DeepRacer League will hold three AWS Summit races, on three different continents, all on one day. The Summits offer the opportunity to get hands-on with AWS DeepRacer. There will be multiple workshops and hours of live racing. You can register to attend now, and follow the action live on the day at www.deepracerleague.com. Coming soon is the AWS DeepRacer Virtual League. Get your first model ready today by taking the digital training course for reinforcement learning and AWS DeepRacer.

Developers, start your engines! Your journey to becoming a machine learning developer begins with the AWS DeepRacer League.

 


About the Author

Sally Revell is a Principal Product Marketing Manager for AWS DeepLens. She loves to work on innovative products that have the potential to impact people’s lives in a positive way. In her spare time, she loves to do yoga, horseback riding and being outdoors in the beauty of the Pacific Northwest.

 

 

[D] Kaldi or not Kaldi?

Hi, I’m fairly familiar with audio processing and deep learning but not deeply experienced with speech/ASR/Kaldi. I might need to work on ASR for speech data analysis (e.g., topic modelling etc) as an application, not as research (it’s a company project). Should I Kaldi or not? I’m hesitating to say ‘yes’ to myself because my shallow impression is that it’d take me quite a while to learn how to use, but I’m not sure speech will be my very topic in the future.

FYI, if these are relevant, I don’t think we have lots of annotated dataset by ourselves, so I probably should rely on public datasets. At this moment there’s no demand for multiple languages.

submitted by /u/thisisareallife
[link] [comments]