[{"id":2438,"title":"How to Deal with Files in Google Colab: What You Need to Know","description":"How to supercharge your Google Colab experience by reading external files or data in Google Colab and writing from Google Colab to those external data sources.","tags":["article","google-colab","colab","file-system"],"details":"In this post we address practical issues when working with Google Colab notebooks. We focus on the data management topics, and how to work with some clouds providers and Kaggle.\r\n\r\n#### Data management\r\n\r\n* Directory and File operations in Google Colab\r\n* How to Upload files to, and Download files from Google Colab\r\n* Accessing Local File System to Google Colab\r\n* Accessing Google Drive from Google Colab\r\n* Accessing Google Sheets from Google Colab\r\n* Accessing MySQL databases from Google Colab\r\n\r\n\r\n\r\n#### Working with cloud and Kaggle\r\n\r\n* Accessing Google Cloud Storage (GCS) from Google Colab\r\n* Accessing AWS S3 from Google Colab\r\n* Accessing Kaggle datasets from Google Colab","links":[{"article_link":"https://neptune.ai/blog/google-colab-dealing-with-files?utm_source=madewithml&utm_medium=post&utm_campaign=blog-google-colab-dealing-with-files","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://neptune.ai/blog/google-colab-dealing-with-files?utm_source=madewithml&utm_medium=post&utm_campaign=blog-google-colab-dealing-with-files"}]},{"id":2437,"title":"Rasoee","description":"A powerful web and mobile application that identifies food dishes from a given input image, and provides an ingredient list along with relevant recipes.","tags":["api","article","code","dataset","paper","research","django","pytorch","food","computer-vision","web-app","cooking","mobile","demo","android","efficient-net","kotlin"],"details":"# Highlighted Features:\r\nRasoee takes an input image of a food dish and\r\n\r\n* Identifies the dish in the image\r\n* Provides the user with an ingredient list of the identified dish\r\n* Provides the user with relevant recipes of the identified dish\r\n\r\nRasoee also takes in a text input of a cuisine + description and \r\n\r\n* Recommends a dish based on the user's input\r\n\r\n# How it Works:\r\nRasoee can be divided into 4 main sections:\r\n\r\n# 1. Rasoee - Image Detection Model\r\n* The model was based primarily on the Efficient-Net B2 architecture\r\n* It was built using PyTorch on Tesla P100 GPUs\r\n* Efficient-Net B2 was specifically chosen as it gave us a good accuracy on our dataset [91.31%] and it was of a suitable size to run on edge devices like a smartphone\r\n* We trained the model using SGD with momentum and used a steady learning rate decay\r\n* Training Notebook available [here](https://github.com/DevChuriwala/Rasoee/blob/master/EfficientNetB2%20Training.ipynb)\r\n\r\n# 2. Rasoee - Dataset\r\n* The dataset consists of 308 different dishes from 6+ cuisines\r\n* There are 500 images in each class with slightly noisy data and some outliers too\r\n* All the images were processed to the same size [600 x 600] \r\n* Fixed split into train, test, and validation in a 8:1:1 ratio\r\n* The data was scraped using the Bing image API \r\n* Dataset available [here](https://www.kaggle.com/synysterjeet/food-classification)\r\n\r\n# 3. Rasoee - Android App\r\n* The Rasoee App uses the PyTorch Mobile API to execute ML models on the edge to reduce latency and preserve privacy\r\n* It uses the Model-view-viewmodel (MVVM) architecture, which separates the UI from the data\r\n* It uses a web-based API to find appropriate recipes and display up to 10 of them in the app\r\n* Being an edge-based model, it can identify the dish without being connected to the internet\r\n* App available [here](https://github.com/ameyalaad/Rasoee/releases/download/v1.0/rasoee.apk)\r\n\r\n# 4. Rasoee - Web App\r\n* The Rasoee Web App was made using Django and SQL\r\n* We used the Recipe Puppy API to retrieve the ingredients list and relevant recipes\r\n* The Web App uses Pytorch to load and deploy the model \r\n* Website - [Rasoee](http://rasoee.herokuapp.com/)\r\n\r\n\r\n# Rasoee's Development - About Us:\r\nWe are a group of friends studying together, and we all happen to be foodies. So this is a project quite close to our heart, or maybe stomach.\r\n\r\nSo, all of us had varying levels of familiarity with Machine Learning and PyTorch as well as knowledge in other fields, and so we divided the tasks among ourselves accordingly. One guy made the website, one guy made the app, the others looked for datasets and models that we could train to make this work. We wanted to be ambitious enough to make out own dataset despite there being Food-101 available online, so we went ahead with that and scraped to the best of our abilities to make a workable dataset. The cleaning of the dataset was quite a grueling task, followed by the question of which model to use. We tested a few small scale models as we wanted this to be deployable on mobile devices, and in the end got a good enough accuracy with one to go ahead. This was followed by the usual nitpicking in the looks of the website and the application along with the addition of auxiliary features like provision of recipe and list of ingredients.\r\n\r\nFinally we made something, that we are proud of, and hope it prevents many food lovers out there from racking their brains during identifying dishes, and use more of their time eating!\r\n\r\nCheers!","links":[{"article_link":"https://github.com/ameyalaad/Rasoee/releases/download/v1.0/rasoee.apk","code_link":"https://github.com/DevChuriwala/Rasoee","research_link":"https://github.com/DevChuriwala/Rasoee/blob/master/README.md","media_link":"https://youtu.be/wgwRnuQ0R7g","dataset_link":"https://www.kaggle.com/synysterjeet/food-classification","demo_link":"http://rasoee.herokuapp.com/","other_link":""}]},{"id":2436,"title":"Machine Learning Methods Explained (+ Examples)","description":"Most common techniques used in data science projects; get to know them through easy-to-understand examples and put them into practice in your own ML projects!","tags":["article","deep-learning","machine-learning","dimensionality-reduction","reinforcement-learning","unsupervised-learning","artificial-intelligence","neptune-ai","neptune"],"details":"We present, methods most commonly used in machine learning projects (with examples), categorized into three types of learning:\r\n\r\n#### Supervised Learning\r\n* Regression\r\n* Classification\r\n* Ensemble Learning\r\n\r\n\r\n\r\n---\r\n\r\n#### Unsupervised Learning\r\n* Clustering, \r\n* Dimensionality Reduction\r\n\r\n\r\n\r\n---\r\n\r\n#### Reinforcement Learning\r\n\r\n","links":[{"article_link":"https://neptune.ai/blog/machine-learning-methods?utm_source=madewithml&utm_medium=post&utm_campaign=blog-machine-learning-methods","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://neptune.ai/blog/machine-learning-methods?utm_source=madewithml&utm_medium=post&utm_campaign=blog-machine-learning-methods"}]},{"id":2435,"title":"Top \u201cApplied Data Science\u201d Papers from ECML-PKDD 2020","description":"Explore the innovative world of Machine Learning with these inspiring Applied Data Science papers from this year\u2019s ECML-PKDD 2020 Conference!","tags":["article","deep-learning","machine-learning","advertising","computer-hardware","healthcare","sports","transportation","anomaly-detection","data-science"],"details":"### ECML-PKDD 2020\r\n\r\nECML-PKDD is one of the premier conferences on Machine Learning in Europe. It showcases a large number of new ideas and inspiring developments in the ML field.\r\n\r\nWe bring you top research papers, which are divided into the following categories:\r\n\r\n* Sports \r\n* Hardware and manufacturing \r\n* Transportation \r\n* Anomaly detection \r\n* Advertisement \r\n* Web mining \r\n* Computational social science \r\n* E-commerce and finance \r\n* Social good\r\n\r\n","links":[{"article_link":"https://neptune.ai/blog/ecml-pkdd-2020-applied-data-science?utm_source=madewithml&utm_medium=post&utm_campaign=blog-ecml-pkdd-2020-applied-data-science","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://neptune.ai/blog/ecml-pkdd-2020-applied-data-science?utm_source=madewithml&utm_medium=post&utm_campaign=blog-ecml-pkdd-2020-applied-data-science"}]},{"id":2434,"title":"OpenMMLab Computer Vision","description":"MMCV is a python library for CV research and supports many research projects such as object detection, segmentation, pose estimation, action classification.\r\n\r\n","tags":["article","code","pytorch","library","3d","computer-vision","image-classification","image-generation","object-detection","pose-estimation","super-resolution","3d-object-detection","pretraining","segmentation","inpainting","action-recognition","model-zoo","matting"],"details":"MMCV is a foundational python library for computer vision research and supports many research projects as below:\r\n\r\n- [MMDetection](https://github.com/open-mmlab/mmdetection): Detection toolbox and benchmark\r\n- [MMDetection3D](https://github.com/open-mmlab/mmdetection3d): General 3D object detection toolbox and benchmark\r\n- [MMSegmentation](https://github.com/open-mmlab/mmsegmentation): Semantic segmentation toolbox and benchmark\r\n- [MMEditing](https://github.com/open-mmlab/mmediting): Image and video editing toolbox\r\n- [MMPose](https://github.com/open-mmlab/mmpose): Pose estimation toolbox and benchmark\r\n- [MMAction2](https://github.com/open-mmlab/mmaction2): Action understanding toolbox and benchmark\r\n- [MMClassification](https://github.com/open-mmlab/mmclassification): Image classification toolbox and benchmark\r\n\r\nIt provides the following functionalities.\r\n\r\n- Universal IO APIs\r\n- Image/Video processing\r\n- Image and annotation visualization\r\n- Useful utilities (progress bar, timer, ...)\r\n- PyTorch runner with hooking mechanism\r\n- Various CNN architectures\r\n- High-quality implementation of common CUDA ops","links":[{"article_link":"https://mmcv.readthedocs.io/en/latest/","code_link":"https://github.com/open-mmlab/mmcv","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://openmmlab.com/"}]},{"id":2433,"title":"Understanding the receptive field of deep convolutional networks","description":"An intuitive guide on why it is important to inspect the receptive field, as well as how the receptive field affect the design choices of deep convolutional net","tags":["article","tutorial","convolutional-neural-networks","deep-learning","machine-learning"],"details":"In this article, we will discuss multiple perspectives that involve the receptive field of a deep convolutional architecture. We will address the influence of the receptive field starting for the human visual system. As you will see, a lot of terminology of deep learning comes from neuroscience. As a short motivation, convolutions are awesome but it is not enough just to understand how it works. The idea of the receptive field will help you dive into the architecture that you are using or developing. If you are looking for an in-depth analysis to understand how you can calculate the receptive field of your model as well as the most effective ways to increase it, this article was made for you. In the end, fundamentals are to be mastered!","links":[{"article_link":"https://theaisummer.com/receptive-field/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://theaisummer.com/skip-connections/"}]},{"id":2432,"title":"Topic Modeling with BERT","description":"Leveraging \ud83e\udd17 Transformers and a class-based TF-IDF to create dense clusters allowing for easily interpretable topics. ","tags":["article","code","tutorial","huggingface","attention","bert","transformers","library","natural-language-processing","topic-modeling"],"details":"BERTopic is a topic modeling technique that leverages BERT embeddings and c-TF-IDF to create dense clusters allowing for easily interpretable topics whilst keeping important words in the topic descriptions.\r\n\r\nThe initial purpose of this project was to generalize Top2Vec such that it could be used with state-of-art pre-trained transformer models. However, this proved difficult due to the different natures of Doc2Vec and transformer models. Instead, I decided to come up with a different algorithm that could use BERT and \ud83e\udd17 transformers embeddings. The results is BERTopic, an algorithm for generating topics using state-of-the-art embeddings.\r\n\r\n","links":[{"article_link":"https://towardsdatascience.com/topic-modeling-with-bert-779f7db187e6","code_link":"https://github.com/MaartenGr/BERTopic","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2431,"title":"A Survey of the State of Explainable AI for NLP","description":"Overview of the operations and explainability techniques currently available for generating explanations for NLP model predictions.","tags":["paper","research","interpretability","natural-language-processing","explainability","survey","xai","arxiv:2010.00711"],"details":"Recent years have seen important advances in the quality of state-of-the-art models, but this has come at the expense of models becoming less interpretable. This survey presents an overview of the current state of Explainable AI (XAI), considered within the domain of Natural Language Processing (NLP). We discuss the main categorization of explanations, as well as the various ways explanations can be arrived at and visualized. We detail the operations and explainability techniques currently available for generating explanations for NLP model predictions, to serve as a resource for model developers in the community. Finally, we point out the current gaps and encourage directions for future work in this important research area.","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2010.00711","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2430,"title":"Transection: Transformers for English to Chinese Translation \u57fa\u4e8et","description":"Tutorials on how to fine-tune a BART based transformer for English to Chinese translation.","tags":["code","tutorial","transformers","library","machine-translation","natural-language-processing","demo"],"details":"Transection: Transformers for English to Chinese Translation (\u57fa\u4e8etransformers\u4ece\u82f1\u6587\u5230\u4e2d\u6587\u7684\u7ffb\u8bd1\u5668).\r\n\r\n**Next steps**:\r\n\r\n* Train a sequence-to-sequence BART-base on the dataset from scratch rather than fine-tune from its checkpoint.\r\n* Fine-tune starting from MarianMT checkpoints.\r\n* Expand the dataset from various domains (i.e, makes it more general overall).\r\n* Train on smaller sequence to sequence transformers?","links":[{"article_link":"","code_link":"https://github.com/wangcongcong123/transection","research_link":"","media_link":"","dataset_link":"","demo_link":"https://github.com/wangcongcong123/transection/blob/main/demo.py","other_link":""}]},{"id":2429,"title":"Meta-learning for Few-shot Natural Language Processing: A Survey","description":"Clear definitions, progress summary and some common datasets of applying meta-learning to few-shot NLP.","tags":["paper","research","few-shot-learning","meta-learning","natural-language-processing","survey","arxiv:2007.09604"],"details":"Few-shot natural language processing (NLP) refers to NLP tasks that are accompanied with merely a handful of labeled examples. This is a real-world challenge that an AI system must learn to handle. Usually we rely on collecting more auxiliary information or developing a more efficient learning algorithm. However, the general gradient-based optimization in high capacity models, if training from scratch, requires many parameter-updating steps over a large number of labeled examples to perform well (Snell et al., 2017). If the target task itself cannot provide more information, how about collecting more tasks equipped with rich annotations to help the model learning? The goal of meta-learning is to train a model on a variety of tasks with rich annotations, such that it can solve a new task using only a few labeled samples. The key idea is to train the model's initial parameters such that the model has maximal performance on a new task after the parameters have been updated through zero or a couple of gradient steps. There are already some surveys for meta-learning, such as (Vilalta and Drissi, 2002; Vanschoren, 2018; Hospedales et al., 2020). Nevertheless, this paper focuses on NLP domain, especially few-shot applications. We try to provide clearer definitions, progress summary and some common datasets of applying meta-learning to few-shot NLP.","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2007.09604","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2428,"title":"Efficient Transformers: A Survey","description":"Characterizes a large and thoughtful selection of recent efficiency-flavored \"X-former\" models.","tags":["paper","research","transformers","natural-language-processing","survey","arxiv:2009.06732"],"details":"Transformer model architectures have garnered immense interest lately due to their effectiveness across a range of domains like language, vision and reinforcement learning. In the field of natural language processing for example, Transformers have become an indispensable staple in the modern deep learning stack. Recently, a dizzying number of \"X-former\" models have been proposed - Reformer, Linformer, Performer, Longformer, to name a few - which improve upon the original Transformer architecture, many of which make improvements around computational and memory efficiency. With the aim of helping the avid researcher navigate this flurry, this paper characterizes a large and thoughtful selection of recent efficiency-flavored \"X-former\" models, providing an organized and comprehensive overview of existing work and models across multiple domains.\r\n\r\n","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2009.06732","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2427,"title":"Knowledge Transfer in Self Supervised Learning","description":"A general framework to transfer knowledge from deep self-supervised models to shallow task-specific models.","tags":["article","tutorial","knowledge-distillation","model-compression","self-supervised-learning"],"details":"Self Supervised Learning is an interesting research area where the goal is to learn rich representations from unlabeled data without any human annotation. This can be achieved by creatively formulating a problem such that you use parts of the data itself as labels and try to predict that. Such formulations are called pretext tasks.\r\n\r\nBy pre-training on the pretext task, the hope is that the model will learn useful representations. Then, we can finetune the model to downstream tasks such as image classification, object detection, and semantic segmentation with only a small set of labeled training data.\r\n\r\nThis blog post summarizes the findings in the paper \" \u201cBoosting Self-Supervised Learning via Knowledge Transfer\u201d.","links":[{"article_link":"https://amitness.com/knowledge-transfer/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2426,"title":"Free (0$) deep learning hardware?","description":"You don't have money but want to start learning deep learning? Take a look at this video for some tips!","tags":["tutorial","deep-learning","hardware","gpu","cloud","deep-learning-pc"],"details":"From Google Colab and Kaggle's P100s GPU all the way to whether you should build your personal deep learning rig.","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://youtu.be/rcIrIhNAe_c","dataset_link":"","demo_link":"","other_link":""}]},{"id":2425,"title":"From Python to Julia & Learning by Doing","description":"A Case Study with an Opinion Dynamics Model Simulation.","tags":["article","tutorial","julia","simulation"],"details":"Rather than a full-on tutorial of how Julia works, what you will mostly find in this post is a documentation\u2014frankly, commentation\u2014mostly for myself of why and how I wrote the code I did, from the perspective of someone coming from Python.","links":[{"article_link":"https://unchitta.com/blog/2020/10/deffuant-weisbuch-julia/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2424,"title":"Principles and Practice of Explainable Machine Learning","description":"A survey to help industry practitioners understand the field of explainable machine learning better and apply the right tools.","tags":["paper","research","interpretability","explainability","survey","arxiv:2009.11698"],"details":"Here, we have undertaken a survey to help industry practitioners (but also data scientists more broadly) understand the field of explainable machine learning better and apply the right tools. Our latter sections build a narrative around a putative data scientist, and discuss how she might go about explaining her models by asking the right questions.\r\n\r\n","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2009.11698","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2423,"title":"Imaginaire","description":"NVIDIA PyTorch GAN library with distributed and mixed precision support.","tags":["code","video","pytorch","generative-adversarial-networks","library","computer-vision","image-to-image-translation","nvidia","mixed-precision","imaginaire","model-zoo"],"details":"Imaginaire is a pytorch library that contains optimized implementation of several image and video synthesis methods developed at NVIDIA.\r\n\r\n\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/NVlabs/imaginaire","research_link":"","media_link":"https://www.youtube.com/watch?v=jgTX5OnAsYQ&feature=youtu.be","dataset_link":"","demo_link":"","other_link":"http://imaginaire.cc/"}]},{"id":2422,"title":"Pattern-Exploiting Training (PET)","description":"This repository contains the code for \"Exploiting Cloze Questions for Few-Shot Text Classification and Natural Language Inference\"","tags":["code","paper","research","few-shot-learning","natural-language-processing","text-classification","cloze-questions","arxiv:2001.07676"],"details":"This repository contains the code for [Exploiting Cloze Questions for Few-Shot Text Classification and Natural Language Inference](https://arxiv.org/abs/2001.07676) and [It's Not Just Size That Matters: Small Language Models Are Also Few-Shot Learners](https://arxiv.org/abs/2009.07118). The papers introduce pattern-exploiting training (PET), a semi-supervised training procedure that reformulates input examples as cloze-style phrases. In low-resource settings, PET and iPET significantly outperform regular supervised training, various semi-supervised baselines and even GPT-3 despite requiring 99.9% less parameters. The iterative variant of PET (iPET) trains multiple generations of models and can even be used without any training data.\r\n\r\n* \ud83d\udd27 Setup\r\n* \ud83d\udcac CLI Usage\r\n* \ud83d\udcbb API Usage\r\n* \ud83d\udc36 Train your own PET\r\n* \ud83d\udcd5 Citation\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/timoschick/pet","research_link":"https://arxiv.org/abs/2001.07676","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2421,"title":"Q-Aid","description":"A comprehensive healthcare conversational agent powered by Visual QA and segmentation models.","tags":["api","article","code","dataset","paper","research","aws","fastapi","pytorch","react","health","computer-vision","medical-imaging","natural-language-processing","question-answering","segmentation","conversational-ai","visual-question-answering","mobile","xai"],"details":"#### Features\r\n\r\n- \ud83d\udd25 Collection of healthcare AI models under [core](https://github.com/medtorch/Q-Aid-Core/tree/master/core), created using PyTorch.\r\n- \ud83d\udd11 Served using [FastAPI](https://fastapi.tiangolo.com/).\r\n- \ud83c\udf00 Full deployment scripts for AWS.\r\n- \u26a1\ufe0f Compatible React-Native app under [app](https://github.com/medtorch/Q-Aid-App) folder.\r\n\r\n#### Additional resources\r\n\r\n* Read more about the models [here](https://github.com/medtorch/Q-Aid-Models).\r\n* Read more about the app [here](https://github.com/medtorch/Q-Aid-App).\r\n* Read more about the server setup [here](https://github.com/medtorch/Q-Aid-Core/blob/master/core/README.md).\r\n* Seet the [AWS README](aws_backend/README.md).\r\n\r\n#### What it does\r\nQ&AId solves this problem by:\r\n\r\n* providing the user answers to questions on clinical data,\r\n* providing the hospital with a transcript of what the patient needs, reducing the waiting time, and unloading the hospital triage.\r\n\r\n\r\n\r\n\r\n\r\n#### How we built it\r\nThere are three sections of the app that are worth mentioning:\r\n\r\n**Q-Aid-App**\r\n\r\n* Created using React-Native.\r\n* Authentication and database support by AWS Amplify.\r\n* Awesome chat created using GiftedChat.\r\n* Backed by the PyTorch core algorithms and models.\r\n\r\n**Q-Aid-Core**\r\n\r\n* Server built with FastAPI\r\n* DockerHub deployment as a docker image.\r\n* script that partially builds the following diagram:\r\n\r\n","links":[{"article_link":"https://github.com/medtorch/Q-Aid-Motivation","code_link":"https://github.com/medtorch/Q-Aid-Core","research_link":"","media_link":"","dataset_link":"https://github.com/medtorch/Q-Aid-Models","demo_link":"","other_link":"https://github.com/medtorch/Q-Aid-App"}]},{"id":2420,"title":"DVC Basics","description":"This tutorial is for total beginners to get started using DVC and Git to version data, models, and more. ","tags":["tutorial","video","git","dvc","versioning"],"details":"This tutorial is for total beginners to get started using DVC and Git to version data, models, and more. If you're completely new to DVC and want a gentle walkthrough of the basic features, this is for you!","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/playlist?list=PL7WG7YrwYcnDb0qdPl9-KEStsL-3oaEjg","dataset_link":"","demo_link":"","other_link":""}]},{"id":2419,"title":"GANs in Computer Vision Free Ebook / Article-series","description":"This free ebook/article-series follows the chronological order of 20 peer-reviewed highly-cited papers as they presented in a series of 6 articles.","tags":["article","code","paper","research","tutorial","generative-adversarial-networks","computer-vision","image-generation","demo"],"details":"This free ebook/article-series follows the chronological order of 20 peer-reviewed highly-cited papers as they presented in a series of 6 articles.","links":[{"article_link":"https://theaisummer.com/gan-computer-vision/","code_link":"https://github.com/The-AI-Summer/GANs-in-Computer-Vision","research_link":"https://theaisummer.com/gan-computer-vision-object-generation/","media_link":"","dataset_link":"","demo_link":"https://theaisummer.com/gan-computer-vision-video-synthesis/","other_link":"https://theaisummer.com/gan-computer-vision-semantic-synthesis/"}]},{"id":2418,"title":"Top Research Papers from the ECML-PKDD 2020 Conference","description":"ECML-PKDD -> selectionof the best reaesch papers","tags":["article","research","deep-learning","machine-learning","reinforcement-learning","data-science"],"details":"### ECML-PKDD 2020\r\n\r\n**The European Conference on Machine Learning and Principles and Practice of Knowledge Discovery in Databases** [ECML-PKDD] is one of the most recognized academic conferences on Machine Learning in Europe.\r\n\r\nECML-PKDD brings a large number of new ideas and inspiring developments in the ML field.\r\n\r\nWe bring you top research papers, which are divided into the following categories:\r\n\r\n* Reinforcement learning \r\n* Clustering \r\n* Architecture of neural networks \r\n* Transfer and multi-task learning \r\n* Federated learning and clustering \r\n* Network modeling \r\n* Graph neural networks \r\n* NLP \r\n* Time series and recurrent neural networks \r\n* Dimensionality reduction and auto-encoders \r\n* Large-scale optimization and differential privacy \r\n* Adversarial learning \r\n* Theory for deep learning \r\n* Computer vision / image processing \r\n* Optimization for deep learning","links":[{"article_link":"https://neptune.ai/blog/ecml-pkdd-2020-research?utm_source=madewithml&utm_medium=post&utm_campaign=blog-ecml-pkdd-2020-research","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://neptune.ai/blog/ecml-pkdd-2020-research?utm_source=madewithml&utm_medium=post&utm_campaign=blog-ecml-pkdd-2020-research"}]},{"id":2417,"title":"Parallelizing Prophet Cross-Validation with Dask","description":"Applied Example w/ Code","tags":["article","code","dataset","notebook","tutorial","python","forecasting","time-series","time-series-forecasting","prophet","hyperparameter-optimization","dask","cross-validation","nyc-taxi"],"details":"- Forecast Average Ride Distance by Day for New York City Yellow Cabs\r\n- Cross-Validate that Model in Parallel with Dask\r\n- Use Parallelized CV to Accelerate Prophet Hyperparameter Optimization","links":[{"article_link":"https://medium.com/dropout-analytics/cross-validating-prophet-at-scale-72b1a21b6433?source=friends_link&sk=e7b1201491dd528dfa3ad3b9a324518c","code_link":"https://github.com/gumdropsteve/intro_to_prophet/blob/master/prophet_with_dask.ipynb","research_link":"","media_link":"","dataset_link":"https://github.com/gumdropsteve/datasets/blob/master/yellow_cab_ymd_averages.csv","demo_link":"","other_link":""}]},{"id":2416,"title":"RecSys 2020 - Takeaways and Notable Papers","description":"Some observations and notes on papers I enjoyed from this year's RecSys 2020.","tags":["article","recommendation-systems","recsys","recsys-2020"],"details":"[RecSys 2020](https://recsys.acm.org/recsys20/) ran from 22nd - 26th September. It was a great opportunity to peek into some of the latest thinking about recommender systems from academia and industry. Here are some observations and notes on papers I enjoyed.\r\n\r\n**Some takeaways**:\r\n\r\n* Emphasis on ethics & bias\r\n* Offline evaluation is tricky\r\n* Dot product > learned similarities\r\n* Many examples of real-world recsys","links":[{"article_link":"https://eugeneyan.com/writing/recsys2020/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2415,"title":"Explainable ML Monitoring","description":"The video covers an overview of some of the risks of AI, the need for explainable monitoring, and what exactly we mean when we talk about it.","tags":["video","interpretability","monitoring"],"details":"This video introduces Explainable ML Monitoring, which extends traditional monitoring to provide deep model insights with actionable steps. With monitoring, users can understand the problem drivers, root cause issues, and analyze the model to prevent a repeat, saving considerable time and increasing trust in AI in production. ","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=1VGZdpipKpA","dataset_link":"","demo_link":"","other_link":"https://fiddler.ai"}]},{"id":2414,"title":"GenForce Lib for Generative Modeling","description":"GenForce: an efficient PyTorch library for deep generative modeling (StyleGANv1v2, PGGAN, etc).","tags":["code","pytorch","library","generative-modeling","genforce"],"details":"An efficient PyTorch library for deep generative modeling. May the Generative Force (GenForce) be with You.\r\n\r\n### Highlights\r\n\r\n- **Distributed** training framework.\r\n- **Fast** training speed.\r\n- **Modular** design for prototyping new models.\r\n- **Highly** reproducing the training of StyleGAN compared to [the official TensorFlow version](https://github.com/NVlabs/stylegan).\r\n- **Model zoo** containing a rich set of pretrained GAN models, with [Colab live demo](https://colab.research.google.com/drive/1ytdR30L7uXLaG_4Iph331o70wZWA-bkd?usp=sharing) to play.\r\n\r\nWe will also support following functions *in the very near future*. Please **STAY TUNED**.\r\n\r\n- Training of PGGAN and StyleGAN2 (and likely BigGAN too).\r\n- Benchmark on model training.\r\n- Training of GAN encoder from [In-Domain GAN Inversion](https://genforce.github.io/idinvert).\r\n- Other recent work from our [GenForce](http://genforce.github.io/).\r\n\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/genforce/genforce","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://genforce.github.io/"}]},{"id":2413,"title":"Keeping Data Pipelines healthy w/ Great Expectations GH Actions","description":"We show you how you can use GitHub Actions together with the open source project Great Expectations to automatically test, document, and profile data pipelines.","tags":["article","video","unit-tests","testing","data-pipelines","github-actions","great-expectations","data-quality"],"details":"In this post, we show you how you can use GitHub Actions together with the open source project [Great Expectations](https://greatexpectations.io/) to automatically test, document, and profile your data pipelines as part of your traditional CI workflows. Checking data in this way can help data teams save time and promote analytic integrity of their data. We\u2019ll also show how to generate dashboards that give you insight into data problems as part of your CI process. Below is a demonstration of this at work, triggered by a change to a SQL query in a pull request that causes a data integrity issue:","links":[{"article_link":"https://github.blog/2020-10-01-keeping-your-data-pipelines-healthy-with-the-great-expectations-github-action/","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=V2TgkoExzvA","dataset_link":"","demo_link":"","other_link":""}]},{"id":2412,"title":"Introduction to 3D Medical Imaging: Preprocessing & Augmentations","description":"Learn how to apply 3D transformations for medical image preprocessing and augmentation, to setup your awesome deep learning pipeline.","tags":["article","code","notebook","tutorial","deep-learning","machine-learning","health","computer-vision","data-augmentation","medical-imaging","preprocessing","demo"],"details":"**Contents**\r\n\r\n1. 2D planes visualization\r\n1. Medical image resizing (down/up-sampling)\r\n2. Medical image rescaling (zoom- in/out)\r\n3. 3D Medical image rotation\r\n4. 3D medical image flip\r\n5. Medical image shifting (displacement)\r\n6. Random 3D crop\r\n7. Clip intensity values (outliers)\r\n8. Intensity normalization in medical images\r\n8. Elastic deformation\r\n","links":[{"article_link":"https://theaisummer.com/medical-image-processing/","code_link":"https://colab.research.google.com/drive/1fyU_YaZUO3B5qVzBJwGoYZ6XVvVLog30","research_link":"","media_link":"","dataset_link":"","demo_link":"https://theaisummer.com/medical-image-deep-learning/","other_link":"https://theaisummer.com/medical-image-coordinates/"}]},{"id":2411,"title":"How to Make Sense of the Reinforcement Learning Agents?","description":"What and Why I Log During Training and Debug?","tags":["article","tutorial","deep-learning","machine-learning","reinforcement-learning","neptune-ai","neptune"],"details":"We discuss **what** and **why** to log during reinforcement learning experimentation. We focus on two questions:\r\n\r\n* **How to make sense of the reinforcement learning agents?**\r\n* **What and why to log during training and debug?**\r\n\r\n\r\n\r\nWe dive deep into few categories to explain why to log particular metric:\r\n\r\n#### how is the agent doing?\r\n* Episode return\r\n* Episode length\r\n* Solve rate\r\n\r\n#### progress of training\r\n* Total environment steps\r\n* Training steps\r\n* Wall time\r\n* Steps per second\r\n\r\n#### what is the agent thinking/doing?\r\n* State/Action value function\r\n* Policy entropy\r\n\r\n#### how the training goes?\r\n* KL divergence\r\n* Network weights/gradients/activations histograms\r\n* Policy/Value/Quality/\u2026 heads losses\r\n\r\n#### Aggregated statistics\r\n* Average and standard deviation\r\n* Minimum/Maximum value\r\n* Median\r\n\r\n\r\n","links":[{"article_link":"https://neptune.ai/blog/how-to-make-sense-of-the-reinforcement-learning-agents-what-and-why-i-log-during-training-and-debug?utm_source=madewithml&utm_medium=post&utm_campaign=blog-how-to-make-sense-of-the-reinforcement-learning-agents-what-and-why-i-log-during-training-and-debug","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://neptune.ai/blog/how-to-make-sense-of-the-reinforcement-learning-agents-what-and-why-i-log-during-training-and-debug?utm_source=madewithml&utm_medium=post&utm_campaign=blog-how-to-make-sense-of-the-reinforcement-learning-agents-what-and-why-i-log-during-training-and-debug"}]},{"id":2410,"title":"Serving PyTorch models in production with the Amazon SageMaker","description":"TorchServe is now natively supported in Amazon SageMaker as the default model server for PyTorch inference. ","tags":["article","tutorial","aws","pytorch","production","sagemaker","torchserve","serving"],"details":"You can use TorchServe natively with Amazon SageMaker through the following steps:\r\n\r\n* Create a model in Amazon SageMaker. \r\n* Create an endpoint configuration for an HTTPS endpoint. \r\n* Create an HTTPS endpoint. ","links":[{"article_link":"https://aws.amazon.com/blogs/machine-learning/serving-pytorch-models-in-production-with-the-amazon-sagemaker-native-torchserve-integration/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2409,"title":"Deploying Python FastAPI on Azure App Service","description":"A detailed walk through on how to deploy FastAPI on Azure App Service. This includes detailed article and a video demonstration","tags":["article","code","research","tutorial","video","azure","fastapi","python","architecture","devops","demo","ci-cd"],"details":"* Architectural Overview of Deploying FastAPI on Azure App Service\r\n* Create & Configure Azure Database for PostgreSQL server\r\n\t* Create PostgreSQL server on Azure\r\n\t* Configure Azure database for PostgreSQL server\r\n\t* Connect to Azure PostgreSQL Database server from pgAdmin\r\n* Create & Configure Azure App Service (Linux)\r\n\t* Create Azure App Service\r\n\t* Configure Azure App Service\r\n* Configure to Deploy FastAPI on Azure App Service from GitHub\r\n* [Video Tutorial](https://bit.ly/2HA6SUj)","links":[{"article_link":"https://www.tutlinks.com/deploy-fastapi-on-azure/","code_link":"https://github.com/windson/fastapi/tree/fastapi-postgresql-azure-deploy","research_link":"","media_link":"https://www.youtube.com/watch?v=oLdEI3zUcFg","dataset_link":"","demo_link":"","other_link":"www.tutlinks.com"}]},{"id":2408,"title":"Revelations of Gradients and Hessians.","description":"This blog post explores some of the insights gained from looking at gradients and Hessian matrices of the objective functions/loss functions. ","tags":["article","deep-learning"],"details":"1. This blog post aims at explaining Chapter 4 of the Deep learning textbook by Ian Goodfellow et.al in detail, and contains proofs for some theorems which were stated in the chapter.\r\n2. Contains plots which help in understanding the material through visual aid.","links":[{"article_link":"https://abhimanyu08.github.io/blog/deep-learning/mathematics/2020/07/20/final.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2406,"title":"Audio signal analysis and Feature extraction","description":"Extract features from audio signal as a part of Speech recognition task","tags":["code","research","tutorial","library","audio","feature-engineering","speech","speech-recognition","melspectrum","mfcc"],"details":"**Audio signal analysis and Feature extraction**\r\n\r\nMain aim of the project is to understand audio signals and extract features from the signals. Audio signals are periodic signal, hence, we can break the signal at constant time-steps and extract features. These features at constant time steps are given as input to Deep learning models for Speech Recognition task. \r\n\r\n\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/savitha91/AudioSignal_FeatureExtraction","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2405,"title":"Scientific Computing in Python: Introduction to NumPy& Matplotlib","description":"Blog article with the embedded \u201cnarrated content\u201d for NumPy and Matplotlib notes.","tags":["article","code","tutorial","matplotlib","numpy"],"details":"* **4.1: NumPy Basics**\r\n\t* NumPy \u2013 Working with Numerical Arrays\r\n\t* Introduction to NumPy\r\n\t* Motivation: NumPy is fast!\r\n\t* N-dimensional Arrays\r\n* **4.2: NumPy Array Construction and Indexing**\r\n\t* Array Construction Routines\r\n\t* Array Indexing\r\n* **4.3: NumPy Array Math and Universal Functions**\r\n\t* Array Math and Universal Functions\r\n* **4.4: NumPy Broadcasting**\r\n\t* Broadcasting\r\n* **4.5: NumPy Advanced Indexing \u2013 Memory Views and Copies**\r\n\t* Advanced Indexing \u2013 Memory Views and Copies\r\n\t* Fancy Indexing\r\n\t* Boolean Masks for Indexing\r\n* **4.6: Random Number Generators**\r\n\t* Random Number Generators\r\n* **4.7: Reshaping NumPy Arrays**\r\n\t* Reshaping Arrays\r\n* **4.8: NumPy Comparison Operators and Masks**\r\n\t* Comparison Operators and Masks\r\n* **4.9: Linear Algebra with NumPy**\r\n\t* Linear Algebra with NumPy Arrays\r\n\t* SciPy\r\n* **4.10: Matplotlib**\r\n\t* What is Matplotlib?\r\n\t* Plotting Functions and Lines\r\n\t* Scatter Plots\r\n\t* Bar Plots\r\n\t* Histograms\r\n\t* Subplots\r\n\t* Colors and Markers\r\n\t* Saving Plots\r\n\t* Resources\r\n\r\n","links":[{"article_link":"https://sebastianraschka.com/blog/2020/numpy-intro.html","code_link":"https://github.com/rasbt/numpy-intro-blogarticle-2020","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2404,"title":"12 Factors of Reproducible Machine Learning in Production","description":"We took our experience to deduce 12 factors (as a nod to the 12 factor app) that build the backbone of successful ML in production.","tags":["article","code","machine-learning","production","reproducability"],"details":"We\u2019ve faced all of these issues, and more, and now took our experience to deduce 12 factors (as a nod to the [12 factor app](https://12factor.net/)) that build the backbone of successful ML in production.\r\n\r\n* Versioning\r\n\t* You need to version your code, and you need to version your data.\r\n* Explicit feature dependencies\r\n\t* Make your feature dependencies explicit in your code.\r\n* Descriptive training and preprocessing\r\n\t* Write readable code and separate code from configuration.\r\n* Reproducibility of trainings\r\n\t* Use pipelines and automation.\r\n* Testing\r\n\t* Test your code, test your models.\r\n* Drift / Continuous training\r\n\t* If you data can change run a continuous training pipeline.\r\n* Tracking of results\r\n\t* Track results via automation.\r\n* Experimentation vs Production models\r\n\t* Notebooks are not production-ready, so experiment in pipelines early on.\r\n* Training-Serving-Skew\r\n\t* Correctly embed preprocessing to serving, and make sure you understand up- and downstream of your data.\r\n* Comparability\r\n\t* Build your pipelines so you can easily compare training results across pipelines.\r\n* Monitoring\r\n\t* Again: you build it, you run it. Monitoring models in production is a part of data science in production.\r\n* Deployability of Models\r\n\t* Every training pipeline needs to produce a deployable artefact, not \u201cjust\u201d a model.\r\n\r\n","links":[{"article_link":"https://blog.maiot.io/12-factors-of-ml-in-production/","code_link":"https://docs.maiot.io/","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://maiot.io/"}]},{"id":2403,"title":"Easy Data Augmentation (EDA)","description":"Easy Data Augmentation Techniques for Boosting Performance on Text Classification Tasks","tags":["article","code","library","data-augmentation","natural-language-processing","eda","text-augmentation"],"details":"We present EDA: easy data augmentation techniques for boosting performance on text classification tasks. EDA consists of four simple but powerful operations: synonym replacement, random insertion, random swap, and random deletion. On five text classification tasks, we show that EDA improves performance for both convolutional and recurrent neural networks. EDA demonstrates particularly strong results for smaller datasets; on average, across five datasets, training with EDA while using only 50% of the available training set achieved the same accuracy as normal training with all available data. We also performed extensive ablation studies and suggest parameters for practical use.\r\n\r\n","links":[{"article_link":"https://towardsdatascience.com/these-are-the-easiest-data-augmentation-techniques-in-natural-language-processing-you-can-think-of-88e393fd610","code_link":"https://github.com/jasonwei20/eda_nlp","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2402,"title":"Adapting Text Augmentation to Industry Problems","description":"In this post I will talk about the recent advances in exploiting language models for data generation and also show how, where we can implement them in Industry.","tags":["article","data-augmentation","language-modeling","natural-language-processing","pet","cbert","text-augmentaiton"],"details":"For this post, I would like to consider two Industrial tasks where we can use augmentation:\r\n\r\n> Categorizing complaints/survey-responses into specific categories. (Classification task)\r\n\r\nLet\u2019s say that you are a Computer Tech-Giant like HP/Microsoft and want to process your incoming messages into clear buckets like Hardware, Customer Care, Software, General Support, Tech Support, Refund etc.\r\n\r\n> Redacting sensitive information from the data. (Sequence Labeling task)\r\n\r\nLet\u2019s consider that you are an independent survey firm who\u2019s documenting the statistics of COVID-19. In this survey, to respect the privacy of individuals involved and to avoid targetted harassment by the public, few statements must be stripped of the key details.\r\n\r\n","links":[{"article_link":"https://gitlost-murali.github.io/blogs/nlp/augmentation/exploiting-contextual-models-for-data","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2400,"title":"MLJ.jl","description":"A Julia machine learning framework.","tags":["code","julia","machine-learning","library"],"details":"MLJ (Machine Learning in Julia) is a toolbox written in Julia providing a common interface and meta-algorithms for selecting, tuning, evaluating, composing and comparing machine learning models written in Julia and other languages. MLJ is released under the MIT licensed and sponsored by the [Alan Turing Institute](https://www.turing.ac.uk/).\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/alan-turing-institute/MLJ.jl","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://alan-turing-institute.github.io/MLJ.jl/dev/"}]},{"id":2399,"title":"Image Dehazing using GMAN net","description":"Single image dehazing using the GMAN network and its implementation in Tensorflow(version 2+).","tags":["article","code","dataset","research","tensorflow","deep-learning","dehazing"],"details":"Generic Model-Agnostic Convolutional Neural Network(GMAN) is a convolutional neural network proposed for haze removal and clear image restoration. It is an end-to-end deep learning system that employs the encoder-decoder network for denoising image. I've used Kaggle notebook for the purpose of implementation and training. Dataset used for training and validation is SOTS outdoor [available here](https://www.kaggle.com/wwwwwee/dehaze).","links":[{"article_link":"https://medium.com/@sanchitvj/gman-net-for-image-dehazing-65a2b3f679a5?source=---------2----------------------------","code_link":"https://github.com/sanchitvj/Image-Dehazing-using-GMAN-net","research_link":"","media_link":"","dataset_link":"https://www.kaggle.com/wwwwwee/dehaze","demo_link":"","other_link":""}]},{"id":2398,"title":"Deep Dive into TensorBoard: Tutorial With Examples","description":"There is a common business saying that you can\u2019t improve what you don\u2019t measure. This is true in machine learning as well. There are various tools for measuring","tags":["article","tutorial","tensorflow","tensorboard"],"details":"Here are some things we\u2019ll cover in this text:\r\n\r\n* Visualizing images in TensorBoard\r\n* Checking model weights and biases on TensorBoard\r\n* visualizing the model\u2019s architecture\r\n* sending a visual of the confusion matrix to TensorBoard\r\n* profiling your application so as to see its performance, and\r\n* using TensorBoard with Keras, PyTorch, and XGBoost","links":[{"article_link":"https://neptune.ai/blog/tensorboard-tutorial","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2397,"title":"Optimizing MobileDet for Mobile Deployments","description":"Learn about the criticalities of effectively optimizing MobileDet object detectors for mobile deployments.","tags":["article","code","notebook","paper","research","tutorial","tensorflow","computer-vision","object-detection","tensorflow-lite","edge-ai","arxiv:2004.14525"],"details":"This year researchers from the University of Wisconsin-Madison and Google published their work on MobileDet. MobileDet presents an architectural philosophy for designing object detectors specifically targeted toward running on mobile accelerators like DSP, EdgeTPU, and so on. MobileDet yields significant improvement over architectures MobileNetV2+SSDLite and MobileNetV3+SSDLite on the COCO object detection task with the same accelerated inference time. Long story cut short, if you are planning to use object detection models in mobile applications MobileDets may be an extremely good choice.\r\n\r\nOne fantastic thing about modern-day research is most of the time, the code and essential artifacts (like the trained models) are available publicly. MobileDet is no exception; the authors released their code and pre-trained models in TensorFlow Object Detection (TFOD) API. The model files come in three different variants:\r\n\r\n* Optimized for mobile CPU\r\n* Optimized for EdgeTPU\r\n* Optimized for DSP\r\n\r\nEach of these variants includes the pre-trained checkpoints, a TensorFlow Lite (TFLite) compatible model graph, a TFLite model file, a configuration file, and a graph proto. The models were pre-trained on the COCO dataset.\r\n\r\nIn this post, I am going to be revisiting the TFLite conversion from the pre-trained model checkpoints along with some of the non-trivial things that come up during the process. It is basically an extension of Khanh LeViet and my findings we shared over [this GitHub thread](https://github.com/ml-gde/e2e-tflite-tutorials/issues/21).","links":[{"article_link":"https://sayak.dev/mobiledet-optimization/","code_link":"https://colab.research.google.com/github/sayakpaul/Adventures-in-TensorFlow-Lite/blob/master/MobileDet_Conversion_TFLite.ipynb","research_link":"https://arxiv.org/abs/2004.14525","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2396,"title":"EfficientDet meets Pytorch Lightning","description":"Beginner friendly guide to object detection using EfficientDet.","tags":["article","tutorial","computer-vision","object-detection","efficientdet","pytroch","pytroch-lightning"],"details":"Welcome to this beginner friendly guide to object detection using EfficientDet. Similarly to what I have done in the NLP guide (check it [here](https://www.kaggle.com/yassinealouini/roberta-meets-tpus) if you haven't yet already), there will be a mix of theory, practice, and an application to the global wheat competition dataset.\r\n\r\nThis will be a very long notebook, so use the following table of content if necessary. Grab something to drink and enjoy!\r\n\r\n**Introduction**\r\n\r\n* Modern Computer Vision\r\n* Different Detection Tasks\r\n* Object Detection 101\r\n* Object Detection Models Zoology\r\n* EfficientDet Explained\r\n* EfficientNet as a Backbone\r\n* BiFPN as a Multi-Scale Fusion\r\n* Two Heads\r\n* Compound Scalings\r\n* Application: Global Wheat Detection\r\n\r\n**Understanding the Task**\r\n\r\n* Evaluation Metric\r\n* Data processing\r\n* The Model\r\n* The Dataset\r\n* Pytorch Complete Training Pipeline\r\n* Evaluation\r\n* Inference\r\n\r\n**Advanced Concepts**\r\n\r\n* Mosaic Augmentation\r\n* TTA\r\n* WBF","links":[{"article_link":"https://www.kaggle.com/yassinealouini/efficientdet-meets-pytroch-lightning","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2395,"title":"Python caching in GitHub Actions","description":"How to speed up slow Python builds in GitHub Actions with effective caching.","tags":["article","tutorial","mlops","github-actions","caching"],"details":"Now, I\u2019d like to say the switch over to GitHub Actions was all smooth sailing from the beginning, but that\u2019s not quite true. AllenNLP is a large project with some even larger dependencies, like PyTorch, which can lead to really slow builds when the Python environment needs to be set up from scratch.\r\n\r\nNaturally, the solution to this is dependency caching, but we quickly discovered that the recommended way of caching pip dependencies for Python was still too slow for us.","links":[{"article_link":"https://medium.com/ai2-blog/python-caching-in-github-actions-e9452698e98d","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2394,"title":"Why Data Quality is Key to Successful ML Ops","description":"A look at ML Ops and highlight how and why data quality is key to ML Ops workflows.","tags":["article","production","unit-tests","testing","mlops","great-expectations"],"details":"In this post, we are going to look at ML Ops, a recent development in ML that bridges the gap between ML and traditional software engineering, and highlight how data quality is key to ML Ops workflows in order to accelerate data teams and maintain trust in your data.\r\n\r\n","links":[{"article_link":"https://greatexpectations.io/blog/ml-ops-data-quality/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2393,"title":"A Friendly Introduction to PCA","description":"After years of almost, but not quite fully understanding PCA, here is my attempt to explain it fully, hopefully leaving some of the magic intact.","tags":["article","dimensionality-reduction","unsupervised-learning","principal-component-analysis"],"details":"We will work from the outside in: we will view PCA first as a way of finding a smaller representation of a dataset. This is a typical machine learning problem: find a compressed representation of the data such that the reconstructions are as close to the original as possible. This is a simple view of PCA, an we\u2019ll be able to compute it with nothing more than gradient descent with a few extra tricks for satisfying constraints.\r\n\r\n","links":[{"article_link":"http://peterbloem.nl/blog/pca","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2392,"title":"Deep Learning with TensorFlow","description":"Learn Deep Learning with TensorFlow","tags":["video","keras","tensorflow"],"details":"","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=VhXitR_dfNo","dataset_link":"","demo_link":"","other_link":""}]},{"id":2391,"title":"Text Classification Using Long Short Term Memory & GloVe Embeddin","description":"Classify Text using Pre-trained Embeddings and Bidirectional LSTMs\r\n","tags":["article","tensorflow"],"details":"","links":[{"article_link":"https://heartbeat.fritz.ai/text-classification-using-long-short-term-memory-glove-embeddings-6894abb730e1","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2390,"title":"mini-pokedex end to end tutorial - Gotta classify 'em all!","description":"Build a Pokemon image classifier to classify the awesome starters Pikachu, Charmander, Squirtle, and Bulbasaur.","tags":["article","code","tutorial","azure","docker","fastai","computer-vision","image-classification","pokemons"],"details":"This is a practical tutorial of building and deploying deep learning model.\r\n\r\nThe goal of this article is to set up a deep learning workspace on azure, build and deploy end to end deep learning projects on azure. We will start by building a custom image data set, train the model using fastai and then deploy the model in production. \r\n\r\nRead the article here [End to End Deep Learning Tutorial using Azure](https://towardsdatascience.com/end-to-end-deep-learning-tutorial-using-azure-f7bb524f7277)","links":[{"article_link":"https://medium.com/@akshay090/end-to-end-deep-learning-tutorial-using-azure-f7bb524f7277","code_link":"https://github.com/Akshay090/pokedex-deploy","research_link":"","media_link":"https://player.vimeo.com/video/448258671","dataset_link":"","demo_link":"","other_link":""}]},{"id":2389,"title":"bingoset - CLI tool to create image dataset.","description":"CLI Toolkit to quickly create an image dataset using Bing Image Search API.","tags":["code","library","computer-vision","image-classification","datasets","cli","bing-api","dataset-creation","bingoset"],"details":"Easy to use CLI tool to create image dataset using bing image search API.\r\n\r\nIt effectively handles edge cases for images when they are corrupted or have invalid source.\r\n\r\nUsage\r\n\r\n> bingoset q pikachu\r\n\r\nThis will download 250 (default) images of pikachu into a directory called dataset (default)\r\n","links":[{"article_link":"","code_link":"https://github.com/Akshay090/bingoset","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2388,"title":"SemTorch","description":"Different deep learning architectures definitions that can be applied to image segmentation.","tags":["code","fastai","pytorch","library","computer-vision","object-detection","semantic-segmentation","segmentation","instance-segmentation","salient-object-detection"],"details":"Different deep learning architectures definitions that can be applied to image segmentation. All the architectures are implemented in PyTorch and can been trained easily with FastAI 2.\r\n\r\nThese architectures are classified as:\r\n\r\n* **Semantic Segmentation**: each pixel of an image is linked to a class label. \r\n* **Instance Segmentation**: is similar to semantic segmentation, but goes a bit deeper, it identifies , for each pixel, the object instance it belongs to. \r\n* **Salient Object Detection** (Binary clases only): detection of the most noticeable/important object in an image. ","links":[{"article_link":"","code_link":"https://github.com/WaterKnight1998/SemTorch","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2387,"title":"GitHub Actions for Machine Learning","description":"This presentation discusses the use of GitHub Actions to automate certain steps of a toy ML project. ","tags":["code","github","tutorial","scikit-learn","wandb","mlops","github-actions"],"details":"In this deck I discuss the importance of incorporating CI/CD in ML engineering. We took a small demo that uses `scikit-learn` and **GitHub Actions** to automate certain parts of an ML Project and lets a bot comment on a PR with the latest experimental results.\r\n\r\nThis repository demonstrates how to integrate GitHub Actions to:\r\n\r\n**Upon a new commit** \r\n\r\n* Automatically authenticate wandb (Weights and Biases) using a custom GitHub secret.\r\n* Automatically train a small Random Forest Regressor model on the wine quality dataset.\r\n* Automatically log the training and other important model metrics to wandb.\r\n* Cache Python dependencies so that old dependencies do not get installed each time a run is triggered.\r\n* Generate a metrics.csv file after a run is successfully completed.\r\n\r\n**Upon a new pull request**\r\n\r\n* Fetch the latest wandb run URL and comment that on the PR.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/sayakpaul/wine/","research_link":"","media_link":"http://bit.ly/ga-ml","dataset_link":"","demo_link":"","other_link":""}]},{"id":2386,"title":"Silero Models: pre-trained enterprise-grade STT models","description":"Silero Speech-To-Text models provide enterprise grade STT in a compact form-factor for several commonly spoken languages.","tags":["article","code","dataset","notebook","paper","research","onnx","pytorch","tensorflow","library","speech","speech-recognition","speech-to-text","demo"],"details":"Speech-to-text has traditionally had high barriers of entry due to a number or reasons:\r\n\r\n* Hard-to-collect data;\r\n* Costly annotation and high data requirements;\r\n* High compute requirements and adoption of obsolete hard to use technologies;\r\n\r\nHere are some of the typical problems that existing ASR solutions and approaches had before our release:\r\n\r\n* STT Research typically focused on huge compute budgets;\r\n* Pre-trained models and recipes did not generalize well, were difficult to use even as-is, relied on obsolete tech;\r\n* Until now STT community lacked easy to use high quality production grade STT models;\r\n\r\nFirst we tried to alleviate some of these problems for the community by publishing the largest Russian spoken corpus in the world. Now we try to solve these problems as follows:\r\n\r\n* We publish a set of pre-trained high-quality models for popular languages;\r\n* Our models are designed to be as robust to different domains as you can see in our benchmarks;\r\n* Our models are pre-trained on vast and diverse datasets;\r\n* Our models are fast and can be run on commodity hardware;\r\n* Our models are easy to use;\r\n\r\n**Future plans**:\r\n\r\n* Publish quantized models;\r\n* Compress our Enterprise Edition models up to ~20 Megabytes without loss of fidelity;\r\n* We also are planning to release Community Edition model for other popular languages;","links":[{"article_link":"https://medium.com/@aveysov/modern-google-level-stt-models-released-c6491019e30c?sk=0d51c5301da830c31dcd9d2de7171c17","code_link":"https://github.com/snakers4/silero-models","research_link":"https://thegradient.pub/towards-an-imagenet-moment-for-speech-to-text/","media_link":"","dataset_link":"https://github.com/snakers4/open_stt","demo_link":"https://colab.research.google.com/github/snakers4/silero-models/blob/master/examples.ipynb","other_link":"https://thegradient.pub/a-speech-to-text-practitioners-criticisms-of-industry-and-academia/"}]},{"id":2385,"title":"Beginner\u2019s Guide to Linear Regression with cuML","description":"Break down of simple & multiple linear regression and how to easily implement both in Python with RAPIDS AI\u2019s cuML","tags":["article","code","dataset","notebook","tutorial","python","linear-regression","machine-learning","regression","data-science","cuml","rapids"],"details":"","links":[{"article_link":"https://medium.com/future-vision/beginners-guide-to-linear-regression-in-python-with-cuml-30e2709c761?source=friends_link&sk=1da35920b9e2ffea59d5cb3c998bfeae","code_link":"https://raw.githubusercontent.com/Dropout-Analytics/cuml_linear_regression/master/linear_regression.ipynb","research_link":"","media_link":"","dataset_link":"https://raw.githubusercontent.com/scikit-learn/scikit-learn/master/sklearn/datasets/data/boston_house_prices.csv","demo_link":"","other_link":""}]},{"id":2384,"title":"Intro to Facebook Prophet","description":"Everything you need to know when starting out with Facebook\u2019s time series forecasting tool","tags":["article","code","dataset","tutorial","python","time-series","time-series-forecasting","prophet"],"details":"**Summary / TLDR**\r\n\r\n* how Prophet calculates these forecasts \u2014 `trend`, `seasonality`, `holidays`\r\n* installing Prophet with pip \u2014 `pip install fbprophet`\r\n* molding data to `.fit()` the model \u2014 ds, y\r\n* calling a model, fitting data, and making a simple forecast\r\n* understanding weekly, yearly, & overall trend \u2014 `.plot_components()`\r\n* examining accuracy with `cross_validation` & `performance_metrics`","links":[{"article_link":"https://medium.com/future-vision/intro-to-prophet-9d5b1cbd674e?source=friends_link&sk=5709431ddc156b076b3cc1c22be3dcbf","code_link":"https://github.com/gumdropsteve/intro_to_prophet","research_link":"","media_link":"","dataset_link":"https://raw.githubusercontent.com/gumdropsteve/intro_to_prophet/master/data/WMT.csv","demo_link":"","other_link":""}]},{"id":2383,"title":"Beginner\u2019s Guide to BlazingSQL","description":"Everything you need to know when starting out","tags":["article","code","dataset","notebook","tutorial","python","sql","gpu","rapids","blazingsql"],"details":"**Outline**\r\n\r\n* What is BlazingSQL?\r\n* How does BlazingSQL work?\r\n* Practice with BlazingSQL\r\n* 3.1 Installation & Imports\r\n* 3.2 Creating Tables\r\n* 3.3 Querying Tables\r\n* 3.4 Handing off Results","links":[{"article_link":"https://medium.com/dropout-analytics/beginners-guide-to-blazingsql-9ab6c2a9c6ad?source=friends_link","code_link":"https://raw.githubusercontent.com/gumdropsteve/silent-disco/master/beginners_guide_to_bsql.ipynb","research_link":"","media_link":"","dataset_link":"https://www1.nyc.gov/site/tlc/about/tlc-trip-record-data.page","demo_link":"","other_link":""}]},{"id":2382,"title":"Distributed SQL with Dask","description":"Scale your Python data science across multiple GPUs with BlazingSQL (w/ code + data)","tags":["article","code","dataset","notebook","tutorial","python","sql","gpu","dask","rapids","blazingsql"],"details":"Distributed SQL query execution is key in scaling the power of the RAPIDS community to the enterprise-level data challenges of today\u2019s market.\r\n\r\nBlazingSQL makes it easy by utilizing Dask and Dask-cuDF (dask_cudf), which means you can effortlessly conduct multiple GPUs through an intuitive Python API.","links":[{"article_link":"https://blog.blazingdb.com/distributed-sql-with-dask-2979262acc8a?source=friends_link&sk=077319064cd7d9e18df8c0292eb5d33d","code_link":"https://raw.githubusercontent.com/BlazingDB/Welcome_to_BlazingSQL_Notebooks/branch-0.15/blog_posts/distributed_sql_with_dask.ipynb","research_link":"","media_link":"","dataset_link":"https://www1.nyc.gov/site/tlc/about/tlc-trip-record-data.page","demo_link":"","other_link":""}]},{"id":2381,"title":"PySR","description":"Simple and fast symbolic regression in Python/Julia via regularized evolution and simulated annealing.","tags":["code","paper","research","julia","python","regression","library","genetic-algorithm","arxiv:2006.11287","symbolic-regression","pysr"],"details":"Symbolic regression built on Julia, and interfaced by Python. Uses regularized evolution, simulated annealing, and gradient-free optimization.\r\n\r\nSymbolic regression is a very interpretable machine learning algorithm for low-dimensional problems: these tools search equation space to find algebraic relations that approximate a dataset.\r\n\r\nOne can also extend these approaches to higher-dimensional spaces by using a neural network as proxy, as explained in https://arxiv.org/abs/2006.11287, where we apply it to N-body problems. Here, one essentially uses symbolic regression to convert a neural net to an analytic equation. Thus, these tools simultaneously present an explicit and powerful way to interpret deep models.","links":[{"article_link":"","code_link":"https://github.com/MilesCranmer/pysr","research_link":"https://arxiv.org/abs/2006.11287","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2380,"title":"Interact with PyTorch layers using Jupyter Widgets","description":"Build your understanding of PyTorch's ConvTranspose1d layer using interactive visualisations\r\n\r\n","tags":["article","code","notebook","convolutional-neural-networks","interactive","padding","stride"],"details":"Sometimes we want to see inputs and outputs of PyTorch layers to build an intuition of what they do. If I've read the docs and put a few tensors through the layer while checking the inputs and outputs shapes, generally that's enough.\r\n\r\nBut sometimes there's weird parameters that I can't get my head around or I just want to see it working, so building interactive widgets helps me grow my understanding.\r\n\r\nSo in this post I'll show you how I built an interactive widget to explore PyTorch's `ConvTranspose1d`, while explaining a bit about the layer itself. We'll use Anacondas's [HoloViz](https://holoviz.org/) tools (Holoviews, Panel and Bokeh) for the plotting and interactivity.\r\n\r\nThe end goal is to have a interactive plot for interacting with `ConvTranspose1d` parameters and seeing the output like this tweet.","links":[{"article_link":"https://www.scottcondron.com/jupyter/visualisation/ai/deep%20learning/2020/09/25/interact-with-pytorch-layers-with-jupyter-widgets.html","code_link":"https://github.com/scottire/fastpages/blob/master/_notebooks/2020-09-25-interact-with-pytorch-layers-with-jupyter-widgets.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2379,"title":"ML projects ideas! (I've got all these implemented on my GitHub)","description":"machine-learning/deep learning project ideas (mostly computer vision)","tags":["machine-learning","machine-learning-project-ideas"],"details":"","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://youtu.be/ynx48f7LhCc","dataset_link":"","demo_link":"","other_link":""}]},{"id":2376,"title":"colab-cli - sync jupyter notebooks with colab notebooks.","description":"Experience better workflow with google colab, local jupyter notebooks and git.You can now easily manage working with jupyter notebooks and google colab from cli","tags":["article","code","notebook","git","python","deep-learning","machine-learning","library","cli"],"details":"**Features**\r\n\r\n* \ud83e\udd20 Upload local jupyter notebook to gdrive from cli\r\n* \ud83d\ude06 Quick access to jupyter notebooks in gdrive from your cli\r\n* \ud83d\ude80 Keeps jupyter notebooks organized in gdrive by creating local file structure in gdrive\r\n* \ud83e\udd2f Sync local work on notebooks with gdrive\r\n* \ud83e\udd42 Git friendly, pull changes from gdrive and commit to git\r\n\r\nRead more [here](https://github.com/Akshay090/colab-cli)","links":[{"article_link":"https://akshay-ashok.now.sh/projects/colab-cli","code_link":"https://github.com/Akshay090/colab-cli","research_link":"","media_link":"https://asciinema.org/a/314749","dataset_link":"","demo_link":"","other_link":""}]},{"id":2375,"title":"How to do more with less data ?\u2014 Active learning","description":"An Article and demonstration on how to use only a fraction of data to achieve the same accuracy as on the full data using an intuitive active learning method.","tags":["article","code","notebook","tutorial","machine-learning","active-learning","annotation","semi-supervised-learning"],"details":"Objectives:\r\n\r\nAn Article and demonstration on how to use only a fraction of data to achieve the same accuracy as on the full data using an intuitive active learning method called \"Uncertainty sampling with entropy\".\r\n\r\nDemo:\r\n\r\nFor the demonstration, I have used Active learning to utilize only 23% of the actual training dataset ( ATIS intent classification dataset) to achieve the same result as training on 100% of the dataset.\r\n","links":[{"article_link":"https://towardsdatascience.com/how-to-do-more-with-less-data-active-learning-240ffe1f7cb9","code_link":"https://colab.research.google.com/drive/1BsTuFK8HcXS5WWlOCS1QHgvHRf2FK6aD","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2374,"title":"Extract Links from a Web Page using Python","description":"In this article we will discuss how to extract links from a URL using Python.","tags":["article","tutorial","python","program-development","web-services"],"details":"In this article we will discuss how to extract links from a URL using Python.\r\n\r\n**Table of Contents**\r\n\r\n* Introduction\r\n* Get HTML content from URL\r\n* Finding and extracting links from HTML\r\n* Complete Object-Oriented Programming Example\r\n* Conclusion","links":[{"article_link":"https://pyshark.com/extract-links-from-a-web-page-using-python/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2373,"title":"GraphNorm","description":"A Principled Approach to Accelerating Graph Neural Network Training.","tags":["code","paper","research","graph-neural-networks","graphnorm","arxiv:2009.03294"],"details":"GraphNorm is a principled normalization method that accelerates the GNNs training on graph classification tasks, where the key idea is to normalize all nodes for each individual graph with a learnable shift. Theoretically, we show that GraphNorm serves as a preconditioner that smooths the distribution of the graph aggregation's spectrum, and the learnable shift is used to improve the expressiveness of the networks. Empirically, we conduct experiments on several popular benckmark datasets, including the recently released Open Graph Benchmark. Results on datasets with different scale consistently show that GNNs with GraphNorm converge much faster and achieve better generalization performance.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/lsj2408/GraphNorm","research_link":"https://arxiv.org/abs/2009.03294","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2372,"title":" A spaced repetition app for keeping your reinforcement learning","description":"We aim to keep your reinforcement learning knowledge fresh by periodically reminding you of concepts making you a master of RL knowledge!!","tags":["article","reinforcement-learning"],"details":"Reinforcement Learning theory is expansive and has many moving parts. It is hard to remember equations and understand important RL concepts. We introduce a spaced repetition learning system to help you memorize reinforcement learning concepts. It basically reminds you of things that it suspects you have forgotten. The more you review cards the lesser you will see them. Spaced repetition systems has been shown to help users retain knowledge for years! We are excited to bring this concept to RL Learning.","links":[{"article_link":"https://masterrl.herokuapp.com/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://masterrl.herokuapp.com/"}]},{"id":2371,"title":"From Research to Production with Deep Semi-Supervised Learning","description":"Semi-Supervised Learning (SSL) has blossomed in the deep learning research community\u200a\u2014\u200awe share lessons learned over 15 months of taking SSL into production.","tags":["article","research","tutorial","deep-learning","machine-learning","production","semi-supervised-learning"],"details":"The success of most deep learning algorithms today is largely the result of decades of research, the growing availability of GPUs, and data. But not just any kind of data \u2014 the kind that is abundant, clean, and ***labeled***.\r\n\r\nDatasets like ImageNet, CIFAR10, SVHN, and others, have allowed researchers and practitioners to make remarkable progress on computer vision tasks and were immensely useful for our own experimentation. Yet the elephant in the room for many applications that seek to benefit from this progress, such as medicine, is precisely the fact that the data must be *abundant, clean, and labeled.*\r\n\r\n**Semi-supervised learning (SSL)**, a subfield that combines both supervised and unsupervised learning, has grown in popularity in the deep learning research community over the past few years. It\u2019s very possible that, at least in the short-term, SSL approaches could be the bridge between label-heavy supervised learning and a future of data-efficient modeling.\r\n\r\nIn this post, we talk about when you should consider using SSL approaches in your production environments and the lessons we\u2019ve learned using them to improve our object detection models at [Uizard](https://uizard.io). Of course, we\u2019ll do our best to share the big picture but keep some details of the wizardry to ourselves.\r\n\r\n***Our hope is that by displaying how and when SSL worked and didn\u2019t work for us and by sharing tips learned on our journey from research to production, we can inspire you to take a chance on SSL for your work and unlock the potential of your unlabeled data.***\r\n\r\nIn short, here are a few lessons we emphasize:\r\n\r\n* **Simplicity is king**. The most successful approaches in SSL that translated from research to production were those that were the simplest to reproduce. Specifically, we\u2019ll elaborate on how \u201cSelf-Training with Noisy Student\u201d ([Xie et al., 2019](https://arxiv.org/pdf/1911.04252.pdf)) worked for us.\r\n\r\n* **Pseudo-label refinement with heuristics can be extremely effective.** Pseudo-labeling is a popular component of SSL approaches \u2014 we find that using simple heuristics to refine our pseudo-labels in the unlabeled data improves performance across different sizes of unlabeled datasets.\r\n\r\n* **Progress in semi-supervised image classification is difficult to translate to object detection.** Much of the progress in SSL that we followed measured performance on image classification with promises of similar improvements on object detection, but we found it difficult to adapt them appropriately in practice. As a result, more work and research is needed in the semi-supervised object detection space.","links":[{"article_link":"https://medium.com/@nairvarun18/from-research-to-production-with-deep-semi-supervised-learning-7caaedc39093?source=friends_link&sk=5df3a09a0961c88b122684f5f71f4ec8","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2370,"title":"The Maker Philosophy with ML APIs","description":"Practising being a maker with Google Cloud Platform\u2019s ML APIs.","tags":["article","code","tutorial","gcp","apis","vision-api"],"details":"In this post, I discuss how I used several Google Cloud Platform (GCP) APIs to turn two ideas into small prototypes. It includes my thought process, the problems I ran into while developing the prototypes, and my approach toward tackling them. All the code discussed in the post is available in [this repository](https://github.com/sayakpaul/GCP-ML-API-Demos).","links":[{"article_link":"https://sayak.dev/mlapis-maker/","code_link":"https://github.com/sayakpaul/GCP-ML-API-Demos","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2369,"title":"GP-GAN: Towards Realistic High-Resolution Image Blending","description":"Blending composite images using a generative model and a Gaussian-Poisson equation with a Laplacian Pyramid","tags":["code","paper","research","pytorch","convolutional-neural-networks","deep-learning","generative-adversarial-networks","computer-vision","demo","laplacian-pyramid","image-blending","arxiv:1703.07195"],"details":"**Please click the thumbnail to view it clearly**.\r\n\r\n### Gaussian-Poisson-GANs-For-Image-Blending\r\n\r\nThis project implements an algorithm for blending composite images(copy-paste images/foreign objects in a scene) using a Wasserstein Generative Adversarial Network(GAN) and the Gaussian-Poisson equation.\r\n\r\n#### An overview of the algorithm\r\n\r\n* The GAN is trained to give a very low-resolution blend(eg. 64 x 64), given the composite image.\r\n* The low-resolution image is used as a color constaint in the Gaussian-Poisson equation proposed in [1]. An optimization problem is solved to estimate the low-frequency signals(i.e. using a Gaussian blur) of the GAN's output and to estimate the high-frequency signals(i.e. image gradient) of the composite(copy-paste) image using a Laplacian pyramid.\r\n\r\n* **[PyTorch code](https://github.com/aiarjun/Gaussian-Poisson-GANs-For-Image-Blending)** & **[Slides](https://drive.google.com/file/d/1SBwlqkelJqXrfwxZ5_uFK6QVXZYSJBxp/view)** by me ([aiarjun](https://github.com/aiarjun)).\r\n* **[Demo](http://wuhuikai.me/DeepJS/)** and **[Research](https://arxiv.org/abs/1703.07195)** are by the original authors of the algorithm. ","links":[{"article_link":"","code_link":"https://github.com/aiarjun/Gaussian-Poisson-GANs-For-Image-Blending","research_link":"https://arxiv.org/abs/1703.07195","media_link":"https://drive.google.com/file/d/1SBwlqkelJqXrfwxZ5_uFK6QVXZYSJBxp/view","dataset_link":"","demo_link":"http://wuhuikai.me/DeepJS/","other_link":""}]},{"id":2368,"title":"TableQA","description":"AI tool for querying natural language on tabular data like csvs and other dataframes.","tags":["code","notebook","tutorial","databases","sql","natural-language-processing","question-answering","conversational-ai","demo","tabular"],"details":"**Features**:\r\n\r\n* Supports detection from multiple csvs\r\n* Support FuzzyString implementation. i.e, incomplete csv values in query can be automatically detected and filled in the query.\r\n* Open-Domain, No training required.\r\n* Add manual schema for customized experience\r\n* Auto-generate schemas in case schema not provided\r\n\r\n**Next Steps**:\r\n\r\n* Host a web app for consumers.\r\n* Support more dataframes and databases. \r\n* Support for more complex queries.\r\n* Support for automatic data visualisations\r\n\r\nBuilt with the help of QA models of [HuggingFace transformers](https://huggingface.co/transformers/examples.html).\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/abhijithneilabraham/tableQA","research_link":"","media_link":"","dataset_link":"","demo_link":"https://colab.research.google.com/drive/1Bgd3L-839NVZiP3QqWfpkYIufQIm4Rar","other_link":""}]},{"id":2367,"title":"Interactive Analysis of Sentence Embeddings","description":"Learn how to interactively explore sentence embedding and labels in Tensorflow Embedding Projector.","tags":["article","tutorial","tensorflow","tensorflow-js","contextualized-embeddings","embeddings","natural-language-processing","visualization"],"details":"[Embedding Projector](https://projector.tensorflow.org/) is a free web application for visualizing high-dimensional data. It has built-in demos for visualizing word embeddings in NLP and image embeddings for MNIST in Computer Vision.\r\n\r\nI recently experimented with a way to load sentence embeddings along with the class labels into this tool and explore them interactively. In this blog post, I will explain the end-to-end process with an example dataset.","links":[{"article_link":"https://amitness.com/interactive-sentence-embeddings/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2366,"title":"Help-Me-Read: Text Summarization using Flask and HuggingFace.","description":"Text summarization, translation and Questions Answers generation using HuggingFace and deployed using Flask, Streamlit. Detailed guide on github. ","tags":["code","docker","huggingface","natural-language-processing","streamlit"],"details":"Help me read is created to help user read long text posts by making use of machine learning to summarize text and generate relevant question answers. The app can be deployed using Flask, streamlit and also one can use colab link from my github. I have added installation documentation and a dockerfile for simple usage. I have a bit less experience in NLP, so if you have any suggestion on improvements/optimization please let me know. ","links":[{"article_link":"","code_link":"https://github.com/Anku5hk/Help-Me-Read","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2365,"title":"How to build a production-ready Deep Learning Training loop","description":"Building a custom training loop in Tensorflow and Python with checkpoints and Tensorboards visualizations","tags":["article","code","tutorial","deep-learning","machine-learning","computer-software","training","computer-vision","production","segmentation","demo"],"details":"","links":[{"article_link":"https://theaisummer.com/tensorflow-training-loop/","code_link":"https://github.com/The-AI-Summer/Deep-Learning-In-Production","research_link":"","media_link":"","dataset_link":"","demo_link":"https://theaisummer.com/data-preprocessing/","other_link":"https://theaisummer.com/best-practices-deep-learning-code/"}]},{"id":2364,"title":"Annotated Research Papers","description":"Finding papers hard to read? Read the annotated version with me","tags":["code","paper","research"],"details":"## Why annotated papers?\r\n\r\nDo you love reading research papers? Or do you find reading papers intimidating? Or are you looking for annotated research papers that are much easier to understand?\r\n\r\nIf you are in any of the categories listed above, then you have arrived at the right place. I spend a lot of time reading papers. It is a crucial part of my ML work. If you want to do research or you want to be a better ML engineer, then you should read papers. This habit of reading papers will help you to remain updated with the field. \r\n \r\n**Note:** I am a pen-paper guy. Nothing beats that pen-paper reading experience, but in the ongoing scenarios (pandemic, lockdown, etc.), I am not able to print the papers. Taking this as an opportunity to share my thought process, I will be sharing the annotated research papers in this repo. \r\n**The order of the papers won't strictly be according to the timeline on arXiv. Sometimes I put a paper on hold and read it after a while.**\r\n\r\n**PS:** I cannot annotate all the papers I read, but if I liked one, then that will be uploaded here. Also, there will be blog posts for a few research papers that are really important.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/AakashKumarNain/annotated_research_papers","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2363,"title":"TensorFlow Recommenders","description":"An open-source TensorFlow package that makes building, evaluating, and serving sophisticated recommender models easy.","tags":["article","code","tensorflow","library","recommendation-systems"],"details":"Built with TensorFlow 2.x, TFRS makes it possible to:\r\n\r\n* Build and evaluate flexible candidate nomination models;\r\n* Freely incorporate item, user, and context information into recommendation models;\r\n* Train multi-task models that jointly optimize multiple recommendation objectives;\r\n\r\n\r\n\r\nEfficiently serve the resulting models using TensorFlow Serving.\r\nTFRS is based on TensorFlow 2.x and Keras, making it instantly familiar and user-friendly. It is modular by design (so that you can easily customize individual layers and metrics), but still forms a cohesive whole (so that the individual components work well together). Throughout the design of TFRS, we've emphasized flexibility and ease-of-use: default settings should be sensible; common tasks should be intuitive and straightforward to implement; more complex or custom recommendation tasks should be possible.","links":[{"article_link":"https://blog.tensorflow.org/2020/09/introducing-tensorflow-recommenders.html","code_link":"https://github.com/tensorflow/recommenders","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://www.tensorflow.org/recommenders"}]},{"id":2362,"title":"Deploy Flask app in Heroku","description":"Base project, with mandatory files and folders for deploying Flask apps in Heroku","tags":["code","tutorial","flask","machine-learning","ci-cd"],"details":"Flask is a light-weight API. Heroku is a PAAS , which helps developers to build, run, and operate applications entirely in the cloud. This project consists of mandatory files and folders required for deploying Flask apps in Heroku. Users can clone the project and start building their application and deploy in Heroku (Deployment commands available in the README).","links":[{"article_link":"","code_link":"https://github.com/savitha91/Flask_HerokuDeploy","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2361,"title":"Deploy streamlit app in Heroku","description":"Base project, with mandatory files and folders for deploying streamlit apps in Heroku","tags":["code","machine-learning","streamlit","heroku","ci-cd"],"details":"This project consists of mandatory files and folders required for deploying streamlit apps in Heroku. Users can clone the project and start building their application and deploy in Heroku (Deployment commands available in the README). \r\n","links":[{"article_link":"","code_link":"https://github.com/savitha91/Streamlit_HerokuDeploy","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2360,"title":"3D Face: Fast, Accurate and Stable Reconstruction","description":"This work extends the previous work 3DDFA, named 3DDFA_V2, titled Towards Fast, Accurate and Stable 3D Dense Face Alignment, accepted by ECCV 2020. ","tags":["code","notebook","paper","research","pytorch","library","computer-vision","3d-face","face-aligment","arxiv:2009.09960"],"details":"## Introduction\r\n [](https://colab.research.google.com/drive/1OKciI0ETCpWdRjP-VOGpBulDJojYfgWv)\r\n\r\n
\r\n
\r\n
\r\n\r\nThis work extends [3DDFA](https://github.com/cleardusk/3DDFA), named **[3DDFA_V2](https://github.com/cleardusk/3DDFA_V2)**, titled [Towards Fast, Accurate and Stable 3D Dense Face Alignment](https://arxiv.org/abs/2009.09960), accepted by [ECCV 2020](https://eccv2020.eu/). \r\nCompared to [3DDFA](https://github.com/cleardusk/3DDFA), 3DDFA\\_V2 achieves better performance and stability. Besides, 3DDFA\\_V2 incorporates the fast face detector [FaceBoxes](https://github.com/zisianw/FaceBoxes.PyTorch) instead of Dlib. A simple 3D render written by c++ and cython is also included. If you are interested in this repo, just try it on this **[google colab](https://colab.research.google.com/drive/1OKciI0ETCpWdRjP-VOGpBulDJojYfgWv)**!\r\n\r\n## Getting started\r\n\r\nThe usage is very simple. \r\n\r\n1. Clone this repo\r\n\r\n```\r\ngit clone https://github.com/cleardusk/3DDFA_V2.git\r\ncd 3DDFA_V2\r\n```\r\n\r\n2. Build the cython version of NMS, and Sim3DR\r\n\r\n```\r\nsh ./build.sh\r\n```\r\n\r\n3. Run demos\r\n\r\n```\r\npython3 demo.py -f examples/inputs/emma.jpg # -o [2d_sparse, 2d_dense, 3d, depth, pncc, pose, uv_tex, ply, obj]\r\npython3 demo_video.py -f examples/inputs/videos/214.avi\r\npython3 demo_video_smooth.py -f examples/inputs/videos/214.avi\r\npython3 demo_webcam_smooth.py\r\n```\r\n\r\nFor example, running `python3 demo.py -f examples/inputs/emma.jpg -o 3d` will give the result below:\r\n\r\n\r\n
\r\n
\r\n\r\nMore demos:\r\n\r\n
\r\n
\r\n\r\nMore features to see [here](https://github.com/cleardusk/3DDFA_V2#features-up-to-now).\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/cleardusk/3DDFA_V2","research_link":"https://arxiv.org/abs/2009.09960","media_link":"https://guojianzhu.com/assets/videos/3162-supp.mp4","dataset_link":"","demo_link":"","other_link":"https://colab.research.google.com/drive/1OKciI0ETCpWdRjP-VOGpBulDJojYfgWv"}]},{"id":2359,"title":"Supermarket System","description":"A web application for supermarket to manage all details.","tags":["code","css","html","javascript","sql","web-design"],"details":"","links":[{"article_link":"","code_link":"https://github.com/NishanthSV/Supermarket-System","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2358,"title":"Student Dropout Prediction","description":"It is a machine learning based web app to predict whether a student get dropout from college based on his academic and financial details.","tags":["code","machine-learning","random-forests","decision-tree"],"details":"","links":[{"article_link":"","code_link":"https://github.com/NishanthSV/DropoutPrediction","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2357,"title":"Sudoku Solver","description":"Solving Sudoku by extracting the puzzle from photo using Computer Vision and OCR and solving it.","tags":["code","machine-learning","computer-vision","optical-character-recognition"],"details":"The input sudoku photo is converted to grayscale, blurred, and the contours are found and before dividing the image into 81 squares using OpenCV. \r\n\r\nLater pytesseract is used to detect the numbers from each of these squares and stored in a matrix which is solved using backtracking to give the result.","links":[{"article_link":"","code_link":"https://github.com/SurajSubramanian/SudokuSolver","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2356,"title":"Part 2: Deep Representations, a way towards neural style transfer","description":"A top-down approach to conceiving neural style transfer","tags":["article","code","tutorial","keras","computer-vision","wandb","neural-style-transfer","tensorflow2","wand"],"details":"This is the second part of the Neural Style Transfer blog post. Here we have tried bringing in the intuition of gram matrix, with which we can segregate the `style` and the `content` of the images. The blog post looks at\r\n- Style Representation\r\n- Neural Style Transfer\r\n- The game of mutual loss","links":[{"article_link":"https://wandb.ai/authors/nerual_style_transfer/reports/Part-2-Deep-Representations-a-way-towards-neural-style-transfer--VmlldzoyMjYyNzk","code_link":"https://github.com/ariG23498/NeuralStyleTransfer","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2355,"title":"\ud83d\udea7 Simple considerations for simple people building fancy NNs ","description":"I will try to highlight a few steps of my mental process when it comes to building and debugging neural networks. ","tags":["article","training","debugging","checklist","recipe"],"details":"I will try to highlight a few steps of my mental process when it comes to building and debugging neural networks. \r\n\r\n1. \ud83d\ude48 Start by putting machine learning aside\r\n2. \ud83d\udcda Continue as if you just started machine learning\r\n3. \ud83e\uddb8\u200d\u2640\ufe0f Don\u2019t be afraid to look under the hood of these 5-liners templates\r\n4. \ud83d\udc40 Tune but don\u2019t tune blindly","links":[{"article_link":"https://medium.com/huggingface/simple-considerations-for-simple-people-building-fancy-neural-networks-7abc3c0f0bd7","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2354,"title":"Data Scientist Portfolio ","description":"Template to Create a charming Data Science Portfolio.","tags":["article","code","github","data-science","portfolio","online"],"details":"A portfolio designed your way highlighting key achievements and projects is very import aspect in Data Science Carrier. A good portfolio gives a 100x more impact than a resume.","links":[{"article_link":"https://99sbr.github.io","code_link":"https://github.com/99sbr/99sbr.github.io","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2353,"title":"TF Geometric","description":"Efficient and Friendly Graph Neural Network Library for TensorFlow 1.x and 2.x.","tags":["code","tensorflow","graph-convolutional-networks","library","graph-neural-networks","demo"],"details":"Efficient and Friendly Graph Neural Network Library for TensorFlow 1.x and 2.x. Inspired by [rusty1s/pytorch_geometric](https://github.com/rusty1s/pytorch_geometric), we build a GNN library for TensorFlow.\r\n\r\n### Demos\r\n\r\nWe recommend you to get started with some demo.\r\n\r\n#### Node Classification\r\n\r\n+ [Graph Convolutional Network (GCN)](demo/demo_gcn.py)\r\n+ [Multi-head Graph Attention Network (GAT)](demo/demo_gat.py)\r\n+ [GraphSAGE](demo/demo_graph_sage.py)\r\n+ [GIN](demo/demo_gin.py)\r\n+ [ChebyNet](demo/demo_chebynet.py)\r\n+ [SGC](demo/demo_sgc.py)\r\n+ [TAGCN](demo/demo_tagcn.py)\r\n\r\n\r\n#### Graph Classification\r\n\r\n+ [MeanPooling](demo/demo_mean_pool.py)\r\n+ [SAGPooling](demo/demo_sag_pool_h.py)\r\n\r\n\r\n#### Link Prediction\r\n\r\n+ [Graph Auto-Encoder (GAE)](demo/demo_gae.py)\r\n","links":[{"article_link":"","code_link":"https://github.com/CrawlScript/tf_geometric","research_link":"","media_link":"","dataset_link":"","demo_link":"https://github.com/CrawlScript/tf_geometric/tree/master/demo","other_link":"https://tf-geometric.readthedocs.io/en/latest/"}]},{"id":2352,"title":"Numpy Tricks and A Strong Baseline for Vector Index","description":"Tricks used to improve the index and query speed by 1.6x and 2.8x while keeping the memory footprint constant.","tags":["article","code","search","numpy","vector-index","memmap"],"details":"**Table of Contents**\r\n\r\n* The Scalability Problem\r\n* numpy.memmap Instead of numpy.frombuffer\r\n* Batching with Care\r\n* Lifecycle of memmap\r\n\t* Zero-copy slicing\r\n\t* Memory-efficient Euclidean and Cosine\r\n* Removing gzip compression\r\n* Summary\r\n\r\nOn the vector indexing and querying part, Jina has implemented a baseline vector indexer called `NumpyIndexer`, a vector indexer that is purely based on numpy. The implementation pretty straightforward: it writes vectors directly to the disk and queries nearest neighbors via dot product. It is simple, requires no extra dependencies, and the performance was reasonable on small data. As the default vector indexer, we have been using it since day one when showcasing quick demos, toy examples, and tutorials.\r\n\r\nRecently, this [community issue](https://github.com/jina-ai/jina/issues/929) has raised my attention. I realize there is a space of improvement, even for this baseline indexer. In the end, I manage to improve the index and query speed by 1.6x and 2.8x while keeping the memory footprint constant (i.e., invariant to the size of the index data). This blog post summarizes the tricks I used.","links":[{"article_link":"https://hanxiao.io/2020/09/21/Numpy-Tricks-and-A-Strong-Baseline-for-Vector-Index/","code_link":"https://gist.github.com/hanxiao/43cad33b60cadd34f45236993689e5d9","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2351,"title":"Simple Transformers: Transformers Made Easy","description":"Simple Transformers removes complexity and lets you get down to what matters \u2013 model training and experimenting with the Transformer model architectures.","tags":["article","code","notebook","tutorial","huggingface","transformers","natural-language-processing","text-classification","wandb","simple-transformers"],"details":"Simple Transformers, removes complexity and lets you get down to what matters - model training and experimenting with the Transformer model architectures. It helps you bypass all the complicated setups, boilerplate code, and all the other general unpleasantness by,\r\n\r\n* initializing a model in one line\r\n* training in the next\r\n* and evaluating in the third line.\r\n\r\n**Comparisons**:\r\n\r\n* [IMDB Classification using Hugging Face Transformers](https://colab.research.google.com/drive/1_VFmRNFZIWFstAJUCwN_X-OylH5Hers1)\r\n* [IMDB Classification using SimpleTransformers](https://colab.research.google.com/drive/1mcS-q1bwGxULd4bFDMB-Pc5IchTpOSBG)\r\n","links":[{"article_link":"https://wandb.ai/wandb/gallery/reports/SimpleTransformers-Transformers-Made-Easy--VmlldzoyNDQzNTg?accessToken=aakdmyety6dd614otlk7r0vt6dunjd2t82rqo6wig57aea4rqjac7b67i0oyd2kj","code_link":"https://colab.research.google.com/drive/1mcS-q1bwGxULd4bFDMB-Pc5IchTpOSBG","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2350,"title":"Part 1: Deep Representations, a way towards neural style transfer","description":"A top down approach to conceiving neural style transfer","tags":["article","code","tutorial","keras","computer-vision","wandb","neural-style-tranfer","tensorflow2"],"details":"Artistic style transfer is an algorithm proposed by Gatys et al. In [A Neural Algorithm of Artistic Style](https://arxiv.org/abs/1508.06576), the authors talk about the difficulties in segregating the content and style of an image. The content of an image refers to the discernible objects in an image. The style of an image, on the other hand, refers to the abstract configurations of the elements in the image that make it unique. The style and content segregation is difficult because of the unavailability of representations that hold the semantic understanding of images. Now, due to the advancement of convolutional neural networks, such semantic representations are possible.\r\nThis is part one of the two. This report will be structured as follows:\r\n1. Understanding deep image representations by inverting them.\r\n2. Normalized VGG16.\r\n3. Content representations.\r\n4. Amalgamation.\r\n","links":[{"article_link":"https://wandb.ai/authors/nerual_style_transfer/reports/Part-1-Deep-Representations-a-way-towards-neural-style-transfer--VmlldzoyMjQzNDY","code_link":"https://github.com/ariG23498/NeuralStyleTransfer","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2349,"title":"Self Supervised Learning Fastai Extension","description":"Implementation of popular SOTA self-supervised learning algorithms as Fastai Callbacks.","tags":["article","code","fastai","pytorch","library","self-supervised-learning","callbacks"],"details":"Here are the list of implemented algorithms:\r\n\r\n* [SimCLR](https://arxiv.org/pdf/2002.05709.pdf)\r\n* [BYOL](https://arxiv.org/pdf/2006.07733.pdf)\r\n* [SwAV](https://arxiv.org/pdf/2006.09882.pdf)\r\n\r\n","links":[{"article_link":"https://keremturgutlu.github.io/self_supervised/","code_link":"https://github.com/keremturgutlu/self_supervised/","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2348,"title":"Layered Neural Rendering for Retiming People in Video","description":"Manipulating and editing the time in which different motions of individuals in the video occur.","tags":["article","paper","research","video","computer-vision","video-processing","retiming","layered-neural-rendering","arxiv:2009.07833"],"details":"We present a method for retiming people in an ordinary, natural video \u2014 manipulating and editing the time in which different motions of individuals in the video occur. We can temporally align different motions, change the speed of certain actions (speeding up/slowing down, or entirely \"freezing\" people), or \"erase\" selected people from the video altogether. We achieve these effects computationally via a dedicated learning-based layered video representation, where each frame in the video is decomposed into separate RGBA layers, representing the appearance of different people in the video. A key property of our model is that it not only disentangles the direct motions of each person in the input video, but also correlates each person automatically with the scene changes they generate \u2014 e.g., shadows, reflections, and motion of loose clothing. The layers can be individually retimed and recombined into a new video, allowing us to achieve realistic, high-quality renderings of retiming effects for real-world videos depicting complex actions and involving multiple individuals, including dancing, trampoline jumping, or group running.\r\n\r\n\r\n\r\n**Making all children jump into the pool together \u2014 in post-processing!** In the original video (left) each child is jumping into the pool at a different time. In our computationally retimed video (right), the jumps are aligned such that all the children jump together into the pool (notice that the child on the left remains unchanged in the input and output videos). In this paper, we present a method to produce this and other people retiming effects in natural, ordinary videos.\r\n\r\n\r\n\r\n**Decomposing a video into layers.** Our method is based on a novel deep neural network that learns a layered decomposition of the input video. Our model not only disentangles the motions of people in different layers, but can also capture the various scene elements that are correlated with those people (e.g., water splashes as the children hit the water, shadows, reflections). When people are retimed, those related elements are automatically retimed with them, which allows us to create realistic and faithful re-renderings of the video for a variety of retiming effects.","links":[{"article_link":"https://retiming.github.io/","code_link":"","research_link":"https://arxiv.org/abs/2009.07833","media_link":"https://www.youtube.com/watch?v=KAVCHR1mucw","dataset_link":"","demo_link":"","other_link":"https://retiming.github.io/supplementary/index.html"}]},{"id":2347,"title":"Ultimate Python Study Guide","description":"Ultimate Python study guide for newcomers and professionals alike.","tags":["code","tutorial","python"],"details":"## Table of contents\r\n\r\n\ud83d\udcda = External resource,\r\n\ud83c\udf70 = Beginner topic,\r\n\ud83e\udd2f = Advanced topic\r\n\r\n1. **About Python**\r\n - Overview: [What is Python](https://github.com/trekhleb/learn-python/blob/master/src/getting_started/what_is_python.md) (\ud83d\udcda, \ud83c\udf70)\r\n - Design philosophy: [The Zen of Python](https://www.python.org/dev/peps/pep-0020/) (\ud83d\udcda)\r\n - Style guide: [Style Guide for Python Code](https://www.python.org/dev/peps/pep-0008/) (\ud83d\udcda, \ud83e\udd2f)\r\n - Data model: [Data model](https://docs.python.org/3/reference/datamodel.html) (\ud83d\udcda, \ud83e\udd2f)\r\n - Standard library: [The Python Standard Library](https://docs.python.org/3/library/) (\ud83d\udcda, \ud83e\udd2f)\r\n - Built-in functions: [Built-in Functions](https://docs.python.org/3/library/functions.html) (\ud83d\udcda)\r\n2. **Syntax**\r\n - Variable: [Built-in literals](ultimatepython/syntax/variable.py) (\ud83c\udf70)\r\n - Expression: [Numeric operations](ultimatepython/syntax/expression.py) (\ud83c\udf70)\r\n - Conditional: [if | if-else | if-elif-else](ultimatepython/syntax/conditional.py) (\ud83c\udf70)\r\n - Loop: [for-loop | while-loop](ultimatepython/syntax/loop.py) (\ud83c\udf70)\r\n - Function: [def | lambda](ultimatepython/syntax/function.py) (\ud83c\udf70)\r\n3. **Data Structures**\r\n - List: [List operations](ultimatepython/data_structures/list.py) (\ud83c\udf70)\r\n - Tuple: [Tuple operations](ultimatepython/data_structures/tuple.py)\r\n - Set: [Set operations](ultimatepython/data_structures/set.py)\r\n - Dict: [Dictionary operations](ultimatepython/data_structures/dict.py) (\ud83c\udf70)\r\n - Comprehension: [list | tuple | set | dict](ultimatepython/data_structures/comprehension.py)\r\n - String: [String operations](ultimatepython/data_structures/string.py) (\ud83c\udf70)\r\n - Time complexity: [cPython operations](https://wiki.python.org/moin/TimeComplexity) (\ud83d\udcda, \ud83e\udd2f)\r\n4. **Classes**\r\n - Basic class: [Basic definition](ultimatepython/classes/basic_class.py) (\ud83c\udf70)\r\n - Abstract class: [Abstract definition](ultimatepython/classes/abstract_class.py)\r\n - Exception class: [Exception definition](ultimatepython/classes/exception_class.py)\r\n - Iterator class: [Iterator definition | yield](ultimatepython/classes/iterator_class.py) (\ud83e\udd2f)\r\n5. **Advanced**\r\n - Decorator: [Decorator definition | wraps](ultimatepython/advanced/decorator.py) (\ud83e\udd2f)\r\n - Metaclass: [Metaclass definition](ultimatepython/advanced/meta_class.py) (\ud83e\udd2f)\r\n - Method resolution order: [mro](ultimatepython/advanced/mro.py) (\ud83e\udd2f)\r\n - Asyncio: [async | await](ultimatepython/advanced/async.py) (\ud83e\udd2f)\r\n - Weak reference: [weakref](ultimatepython/advanced/weak_ref.py) (\ud83e\udd2f)\r\n - Benchmark: [cProfile | pstats](ultimatepython/advanced/benchmark.py) (\ud83e\udd2f)\r\n - Context manager: [Context managers](ultimatepython/advanced/context_manager.py) (\ud83e\udd2f)\r\n - Mocking: [MagicMock | PropertyMock | patch](ultimatepython/advanced/mocking.py) (\ud83e\udd2f)\r\n - Regular expression: [search | findall | match | fullmatch](ultimatepython/advanced/regex.py) (\ud83e\udd2f)\r\n - Data format: [json | xml | csv](ultimatepython/advanced/data_format.py) (\ud83e\udd2f)","links":[{"article_link":"","code_link":"https://github.com/huangsam/ultimate-python","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"http://ultimatepython.org/"}]},{"id":2346,"title":"What happens to developers in 2020?","description":"Complete Data Science approach to analyze programmer and programming language trends.","tags":["article","code","notebook","research","data-science"],"details":"Every year stack overflow organises a survey for developers all around the world. In this notebook I have analyzed the trends for the consecutive years 2018 and 2019. This is a small contribution from my side for the readers to understand the current situation of developers all around the world.\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n","links":[{"article_link":"https://medium.com/@pratikbaitha04/what-happens-to-programmers-in-2020-d04a6bd7452f?source=friends_link","code_link":"https://github.com/pr2tik1/developer-insights/blob/master/developer-insights.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2345,"title":"Remo","description":"\ud83d\udc30 Python lib for remo - the app for annotations and images management in Computer Vision.","tags":["article","code","notebook","library","annotation","computer-vision","image-classification","object-detection","demo","remo"],"details":"Remo is a web-based application to organize, annotate and visualize Computer Vision datasets.\r\n\r\nIt has been designed to be your team's private platform to manage images, in an end-to-end fashion.\r\n\r\nUse Remo to:\r\n\r\n* access your datasets from one place, avoiding scattered files and keeping data secure locally\r\n* quickly annotate your images. We designed our annotation tool from the ground-up\r\n* build better datasets and models, by exploring in depth your Images and Annotations data\r\n* collaborate with your team, accessing the same data remotely\r\n* Remo runs on Windows, Linux, Mac or directly in Google Colab Notebooks. It can also be served on a private server for team collaboration, or embedded in Jupyter Notebooks.\r\n\r\nThis repo is the open source repo for the Remo python library. To access the docs and try the online demo: https://remo.ai\r\n\r\n\r\n\r\n**Features**\r\n\r\n*Integration from code*\r\n\r\n* Easily visualize and browse images, predictions and annotations\r\n* Flexibility in slicing data, without moving it around: you can create virtual train/test/splits, have data in different folders or even select specific images using tags\r\n* Allows for a more standardized code interface across tasks\r\n\r\n*Annotation*\r\n\r\n* Faster annotation thanks to an annotation tool we designed from the ground-up\r\n* Manage annotation progress: organize images by status (to do, done, on hold) and track % completion\r\n* One-click edits on multiple objects: rename or delete all the objects of a class, duplicate sets of annotation","links":[{"article_link":"https://remo.ai/docs/sdk-intro/","code_link":"https://github.com/rediscovery-io/remo-python","research_link":"","media_link":"","dataset_link":"","demo_link":"https://github.com/rediscovery-io/remo-python/blob/master/examples/intro_to_remo-python.ipynb","other_link":"https://remo.ai/"}]},{"id":2344,"title":"Labelai","description":"Labelai is an online tool designed to label images, useful for training AI models.","tags":["article","code","library","annotation","computer-vision","image-classification","object-detection","demo"],"details":"Labelai is an online tool designed to label images, useful for training AI models.\r\n\r\nIt's totally client-side, there is no request to any server. It is implemented with Next.js + Preact.\r\n\r\nAnnotations are saved as XML files in PASCAL VOC format, the format used by ImageNet. Besides, it also supports YOLO format.\r\n\r\nIt's strongly inspired by [labelImg](https://github.com/tzutalin/labelImg).\r\n\r\n\r\n\r\nLabelai doesn't require any installation \ud83d\ude1c. In order to start:\r\n\r\n* Open the web app https://labelai.vercel.app/\r\n* Click 'Open'. Here you can import 3 file types: Images (.png, .jpg, .gif, .svg...), XML (PascalVOC labels) and TXT (YOLO labels). Surely the first time you are only interested in importing images, since you will not have any label saved yet. Important: if you want to import already saved labels, you must import it together with the images at the same time. In the case of YOLO, you also must import the classes.txt file.\r\n* Click and release left mouse to select a region to annotate the rect box. Then, you can name that label or select one of the already used names.\r\n* Update rect boxes. Once you already labeled a part of the image, you can resize it by clicking on a box corner, move the box using drag & drop, duplicate it (Ctrl + d) or even remove it (\u232b Delete).\r\n* Move through images. Once you finish annotating all the labels of an image, you can press to the Next and Prev button to move through images and start anottating another image. You can also use the arrows \u2192 and \u2190.\r\n* Save your changes. You can save the labels of the current file or the labels of all files. At this point, you can decide in which format you want to save them (XML for ImageNet or TXT for YOLO). In the case of YOLO, a file named classes.txt is saved too and it defines the list of class names that your YOLO label refers to.","links":[{"article_link":"https://aralroca.com/blog/labelai","code_link":"https://github.com/aralroca/labelai","research_link":"","media_link":"","dataset_link":"","demo_link":"https://labelai.vercel.app/","other_link":"https://labelai.vercel.app/"}]},{"id":2343,"title":"Pytorch Basics","description":"This Repo Contains beginner's guide to Pytorch implementation.","tags":["code","tutorial","pytorch","deep-learning","machine-learning"],"details":"","links":[{"article_link":"","code_link":"https://github.com/99sbr/pytorch_tutorials","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2342,"title":"Norfair","description":"Lightweight Python library for adding real-time 2D object tracking to any detector.","tags":["code","library","computer-vision","object-detection","object-tracking","norfair"],"details":"Norfair is a customizable lightweight Python library for real-time 2D object tracking. Using Norfair, you can add tracking capabilities to any detector with just a few lines of code.\r\n\r\n\r\n\r\n**Features**:\r\n\r\n* Any detector expressing its detections as a series of (x, y) coordinates can be used with Norfair. This includes detectors performing object detection, pose estimation, and instance segmentation.\r\n* The function used to calculate the distance between tracked objects and detections is defined by the user, making the tracker extremely customizable. This function can make use of any extra information, such as appearance embeddings, which can heavily improve tracking performance.\r\n* Modular. It can easily be inserted into complex video processing pipelines to add tracking to existing projects. At the same time it is possible to build a video inference loop from scratch using just Norfair and a detector.\r\n* Fast. The only thing bounding inference speed will be the detection network feeding detections to Norfair.","links":[{"article_link":"","code_link":"https://github.com/tryolabs/norfair","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://tryolabs.com/"}]},{"id":2341,"title":"PyTorch Forecasting","description":"Time series forecasting with PyTorch.","tags":["code","pytorch","library","forecasting","time-series","pytorch-lightning"],"details":"Pytorch Forecasting aims to ease timeseries forecasting with neural networks for both real-world cases and research alike. Specifically, the package provides:\r\n\r\n* A timeseries dataset class which abstracts handling variable transformations, missing values, randomized subsampling, multiple history lengths, etc.\r\n* A base model class which provides basic training of timeseries models along with logging in tensorboard and generic visualizations such actual vs predictions and dependency plots\r\n* Multiple neural network architectures for timeseries forecasting that have been enhanced for real-world deployment and come with in-built interpretation capabilities\r\n* Multi-horizon timeseries metrics\r\n* Ranger optimizer for faster model training\r\n* Hyperparameter tuning with optuna","links":[{"article_link":"","code_link":"https://github.com/jdb78/pytorch-forecasting","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://pytorch-forecasting.readthedocs.io/en/latest/"}]},{"id":2340,"title":"Clumper","description":"A small python library that can clump lists of data together.","tags":["article","code","python","library","data-structures","clumper"],"details":"**Features**: \r\n\r\n* This library has no dependencies besides a modern version of python.\r\n* The library offers a pattern of verbs that are very expressive.\r\n* You can write code from top to bottom, left to right.\r\n* You can read in many json/yaml/csv files by using a wildcard.\r\n* MIT License\r\n\r\n","links":[{"article_link":"https://koaning.github.io/clumper/","code_link":"https://github.com/koaning/clumper/","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2339,"title":"Neural CDEs for Long Time-Series via the Log-ODE Method","description":"NCDEs for Long Time-Series via the Log-ODE Method.","tags":["code","paper","research","time-series","neural-cde","log-ode","arxiv:2009.08295"],"details":"Neural Controlled Differential Equations (Neural CDEs) are the continuous-time analogue of an RNN. However, as with RNNs, training can quickly become impractical for long time series. Here we show that a pre-existing mathematical tool - the log-ODE method - can allow us to take integration steps larger than the discretisation of the data, resulting in significantly faster training times, with retainment (and often even improvements) in model performance.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/jambo6/neuralCDEs-via-logODEs","research_link":"https://arxiv.org/abs/2009.08295","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2338,"title":"CS 860 - Algorithms for Private Data Analysis - Fall 2020","description":"This course is on algorithms for differentially private analysis of data.","tags":["course","video","privacy","differential-privacy"],"details":"This course is on algorithms for differentially private analysis of data. As necessitated by the nature of differential privacy, this course will be theoretically and mathematically based. References to practice will be provided as relevant, especially towards the end of the course. Prerequisites include an undergraduate understanding of algorithms, comfort with probability, and mathematical maturity.\r\n","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=FJMjNOcIqkc&list=PLmd_zeMNzSvRRNpoEWkVo6QY_6rR3SHjp","dataset_link":"","demo_link":"","other_link":"http://www.gautamkamath.com/CS860-fa2020.html"}]},{"id":2337,"title":"3 Machine Learning Projects For Beginners","description":"here I give 3 simple yet highly rewarding ML projects you could start your ML journey with.","tags":["tutorial","machine-learning","machine-learning-projects","beginner-friendly-ml"],"details":"I got asked a lot this question, how can I start?\r\n\r\nWhich ML projects do you recommend I start with?\r\n\r\nHere is my best attempt at answering that question.\r\n\r\nWe're highly visual living beings so I thought computer vision ML projects could be really interesting!","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://youtu.be/yhhSYk9zt1w","dataset_link":"","demo_link":"","other_link":""}]},{"id":2336,"title":"G-SimCLR","description":"TensorFlow implementation of G-SimCLR. ","tags":["code","paper","research","tensorflow","deep-learning","computer-vision","self-supervised-learning","arxiv:2009.12007"],"details":"In the realms of computer vision, it is evident that deep neural networks perform better in a supervised setting with a large amount of labeled data. The representations learned with supervision are not only of high quality but also helps the model in enhancing its accuracy. However, the collection and annotation of a large dataset are costly and time-consuming. To avoid the same, there has been a lot of research going on in the field of unsupervised visual representation learning especially in a self-supervised setting. Amongst the recent advancements in self-supervised methods for visual recognition, in SimCLR Chen et al. shows that good quality representations can indeed be learned without explicit supervision. In SimCLR, the authors maximize the similarity of augmentations of the same image and minimize the similarity of augmentations of different images. A linear classifier trained with the representations learned using this approach yields 76.5% top-1 accuracy on the ImageNet ILSVRC-2012 dataset. In this work, we propose that, with the normalized temperature-scaled cross-entropy (NT-Xent) loss function (as used in SimCLR), it is beneficial to not have images of the same category in the same batch. In an unsupervised setting, the information of images pertaining to the same category is missing. We use the latent space representation of a denoising autoencoder trained on the unlabeled dataset and cluster them with k-means to obtain pseudo labels. With this apriori information we batch images, where no two images from the same category are to be found. We report comparable performance enhancements on the CIFAR10 dataset and a subset of the ImageNet dataset. We refer to our method as G-SimCLR.\r\n\r\n*The paper is accepted at [ICDM 2020](http://icdm2020.bigke.org/) for the [Deep Learning for Knowledge Transfer (DLKT)](https://fuzhenzhuang.github.io/DLKT2020/index.html) workshop.* ","links":[{"article_link":"","code_link":"https://github.com/ariG23498/G-SimCLR","research_link":"https://arxiv.org/abs/2009.12007","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2335,"title":"GitHub CLI 1.0: All you need to know","description":"GitHub CLI basically brings GitHub to your terminal.","tags":["article","github","cli","github-cli"],"details":"GitHub CLI basically brings GitHub to your terminal. With GitHub CLI, developers can check the status of GitHub issues and pull requests, search for a specific issue or PR, create/fork a repo, or create new issues and pull requests right from the command line.\r\n\r\nIt reduces context switching, helps you focus, and enables you to more easily script and create your own workflows.\r\n\r\nWhat will be covered in this blog post:\r\n\r\n* What Is GitHub CLI\r\n* How to download and Authenticate\r\n* Managing GitHub Repositories using GitHub CLI\r\n* Working with Pull Requests using GitHub CLI\r\n* Managing GitHub Issues using GitHub CLI\r\n* Working with GitHub gist using GitHub CLI\r\n* GitHub alias using GitHub CLI","links":[{"article_link":"https://ayushi7rawat.hashnode.dev/github-cli-10-all-you-need-to-know","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2334,"title":"Python 3.9: All You need to know","description":"The next version of Python brings a faster release schedule, performance boosts, handy new string functions, dictionary union operators, and more stable APIs.","tags":["article","python"],"details":"The next version of Python brings a faster release schedule, performance boosts, handy new string functions, dictionary union operators, and more consistent and stable internal APIs.\r\n\r\nThis Blog post will cover:\r\n\r\n- Dictionary Unions and Update with Iterables\r\n- String methods\r\n- Type hinting\r\n- New math Functions\r\n- New parser\r\n- IPv6 Scoped Addresses\r\n- New Module: Zoneinfo\r\n- Other Language Changes\r\n\r\n","links":[{"article_link":"https://ayushi7rawat.hashnode.dev/python-39-all-you-need-to-know","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2333,"title":"Machine Learning-Enabled Design of Point Defects in 2D Materials ","description":"Using deep transfer learning, machine learning, and quantum mechanical calculations we predict key properties of point defects in 2D materials.","tags":["article","code","dataset","paper","research","deep-learning","machine-learning","transfer-learning"],"details":"**Objectives**\r\n\r\n* Develop a machine learning approach to predict key properties in two-dimensional materials for emerging nanotechnologies\r\n* Construct a machine-learnable representation of defects in nanomaterials\r\n\r\n**Highlights**\r\n\r\n* Evaluated over 1,000 defect structures with machine learning and quantum mechanical simulations\r\n* Identified over 100 promising defect structures for quantum and neuromorphic information applications\r\n\r\n**Takeaways**\r\n\r\n* Deep transfer learning can be used to make predictions on small nanomaterials datasets\r\n* Machine learning enables rapid evaluation of candidate nanomaterials for future technologies\r\n\r\n**Next Steps**\r\n\r\n* Active learning to efficiently identify optimal materials for desired applications\r\n* Incorporate more complex physics-based modeling to predict other properties of interest ","links":[{"article_link":"https://medium.com/@ncfrey/quantum-and-brain-like-technologies-with-defective-materials-a685ee5bb47c","code_link":"https://github.com/ncfrey/defect-design","research_link":"https://pubs.acs.org/doi/abs/10.1021/acsnano.0c05267","media_link":"","dataset_link":"https://figshare.com/collections/Defect_design/4946874","demo_link":"","other_link":""}]},{"id":2332,"title":"Recurrent Neural Networks: building GRU cells VS LSTM cells ","description":"What are the advantages of RNN\u2019s over transformers? When to use GRU\u2019s over LSTM? What are the equations of GRU really mean? How to build a GRU cell in Pytorch?","tags":["article","code","tutorial","deep-learning","gated-recurrent-units","lstm","machine-learning","recurrent-neural-networks","sequence-to-sequence","transformers","natural-language-processing"],"details":"","links":[{"article_link":"https://theaisummer.com/gru/","code_link":"https://github.com/The-AI-Summer/RNN_tutorial","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://theaisummer.com/understanding-lstm/"}]},{"id":2331,"title":"Distributed Linear Regression with cuML","description":"How to scale GPU machine learning with Dask (w/ code + data)","tags":["article","code","notebook","tutorial","linear-regression","machine-learning","regression","gpu","dask","data-science","cuml","rapids"],"details":"","links":[{"article_link":"https://medium.com/dropout-analytics/distributed-linear-regression-with-cuml-b4f32d727e22?source=friends_link&sk=458531bdbb4cf88060d06736f2d4c646","code_link":"https://github.com/Dropout-Analytics/cuml_linear_regression/blob/master/distributed/distributed_linear_regression.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2330,"title":"Beginner\u2019s Guide to Logistic Regression with cuML","description":"What is Logistic Regression? And how to implement it in Python with RAPIDS cuML","tags":["article","code","dataset","notebook","logistic-regression","machine-learning","regression","gpu","data-science","cuml","rapids"],"details":"","links":[{"article_link":"https://medium.com/dropout-analytics/beginners-guide-to-logistic-regression-with-cuml-5061086d8694?source=friends_link&sk=2d8d0f7ddd43ccaaf264afcbadeea231","code_link":"https://github.com/Dropout-Analytics/cuml_logistic_regression/blob/master/logistic_regression.ipynb","research_link":"","media_link":"","dataset_link":"https://raw.githubusercontent.com/gumdropsteve/datasets/master/dog_or_horse.csv","demo_link":"","other_link":""}]},{"id":2329,"title":"Beginner\u2019s Guide to KNN with cuML","description":"What is K-Nearest Neighbors? And how to implement it in Python with RAPIDS cuML.","tags":["article","code","dataset","notebook","machine-learning","k-nearest-neighbors","open-source","gpu","data-science","cuml","rapids"],"details":"","links":[{"article_link":"https://medium.com/dropout-analytics/beginners-guide-to-knn-with-cuml-ddca099f9e9d?source=friends_link&sk=2c1ba843151c0c538fff7bd61fd6eeb1","code_link":"https://github.com/Dropout-Analytics/cuml_knn/blob/master/knn.ipynb","research_link":"","media_link":"","dataset_link":"https://raw.githubusercontent.com/gumdropsteve/datasets/master/iris.csv","demo_link":"","other_link":""}]},{"id":2328,"title":"Distilling Knowledge in Neural Networks","description":"This project demonstrates the compelling model optimization technique - knowledge distillation with code walkthroughs in TensorFlow. ","tags":["article","code","tutorial","tensorflow","computer-vision","wandb","model-optimization"],"details":"\u201cModel ensembles are a pretty much-guaranteed way to gain 2% of accuracy on anything.\u201d - Andrej Karpathy.\r\n\r\nI absolutely agree! However, deploying an ensemble of heavyweight models may not always be feasible in many cases. Sometimes, your single model could be so large (GPT-3, for example) that deploying it in resource-constrained environments is often not possible. This is why we have been going over some of model optimization recipes - Quantization and Pruning. This report is the last one in this series. In this report, we will discuss a compelling model optimization technique - knowledge distillation. I have structured the accompanying article into the following sections -\r\n\r\n* What is softmax telling us?\r\n* Using the softmax information for teaching - Knowledge distillation\r\n* Loss functions in knowledge distillation\r\n* A few training recipes\r\n* Experimental results\r\n* Conclusion","links":[{"article_link":"https://wandb.ai/authors/knowledge-distillation/reports/Distilling-Knowledge-in-Neural-Networks--VmlldzoyMjkxODk","code_link":"https://github.com/sayakpaul/Knowledge-Distillation-in-Keras","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2327,"title":"Paint with Machine Learning","description":"This web app allows you to create a landscape painting in the style of Bob Ross using a deep learning model served using a Spell model server.","tags":["article","pytorch","generative-adversarial-networks","web-design","computer-vision","image-classification","image-to-image-translation","interactive","demo"],"details":"This web app allows you to create a landscape painting in the style of Bob Ross using a deep learning model served using a Spell model server. To do so paint some shapes on the canvas with a set of thematic (trees, mountains, etcetera) brushes provided to you. The shapes you paint are sent to a model server endpoint, which computes an output and presents it on the other screen.","links":[{"article_link":"https://spell.ml/blog/paint-with-ml-deep-learning-X2ALJRAAACQAXYTZ","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"http://paintwith.spell.ml/","other_link":""}]},{"id":2326,"title":"NLP for Developers: Multilingual NLP | Rasa","description":"In this video, Rasa Developer Advocate Rachael will talk about common approaches to handle language input in more than one language.","tags":["video","multilingual","natural-language-processing","rasa"],"details":"In this video, Rasa Developer Advocate Rachael will talk about common approaches to handle language input in more than one language.\r\n\r\n- \u201c[A Multilingual DemoBot, deployable on Heroku](https://rasa.com/showcase/multilingual-demobot)\u201d by Thomas Zezula\r\n- \u201c[Challenges of Computational Processing of Code-Switching](https://www.aclweb.org/anthology/W16-5801/)\u201d by \u00d6zlem \u00c7etino\u011flu, Sarah Schulz and Ngoc Thang Vu from Proceedings of the Second Workshop on Computational Approaches to Code Switching, 2016","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=jMGgT4lgI28","dataset_link":"","demo_link":"","other_link":""}]},{"id":2325,"title":"Implementing Content-Based Image Retrieval with Siamese Networks","description":"With content-based image retrieval, we refer to the task of finding images containing attributes which are not in the image metadata, but in its visual content.","tags":["article","pytorch","siamese-networks","computer-vision","image-similarity-search","image-retrieval"],"details":"In this post we:\r\n\r\n* explain the theoretical concepts behind content-based image retrieval, \r\n* show step by step how to build a content-based image retrieval system with PyTorch, addressing a specific application: finding face images with a set of given face attributes (i.e. male, blond, smiling).\r\n\r\n","links":[{"article_link":"https://neptune.ai/blog/content-based-image-retrieval-with-siamese-networks","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2324,"title":"Character level language model RNN","description":"This is a commentary of the min char language model of [@karpathy](https://twitter.com/karpathy).","tags":["article","tutorial","recurrent-neural-networks"],"details":"[@karpathy](https://twitter.com/karpathy) has been a legend with making intuitive models. His famous blog on Recurrent Neural Network, [The Unreasonable Effectiveness of Recurrent Neural Networks](https://karpathy.github.io/2015/05/21/rnn-effectiveness/) is one of the best there is. While explaining RNNs he links the readers to his famous gist on [character level language model](https://gist.github.com/karpathy/d4dee566867f8291f086). I have gone a little further to add commentary to the code. The losses being derived provides further intuition to the code.","links":[{"article_link":"https://arig23498.github.io/char-level-language-model","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2323,"title":"DeepTrain","description":"Abstract away boilerplate train loop and data loading code, without making it into a black box. ","tags":["code","tensorflow","library","template","deeptrain"],"details":"DeepTrain is founded on control and introspection: full knowledge and manipulation of the train state.\r\n\r\n### What does it do?\r\nAbstract away boilerplate train loop and data loading code, without making it into a black box. Code is written intuitively and fully documented. Everything about the train state can be seen via dedicated attributes; which batch is being fit and when, how long until an epoch ends, intermediate metrics, etc.\r\n\r\nDeepTrain is not a \u201cwrapper\u201d around TF; while currently only supporting TF, fitting and data logic is framework-agnostic.\r\n\r\n\r\n\r\n\r\n### Features\r\n\r\n**Train Loop**\r\n\r\n* Control: iteration-, batch-, epoch-level customs\r\n* Resumability: interrupt-protection, can pause mid-training\r\n* Tracking & reproducibility: save & load model, train state, random seeds, and hyperparameter info\r\n* Callbacks at any stage of training or validation\r\n\r\n**Data Pipeline**\r\n\r\n* AutoData: need only path to directory, the rest is inferred (but can customize)\r\n* Faster SSD loading: load larger batches to maximize read speed utility\r\n* Flexible batch size: can differ from that of loaded files, will split/combine\r\n* Stateful timeseries: splits up a batch into windows, and reset_states() (RNNs) at end\r\n* Iter-level preprocessor: pass batch & labels through Preprocessor() before feeding to model\r\n* Loader function: define custom data loader for any file extension, handled by DataLoader()\r\n\r\n**Introspection**\r\n\r\n* Data: batches and labels are enumerated by \u201cset nums\u201d; know what\u2019s being fit and when\r\n* Model: auto descriptive naming; gradients, weights, activations visuals\r\n* Train state: single-image log of key attributes & hyperparameters for easy reference\r\n\r\n**Utilities**\r\n\r\n* Preprocessing: batch-making and format conversion methods\r\n* Calibration: classifier prediction threshold; best batch subset selection (for e.g. ensembling)\r\n* Algorithms: convenience methods for object inspection & manipulation\r\n* Callbacks: reusable methods with other libraries supporting callbacks","links":[{"article_link":"","code_link":"https://github.com/OverLordGoldDragon/deeptrain","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://deeptrain.readthedocs.io/en/latest/index.html"}]},{"id":2322,"title":"Tic Tac Toe - Trainable AI","description":"Teach a website TicTacToe by playing games and asking the neural network to learn from previous games. You can watch it learn.","tags":["article","code","javascript","react","tensorflow","tensorflow-js","machine-learning"],"details":"Using a simple perceptron based neural network, can you teach an AI to play tictactoe, effectively overfitting the data. Ultimately, the simple sequential model learns how to play perfect games.","links":[{"article_link":"https://twitter.com/GantLaborde/status/1304063504526258178?s=20","code_link":"https://github.com/GantMan/tictactoe-ai-tfjs","research_link":"","media_link":"https://youtu.be/1zdHZvRbHwE","dataset_link":"","demo_link":"","other_link":"https://www.tensorflowtictactoe.co/"}]},{"id":2321,"title":"Machine Learning Educators on Twitter","description":"A curated list of people who make Machine Learning concepts clear and accessible through their blog posts, videos, books and courses.","tags":["article","machine-learning"],"details":"","links":[{"article_link":"https://twitter.com/i/lists/1236654402338820104","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2320,"title":"Getting Oriented in the RAPIDS Distributed ML Ecosystem, ETL","description":"This blog post, the first of two exploring this emerging ecosystem, is an introduction to distributed ETL using the dask, cudf, and dask_cudf APIs.","tags":["article","pandas","cudf","gpu","dask","exploratory-data-analysis","rapids"],"details":"For a long time being a data scientist that worked with large datasets and/or models meant mastering two sets of tools, one for local work and one for \"big data\". `pandas`, `numpy`, and `scikit-learn` make it easy to do stuff on your local machine, but can\u2019t handle anything too big to fit in RAM. Once data gets too big, or training too costly, you have to move on to a \"big data\" tool that pools the resources of several machines together to get the job done. This traditionally meant Apache Spark, which, though powerful, requires learning a brand new API and maybe even a brand new language (performance Spark code is written in Scala).\r\n\r\nEnter Dask. Dask is a distributed ETL tool that\u2019s tightly integrated into the Python data science ecosystem. Dask is extremely popular among data scientists because its core API is a subset of the `pandas`, `numpy`, and `scikit-learn` APIs. This flattens the learning curve considerably: most Pythonistas can be productive with Dask almost immediately.\r\n\r\nAs part of its RAPIDS initiative, NVIDIA is going one step further, partnering with the community to build an ecosystem for distributed data science on GPUs on top of Dask. Their new `cudf` Python package already boasts some pretty impressive results\u200a\u2014\u200alike this one from Capital One Labs showing a log-scale speedup for an internal ETL job that was previously being run on CPU.\r\n\r\nThis blog post, the first of two exploring this emerging ecosystem, is an introduction to distributed ETL using the dask, cudf, and dask_cudf APIs. We build the following mental map of the ecosystem:\r\n\r\n","links":[{"article_link":"https://spell.ml/blog/getting-oriented-in-the-rapids-distributed-ml-ecosystem-part-1-X1gixBIAAJ7nyzHa","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2319,"title":"Cartoonizer with TensorFlow.js","description":"An app to turn your photos into cartoon-styled images \ud83c\udfa8 within your browsers using White-box Cartoonization GAN.","tags":["code","tensorflow","tensorflow-js","generative-adversarial-networks","computer-vision","image-to-image-translation","demo"],"details":"**[App preview][liveapp]**: Upload an image or try examples\r\n\r\n[][liveapp]\r\n\r\n- Try demo: https://gramener.com/cartoonizer/\r\n- All your data stays in your browser\r\n- Uses #TensorFlowJS WebAssembly\r\n- Model size ~1.5MB\r\n- Takes 5-10s in CPU browsers\r\n\r\nWe used Generative Adversarial Network (GAN) model proposed in \r\n[Learning to Cartoonize Using White-box Cartoon Representations][cvpr2020] (CVPR 2020) by Xinrui Wang and Jinze Yu.\r\n\r\nOur idea was to test if it is reasonably possible to perform model inferences in\r\nthe browser clients with CPUs only. Without needing to send any of user's data (images) to servers.\r\n\r\nHere's the application flow and architecture:\r\n\r\n\r\n
\r\n
\r\n\r\nThis work was possible due to \r\n- [Margaret Maynard-Reid](https://twitter.com/margaretmz) and [Sayak Paul](https://twitter.com/RisingSayak)'s work on [How to Create a Cartoonizer with TensorFlow Lite](https://blog.tensorflow.org/2020/09/how-to-create-cartoonizer-with-tf-lite.html)\r\n- [Xinrui Wang](https://github.com/SystemErrorWang/) and Jinze Yu's original work on [White-box CartoonGAN][cvpr2020]\r\n\r\n#### Citation\r\nXinrui Wang and Jinze Yu are the original authors of [White-box CartoonGAN][cvpr2020].\r\n```\r\n@InProceedings{Wang_2020_CVPR, \r\nauthor = {Wang, Xinrui and Yu, Jinze, \r\ntitle = {Learning to Cartoonize Using White-Box Cartoon Representations, \r\nbooktitle = {IEEE/CVF Conference on Computer Vision and Pattern Recognition (CVPR)}, \r\nmonth = {June}, year = {2020} }\r\n```\r\n\r\n#### Links\r\n\r\n- Original [White-box Cartoonization Repo](https://github.com/SystemErrorWang/White-box-Cartoonization)\r\n- Cartoonizer with [TensorFlow Lite Repo](https://github.com/margaretmz/Cartoonizer-with-TFLite)\r\n- [Live application][liveapp]\r\n- [Repo](https://github.com/pratapvardhan/cartoonizer-with-tfjs/), [Notebook](https://github.com/pratapvardhan/cartoonizer-with-tfjs/blob/master/White_box_Cartoonization.ipynb), [Colab](https://colab.research.google.com/github/pratapvardhan/cartoonizer-with-tfjs/blob/master/White_box_Cartoonization.ipynb)\r\n- [Tweet](https://twitter.com/PratapVardhan/status/1305489788976484354)\r\n\r\n[cvpr2020]: https://openaccess.thecvf.com/content_CVPR_2020/papers/Wang_Learning_to_Cartoonize_Using_White-Box_Cartoon_Representations_CVPR_2020_paper.pdf\r\n[liveapp]: https://gramener.com/cartoonizer/\r\n[repo]: https://github.com/pratapvardhan/cartoonizer-with-tfjs/","links":[{"article_link":"","code_link":"https://github.com/pratapvardhan/cartoonizer-with-tfjs/","research_link":"","media_link":"","dataset_link":"","demo_link":"https://gramener.com/cartoonizer/","other_link":""}]},{"id":2318,"title":"Jepto - Digital Marketing Analytics","description":"KPI Prediction and Anomaly Detection of digital marketing data for both technical and non-technical marketers and business owners.","tags":["article","anomaly-detection","time-series","time-series-forecasting"],"details":"Under the hood we are using Facebook's Prophet and Twitter's Seasonal Hybrid-ESD algorithms and then created a GUI for non technical marketers to apply them. We expose all of the hyper parameters so users can fine tune and see the results in real time.","links":[{"article_link":"https://www.jepto.com","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2317,"title":"End-to-end Object Detection in TensorFlow Lite","description":"This project shows how to train a custom detection model with the TFOD API, optimize it with TFLite, and perform inference with the optimized model.","tags":["code","tutorial","tensorflow","computer-vision","object-detection","tensorflow-lite"],"details":"The project shows how to train a custom detection model with the **[TFOD API](https://github.com/tensorflow/models/tree/master/research/object_detection)** (TF2 and TF1), optimize it with TFLite, and perform inference with the optimized model. It contains the following notebooks (pardon the naming) - \r\n\r\n* `Training_a_pets_detector_model_within_minutes_with_TFOD_API.ipynb`: Shows how to train a custom object detection model on the Pets dataset (non-eager mode) with Cloud TPUs. Note that it does not use TPUs offered by Colab.\r\n* `Running_inference_with_a_custom_TFOD_API_model.ipynb`: Shows how to export a SavedModel graph from the trained checkpoint files, and run inference.\r\n* `Object_Detection_in_TFLite.ipynb`: Shows how to quantize the original model, generate a TFLite model, and run inference.\r\n* `Training_MobileDet_Custom_Dataset.ipynb`: Shows how to train a custom object detection model on the Pets dataset (non-eager mode) on Colab (GPU), optimize the fine-tuned model with TFLite, and perform inference with the optimized model. ","links":[{"article_link":"","code_link":"https://github.com/sayakpaul/E2E-Object-Detection-in-TFLite/","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2316,"title":"Transformers are Graph Neural Networks","description":"My engineering friends often ask me: deep learning on graphs sounds great, but are there any real applications?","tags":["article","transformers","graph-neural-networks","natural-language-processing"],"details":"While Graph Neural Networks are used in recommendation systems at Pinterest, Alibaba and Twitter, a more subtle success story is the Transformer architecture, which has taken the NLP world by storm. Through this post, I want to establish a link between Graph Neural Networks (GNNs) and Transformers. I'll talk about the intuitions behind model architectures in the NLP and GNN communities, make connections using equations and figures, and discuss how we can work together to drive future progress. Let's start by talking about the purpose of model architectures\u2014representation learning.","links":[{"article_link":"https://thegradient.pub/transformers-are-graph-neural-networks/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2315,"title":"The Curse of Dimensionality\u2026 minus the curse of jargon","description":"In a nutshell, it\u2019s all about loneliness\r\n","tags":["article","dimensionality-reduction","curse-of-dimensionality"],"details":"The **curse of dimensionality**! What on earth is that? Besides being a prime example of shock-and-awe names in machine learning jargon (which often sound far fancier than they are), it\u2019s a reference to the effect that adding more features has on your dataset. In a nutshell, the curse of dimensionality is all about loneliness.","links":[{"article_link":"https://towardsdatascience.com/the-curse-of-dimensionality-minus-the-curse-of-jargon-520da109fc87","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2314,"title":"The Sorcerer\u2019s Apprentice Guide to Training LSTMs","description":"Tricks of the trade for training Long Short-Term Memory networks.","tags":["article","lstm","recurrent-neural-networks","tips"],"details":"Last year, I took a course at the Johannes Kepler University in Linz, Austria on the topic of Recurrent Neural Networks and Long Short-Term Memory Networks. There, Sepp Hochreiter shared some of the \u201cmagic tricks\u201d he and his team employ for training LSTMs. This blog post is the accumulation of some of my notes.\r\n\r\nFor this post, I assume you are already familiar with LSTMs. If not, I suggest you begin with Chris Olah\u2019s [Understanding LSTM Networks](http://colah.github.io/posts/2015-08-Understanding-LSTMs/) and then go on to read the original LSTM work [1] .","links":[{"article_link":"https://www.niklasschmidinger.com/posts/2020-09-09-lstm-tricks/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2313,"title":"DCGAN, cGAN, vGAN in PyTorch (beginner-friendly)","description":"Beginner friendly, PyTorch implementation of various GAN architectures.","tags":["code","tutorial","deep-learning","generative-adversarial-networks"],"details":"It's beginner-friendly in the sense that all of the major design decisions are explicitly communicated through comments, and I've tried to make it as clean and readable as possible.","links":[{"article_link":"","code_link":"https://github.com/gordicaleksa/pytorch-gans","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2312,"title":"Codequestion","description":"Ask coding questions directly from the terminal.","tags":["article","code","dataset","fasttext","library","embeddings","natural-language-processing","question-answering","sentence-embeddings"],"details":"codequestion is a Python application that allows a user to ask coding questions directly from the terminal. Many developers will have a web browser window open while they develop and run web searches as questions arise. codequestion attempts to make that process faster so you can focus on development.\r\n\r\n","links":[{"article_link":"https://towardsdatascience.com/building-a-sentence-embedding-index-with-fasttext-and-bm25-f07e7148d240","code_link":"https://github.com/neuml/codequestion","research_link":"","media_link":"","dataset_link":"https://archive.org/details/stackexchange","demo_link":"","other_link":""}]},{"id":2311,"title":"PyTorch vs TensorFlow?","description":"Make a data-driven decision about which one you should be using.","tags":["tutorial","pytorch","tensorflow","deep-learning"],"details":"Oh the epic battle, the age-old question (= 4 years old) which deep learning framework should I be using?\r\n\r\nPyTorch or TensorFlow?\r\n\r\nIf PyTorch, why? The same goes for TF.\r\n\r\nIn this video, I do some data-driven analysis and make some suggestions on what you should be using depending on your context.","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://youtu.be/NuJB-RjhMH4","dataset_link":"","demo_link":"","other_link":""}]},{"id":2310,"title":"Image Super-Resolution","description":"In this project we learn how to train a super-resolution model ESPCN on DIV2K dataset to upscale images using AI by 3x","tags":["article","research","tutorial","artificial-general-intelligence","deep-learning","machine-learning","computer-vision","super-resolution"],"details":"Deep learning techniques have been fairly successful in solving the problem of image and video super-resolution. In this project we will discuss the theory involved, various techniques used, loss functions, metrics, and relevant datasets. You can run the code for one of the models we'll cover, ESPCN for free on the ML Showcase.\r\n\r\nThere are many methods used to solve this task. We will cover the following:\r\n\r\n* Pre-Upsampling Super Resolution\r\n* Post-Upsampling Super Resolution\r\n* Residual Networks\r\n* Multi-Stage Residual Networks\r\n* Recursive Networks\r\n* Progressive Reconstruction Networks\r\n* Multi-Branch Networks\r\n* Attention-Based Networks\r\n* Generative Models\r\nWe'll look at several example algorithms for each.\r\n\r\nThe content of the article is available at https://blog.paperspace.com/image-super-resolution/","links":[{"article_link":"https://blog.paperspace.com/image-super-resolution/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://ml-showcase.paperspace.com/projects/image-super-resolution"}]},{"id":2309,"title":"Bike rental count prediction'","description":"Bike-rental-count-prediction\r\nThe objective of this Case is to Prediction of bike rental count on daily basis on the environmental and seasonal settings.","tags":["code","decision-trees","machine-learning","random-forests","decision-tree"],"details":"**Bike-rental-count-prediction**\r\nThe objective of this Case is to Prediction of bike rental count on daily basis on the environmental and seasonal settings.\r\n\r\n**Problem Statement**\r\nA bike rental is a bicycle business that rents bikes for short periods of time.\r\nMost rentals are provided by bike shops as a sideline to their main businesses of sales and service, but some shops specialize in rentals.\r\nBike rental shops rent by the day orweek as well as by the hour, and these provide an excellent opportunity for people who don't have access to a vehicle, typically travelers and particularly tourists.\r\n\r\nSpecialized bike rental shops thus typically operate at beaches, parks, or other locations that tourists frequent. In this case, the fees are set to encourage renting the bikes for a few hours at a time, rarely more than a day.\r\n\r\n**Objective**\r\nThe objective of this Case is to predict the bike rental count based on the environmental and seasonal settings, Sothat required bikes would be arranged and managed by the shops according to environmental and seasonal conditions.\r\n\r\n**Data**\r\nOur task is to build regression models which will predict the count of bike rented depending on various environmental and seasonal conditions Given below is a sample of the data set that we are using to predict the count of bike rents:\r\nVariables present in given dataset are instant, dteday, season, yr, mnth, holiday,weekday, workingday, weathersit, temp, atemp, hum, windspeed, casual,registered, cnt The details of variable present in the dataset are as follows -\r\n\r\ninstant: Record index\r\n\r\ndteday: Date\r\n\r\nseason: Season (1:springer, 2:summer, 3:fall, 4:winter)\r\n\r\nyr: Year (0: 2011, 1:2012)\r\n\r\nmnth: Month (1 to 12)\r\n\r\nhr: Hour (0 to 23)\r\n\r\nholiday: weather day is holiday or not (extracted fromHoliday Schedule)\r\n\r\nweekday: Day of the week\r\n\r\nworkingday: If day is neither weekend nor holiday is 1, otherwise is 0.\r\n\r\nweathersit: (extracted fromFreemeteo)\r\n\r\n1: Clear, Few clouds, Partly cloudy, Partly cloudy\r\n\r\n2: Mist + Cloudy, Mist + Broken clouds, Mist + Few clouds, Mist\r\n\r\n3: Light Snow, Light Rain + Thunderstorm + Scattered clouds, Light Rain + Scattered clouds\r\n\r\n4: Heavy Rain + Ice Pallets + Thunderstorm + Mist, Snow + Fog temp:\r\nNormalized temperature in Celsius. The values are derived via (t-t_min)/(t_max-t_min), t_min=-8, t_max=+39 (only in hourly scale)\r\n\r\natemp: Normalized feeling temperature in Celsius. The values are derived via (t-t_min)/(t_maxt_min), t_min=-16, t_max=+50 (only in hourly scale)\r\n\r\nhum: Normalized humidity. The values are divided to 100 (max)\r\n\r\nwindspeed: Normalized wind speed. The values are divided to 67 (max)\r\n\r\ncasual: count of casual users\r\n\r\nregistered: count of registered users\r\n\r\ncnt: count of total rental bikes including both casual and registeredregisteredregisteredregistered","links":[{"article_link":"","code_link":"https://github.com/tanya9691/Bike-rental-count-prediction","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2308,"title":"ExplainX","description":"ExplainX is an explainable AI framework for data scientists to explain any black-box model behavior to business stakeholders.\r\n\r\n","tags":["code","video","library","interpretability","explainx"],"details":"ExplainX.ai is a fast, scalable and end-to-end Explainable AI framework for data scientists & machine learning engineers. With explainX, you can understand overall model behavior, get the reasoning behind model predictions, remove biases and create convincing explanations for your business stakeholders. \r\n\r\n\r\n\r\nEssential for:\r\n\r\n* Model debugging - Why did my model make a mistake? How can I improve the accuracy of the model?\r\n* Detecting fairness issues - Is my model biased? If yes, where?\r\n* Human-AI cooperation - How can I understand and trust the model's decisions?\r\n* Regulatory compliance - Does my model satisfy legal & regulatory requirements?\r\n* High-risk applications - Healthcare, Financial Services, FinTech, Judicial, Security etc.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/explainX/explainx","research_link":"","media_link":"https://www.youtube.com/watch?v=X3fk-r2G15k","dataset_link":"","demo_link":"","other_link":"https://www.explainx.ai/"}]},{"id":2307,"title":"Target Encoding with RAPIDS cuML: Do More with Categorical Data","description":"Walk through the design of target encoding with RAPIDS cuML.","tags":["article","code","notebook","encoder","cuml","rapids","categorical-data"],"details":"We are happy to announce that TargetEncoder has come to RAPIDS cuML 0.15 with a simple scikit-learn transformer-style API and 100x speedup with a single GPU. In this blog, we will discuss how to use the new TargetEncoder feature in cuML and show that it could boost both accuracy and performance significantly. The [full notebook](https://github.com/rapidsai/cuml/blob/branch-0.16/notebooks/target_encoder_walkthrough.ipynb) can be found in cuML\u2019s repo.","links":[{"article_link":"https://medium.com/rapids-ai/target-encoding-with-rapids-cuml-do-more-with-your-categorical-data-8c762c79e784","code_link":"https://github.com/rapidsai/cuml/blob/branch-0.16/notebooks/target_encoder_walkthrough.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2306,"title":"Optimus","description":"\ud83d\ude9a Agile Data Preparation Workflows made easy with dask, cudf, dask_cudf and pyspark.","tags":["code","library","preprocessing","cudf","dask","pyspark","exploratory-data-analysis","optimus"],"details":"Optimus is the missing framework to profile, clean, process and do ML in a distributed fashion using Apache Spark(PySpark).\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/ironmussa/Optimus","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://hi-optimus.com/"}]},{"id":2305,"title":"DeepSpeed: Extreme-scale model training for everyone","description":"DeepSpeed is a deep learning optimization library that makes distributed training easy, efficient, and effective.","tags":["article","code","pytorch","library","distributed-training","gpu","deepspeed"],"details":"DeepSpeed is a deep learning optimization library that makes distributed training easy, efficient, and effective.\r\n\r\n* 10x Larger Models\r\n* 10x Faster Training\r\n* Minimal Code Change\r\n\r\nDeepSpeed delivers extreme-scale model training for everyone, from data scientists training on massive supercomputers to those training on low-end clusters or even on a single GPU:\r\n\r\n* **Extreme scale**: Using current generation of GPU clusters with hundreds of devices, 3D parallelism of DeepSpeed can efficiently train deep learning models with trillions of parameters.\r\n* **Extremely memory efficient**: With just a single GPU, ZeRO-Offload of DeepSpeed can train models with over 10B parameters, 10x bigger than the state of arts, democratizing multi-billion-parameter model training such that many deep learning scientists can explore bigger and better models.\r\n* **Extremely long sequence length**: Sparse attention of DeepSpeed powers an order-of-magnitude longer input sequence and obtains up to 6x faster execution comparing with dense transformers.\r\n* **Extremely communication efficient**: 3D parallelism improves communication efficiency allows users to train multi-billion-parameter models 2\u20137x faster on clusters with limited network bandwidth. 1-bit Adam reduces communication volume by up to 5x while achieving similar convergence efficiency to Adam, allowing for scaling to different types of GPU clusters and networks.","links":[{"article_link":"https://www.microsoft.com/en-us/research/blog/deepspeed-extreme-scale-model-training-for-everyone/","code_link":"https://github.com/microsoft/DeepSpeed","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://www.deepspeed.ai/"}]},{"id":2304,"title":"Graph Neural Networks","description":"A descriptive guide for Graph Neural Networks.","tags":["article","tutorial","graph-neural-networks"],"details":"","links":[{"article_link":"https://medium.com/@parthplc/a-visual-guide-to-graph-neural-network-fcda66fff3e1","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2303,"title":"Doodle Recognition using PyTorch","description":"Multi-Class Image Classification using CNN ","tags":["article","research","tutorial","python","pytorch","convolutional-neural-networks","deep-learning","dimensionality-reduction"],"details":"","links":[{"article_link":"https://pr2tik1.github.io/blog/pytorch/cnn/pca/t-sne/2020/09/08/Sketch-Recognition.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2302,"title":"Recurrent neural networks: building a custom LSTM cell in Pytorch","description":"Are you interested to see how RNN's process sequences under the hood? That\u2019s what this article is all about. We are going build our our own custom LSTM model.","tags":["article","code","notebook","deep-learning","machine-learning","recurrent-neural-networks"],"details":"An infinite amount of times I have found myself in desperate situations because I had no idea what was happening under the hood. And, for a lot of people in the computer vision community, recurrent neural networks (RNNs) are like this. More or less, another black box in the pile.\r\n\r\nHowever, in this tutorial, we will attempt to open the RNN magic black box and unravel its mysteries!\r\n\r\nEven though I have come across hundreds of tutorials on LSTM\u2019s out there, I felt there was something missing. Therefore, I honestly hope that this tutorial serves as a modern guide to RNNs. We try to deal with multiple details of practical nature. To this end, we will build upon their fundamental concepts.","links":[{"article_link":"https://theaisummer.com/understanding-lstm/","code_link":"https://colab.research.google.com/drive/1Rb8OiF-AZ_Y3uFj1O2S0IyocFMhHoTCV","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://theaisummer.com/Bitcon_prediction_LSTM/"}]},{"id":2301,"title":"Unsupervised Visual Representation Learning with SwAV","description":"In this report, we explore the SwAV framework, as presented in \"Unsupervised Learning of Visual Features by Contrasting Cluster Assignments\" by Caron et al.","tags":["article","code","research","tutorial","tensorflow","contrastive-loss","self-supervised-learning","unsupervised-learning","wandb","visual-representation-learning"],"details":"Here's the content of the article:\r\n\r\n* Common problems in existing self-supervised methods (for visual representation learning)\r\n* SwAV at a high-level\r\n* Multi-crop augmentation policy and its promise\r\n* Contrasting the cluster assignments \r\n * Cluster assignment as an optimal transport problem\r\n * Swapped prediction problem to enforce consistency\r\n* A single forward pass in SwAV\r\n* Experimental results\r\n* Conclusion","links":[{"article_link":"https://app.wandb.ai/authors/swav-tf/reports/Unsupervised-Visual-Representation-Learning-with-SwAV--VmlldzoyMjg3Mzg","code_link":"https://github.com/ayulockin/SwAV-TF","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2300,"title":"Real Python Recommendation Engine","description":"A full stack data science project that performs document similarity on RealPython.com content. Content recommendations are implemented via a Chrome extension.","tags":["code","fastapi","spacy","full-stack","library","natural-language-processing","data-science","demo"],"details":"The ultimate goal for this project was to create an article (or content) recommendation engine for the [RealPython.com](https://realpython.com/) website. As a frequent consumer of their tutorials, I found myself finishing tutorials and looking for more content, but didn't know how to find it. \r\n\r\nI hope other ML users will find this design pattern useful in their own projects.\r\n\r\nHere's how the app is implemented:\r\n\r\n\r\n1. **SCRAPE** Real Python articles nightly with [BeautifulSoup](https://www.crummy.com/software/BeautifulSoup/bs4/doc/)\r\n2. **STORE** raw text in a Postgres database\r\n3. **PROCESS** text in an NLP pipeline with [spacy](https://spacy.io/)\r\n4. **MODEL** document similarity using [doc2vec](https://radimrehurek.com/gensim/models/doc2vec.html)\r\n5. **STORE** document similarity scores in the database\r\n6. **SERVE** document similarity scores using [fastAPI](https://fastapi.tiangolo.com/)\r\n7. **DEPLOY** the back end to a free Heroku dyno ([see the fastAPI swagger UI interface](http://realpython-recommender.herokuapp.com/docs#/))\r\n8. **ACCESS** document similarity scores [via a Chrome extension](https://chrome.google.com/webstore/detail/real-python-content-recom/abkpmgoodjgfkhjkkbaiogkomehhokoc?hl=en&authuser=0) (front end).\r\n\r\n**Disclaimer: This extension is not an official realpython.com project nor is it affiliated with realpython.com**\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/arvkevi/rprec","research_link":"","media_link":"","dataset_link":"","demo_link":"https://chrome.google.com/webstore/detail/real-python-content-recom/abkpmgoodjgfkhjkkbaiogkomehhokoc?hl=en&authuser=0","other_link":"https://github.com/arvkevi/rprec-chrome-extension"}]},{"id":2299,"title":"Latent graph neural networks: Manifold learning 2.0?","description":"Parallels between recent works on latent graph learning and older techniques of manifold learning.","tags":["article","graph-neural-networks","graphs","representation-learning","graph-representation-learning","manifold"],"details":"Graph neural networks exploit relational inductive biases for data that come in the form of a graph. However, in many cases we do not have the graph readily available. Can graph deep learning still be applied in this case? In this post, I draw parallels between recent works on latent graph learning and older techniques of manifold learning.\r\n\r\n","links":[{"article_link":"https://towardsdatascience.com/manifold-learning-2-99a25eeb677d","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2298,"title":"torchCDE","description":"Differentiable controlled differential equation solvers for PyTorch with GPU support and memory-efficient adjoint backpropagation.","tags":["code","pytorch","library","time-series","neural-ode","torchcde"],"details":"This library provides differentiable GPU-capable solvers for controlled differential equations (CDEs). Backpropagation through the solver or via the adjoint method is supported; the latter allows for improved memory efficiency.\r\n\r\nIn particular this allows for building [Neural Controlled Differential Equation](https://github.com/patrick-kidger/NeuralCDE) models, which are state-of-the-art models for (arbitrarily irregular!) time series. Neural CDEs can be thought of as a \"continuous time RNN\".\r\n\r\n_Powered by the [`torchdiffeq`](https://github.com/rtqichen/torchdiffeq) library._","links":[{"article_link":"","code_link":"https://github.com/patrick-kidger/torchcde","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2297,"title":"Fast Block Sparse Matrices for Pytorch","description":"Enables networks which are both smaller and faster to let anybody use neural networks in production at low cost, and to improve the experience for the end user.","tags":["article","code","pytorch","library","gpu","efficiency","sparsity"],"details":"This PyTorch extension provides a **drop-in replacement** for torch.nn.Linear using block sparse matrices instead of dense ones. It enables very easy experimentation with sparse matrices since you can directly replace Linear layers in your model with sparse ones.\r\n\r\nBlog posts:\r\n\r\n1. [Block Sparse Matrices for Smaller and Faster Language Models](https://huggingface.co/blog/pytorch_block_sparse)\r\n1. [Is the future of Neural Networks Sparse? An Introduction (1/N)](https://medium.com/huggingface/is-the-future-of-neural-networks-sparse-an-introduction-1-n-d03923ecbd70)\r\n1. [Sparse Neural Networks (2/N): Understanding GPU Performance](https://medium.com/huggingface/sparse-neural-networks-2-n-gpu-performance-b8bc9ce950fc)","links":[{"article_link":"https://huggingface.co/blog/pytorch_block_sparse","code_link":"https://github.com/huggingface/pytorch_block_sparse","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2296,"title":"How to Test Machine Learning Code and Systems","description":"\ud83d\udea6 Minimal examples of testing machine learning for correct implementation, expected learned behaviour, and model performance.\r\n\r\n","tags":["article","code","tutorial","unit-tests","testing"],"details":"ML testing involves checks on model behaviour. Pre-train tests\u2014which can be run without trained parameters\u2014check if our written logic is correct. For example, is classification probability between 0 to 1? Post-train tests check if the learned logic is expected. For example, on the Titanic dataset, we should expect females to have a higher survival probability (relative to males).","links":[{"article_link":"https://eugeneyan.com/writing/testing-ml/","code_link":"https://github.com/eugeneyan/testing-ml","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2295,"title":"How to Create a Cartoonizer with TensorFlow Lite?","description":"An end-to-end tutorial on how to convert to TensorFlow Lite (TFLite) model and deploy it to an Android app for cartoonizing an image captured by camera.","tags":["article","code","generative-adversarial-networks","computer-vision","tensorflow-lite"],"details":"This is an end-to-end tutorial [published on the official TensorFlow blog](https://blog.tensorflow.org/2020/09/how-to-create-cartoonizer-with-tf-lite.html), on how to convert a TensorFlow model to TensorFlow Lite (TFLite) and deploy it to an Android app for cartoonizing an image captured by the camera. \r\n\r\nThe tutorial covers the following: \r\n\r\n- Export model checkpoints as SavedModel with TF 1.x\r\n- Convert the SavedModel to a TFLite model in TF 2.x with different quantization recipes\r\n- Model inference in Python\r\n- Add metadata to the TFLite models\r\n- Benchmark the TFLite models\r\n- Deploy TFLite model to Android in just a few lines of code with ML Model Binding\r\n","links":[{"article_link":"https://blog.tensorflow.org/2020/09/how-to-create-cartoonizer-with-tf-lite.html","code_link":"https://github.com/margaretmz/Cartoonizer-with-TFLite","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://twitter.com/TensorFlow/status/1303727371841875969"}]},{"id":2294,"title":"Getting started with large-scale ETL jobs using Dask and AWS EMR","description":"EMR is AWS\u2019s distributed data platform, which we can interact with and submit jobs to from a JupyterLab notebook running on our local machine.","tags":["article","notebook","aws","dask","mlops","exploratory-data-analysis","etl","mapreduce","elastic-mapreduce"],"details":"In this tutorial, we will walk through setting up a Dask cluster on top of EMR (Elastic MapReduce), AWS\u2019s distributed data platform, that we can interact with and submit jobs to from a JupyterLab notebook running on our local machine.","links":[{"article_link":"https://spell.ml/blog/large-scale-etl-jobs-using-dask-Xyl8GhEAACQAjK6h","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2293,"title":"Machine Learning Tutorials","description":"Introduce machine learning contents. The content aims to strike a good balance between mathematical notations, hands-on implementation. Primarily in Python3.","tags":["code","tutorial","python","machine-learning"],"details":"","links":[{"article_link":"","code_link":"https://github.com/ethen8181/machine-learning","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2292,"title":"Training on larger batches with less memory in AllenNLP","description":"Several options available in AllenNLP that will allow you to train with larger batches by saving memory.","tags":["article","allennlp","allenai","batch-size"],"details":"Batch size is an important hyperparameter to tune when training deep neural networks. Using the largest batch size that fits in memory on your GPU is often a good starting point, but as state-of-the-art models get bigger and bigger, the hardware many of us have available can be limited, forcing us to use smaller batches.\r\n\r\nNow, small batches aren\u2019t necessarily bad. But the smaller batch, the less information it contains, and so the gradient estimates coming from each batch will be less accurate. This can sometimes make it difficult for your model to converge.\r\n\r\nFortunately, there are several options available in AllenNLP that will allow you to train with larger batches by saving memory.\r\nIn this post, we will go through 3 of these options and show you how you can utilize them in your experiments.\r\n\r\n* Gradient accumulation (GA)\r\n* Gradient checkpointing (GC)\r\n* Automatic mixed precision (AMP)\r\n\r\n","links":[{"article_link":"https://medium.com/ai2-blog/tutorial-training-on-larger-batches-with-less-memory-in-allennlp-1cd2047d92ad","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2291,"title":"Understanding Entanglement With SVD","description":"Schmidt rank in the hopes of helping the math of entanglement feel a little less... tangly.","tags":["article","singular-value-decomposition","entanglement"],"details":"Quantum entanglement is, as you know, a phrase that's jam-packed with meaning in physics. But what you might not know is that the linear algebra behind it is quite simple. If you're familiar with singular value decomposition (SVD), then you're 99% there. My goal for this post is to close that 1% gap. In particular, I'd like to explain something called the Schmidt rank in the hopes of helping the math of entanglement feel a little less... tangly. And to do so, I'll ask that you momentarily forget about the previous sentences. Temporarily ignore the title of this article. Forget we're having a discussion about entanglement. Forget I mentioned that word. And let's start over. Let's just chat math.\r\n\r\n","links":[{"article_link":"https://www.math3ma.com/blog/understanding-entanglement-with-svd","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2290,"title":"Fine-tune a non-English GPT-2 Model with Huggingface","description":" In this tutorial, we are going to use the transformers library by Huggingface. We will use the new Trainer class and fine-tune out GPT-2 model.","tags":["article","code","notebook","tutorial","huggingface","gpt","transformers","fine-tuning","natural-language-processing","gpt-2"],"details":" In this tutorial, we are going to use the transformers library by Huggingface in their newest version (3.1.0). We will use the new Trainer class and fine-tune our GPT-2 Model with German recipes from chefkoch.de.","links":[{"article_link":"https://www.philschmid.de/fine-tune-a-non-english-gpt-2-model-with-huggingface","code_link":"https://colab.research.google.com/drive/1B3rgV5maqb-5ZabRBm9eN4wMrSQw0Uni","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2289,"title":"ElasticTransformers","description":"Making BERT stretchy. Semantic Elasticsearch with Sentence Transformers.","tags":["article","code","huggingface","attention","bert","transformers","library","natural-language-processing","search","elastic-search","elastictransformers"],"details":"Semantic Elasticsearch with Sentence Transformers. We will use the power of Elastic and the magic of BERT to idnex a million articles and perform lexical and semantic search on them. The purpose is to provide an ease-of-use way of setting up your own Elasticsearch with near state of the art capabilities of contextual embeddings / semantic search using NLP transformers.","links":[{"article_link":"https://medium.com/@mihail.dungarov/elastic-transformers-ae011e8f5b88","code_link":"https://github.com/md-experiments/elastic_transformers","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2288,"title":"Which GPU(s) to Get for Deep Learning","description":"My Experience and Advice for Using GPUs in Deep Learning.","tags":["article","tutorial","hardware","gpu"],"details":"This blog post is designed to give you different levels of understanding about GPUs and the new Ampere series GPUs from NVIDIA. You have the choice: \r\n\r\n1. If you are not interested in the details of how GPUs work, what makes a GPU fast, and what is unique about the new NVIDIA RTX 30s Ampere series, you can skip right to the performance and performance per dollar charts and the recommendation section. These form the core of the blog post and the most valuable content.\r\n2. If you worry about specific questions, I have answered and addressed the most common questions and misconceptions in the later part of the blog post.\r\n3. If you want to get an in-depth understanding of how GPUs and Tensor Cores work, the best is to read the blog post from start to finish. You might want to skip a section or two based on your understanding of the presented topics.\r\n\r\n","links":[{"article_link":"https://timdettmers.com/2020/09/07/which-gpu-for-deep-learning/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2287,"title":"omega|ml - building and deploying ML models the easy way","description":"Deploying ML is hard. It should not be. omega|ml makes it a breeze.","tags":["article","code","library","production","mlops","omega"],"details":"Unique features of omega|ml:\r\n\r\n1. Instant deployment of models and datasets,\r\n1. most things work with a single line of code, e.g. store and access larger-than memory dataframes\r\n1. models are versioned automatically\r\n1. It is extensible to work with any ML framework, on any cloud\r\n\r\nDetails:\r\n\r\n**Instant deployment:** With omega|ml, deployment of ML models, pipelines, datasets, full apps takes seconds instead of hours, weeks or even months. No engineering required, it just works. Cloud based REST and Python APIs are instantly available (instant = as soon as it is saved, there is zero wait time).\r\n\r\n**Single line of code:** A single line of code will deploy scikit-learn, Tensorflow, Keras, PyTorch and any other Python-serializable model. Same for datasets, notebooks and any pip-installable Python package, saving a dataset or a script is a single line of code. Also larger than memory dataframes and other datasets are possible out of the box. It works from laptop to cloud, with any cloud.\r\n\r\n**Automatic model versioning:** Every model is automatically versioned, and accessing any version is as simple as specifying its version tag. The \"model as data, not code\" means models are stored in the database, not as part of a deployed docker image like everyone else is doing it (treating models as code is fundamentally flawed - after all, models are data, not code).\r\n\r\n**Extensible:**omega|ml is easy to extend thanks to its plugin architecture. Actually most of the standard features are built as plugins.\r\n\r\nAlso omega|ml is built on well known and wide-spread open source technology, namely Python, PyData, RabbitMQ and MongoDB. This means it is easy to run anywhere, using existing skills and infrastructure.\r\n\r\nOpen source, Apache 2.0 licensed.","links":[{"article_link":"https://towardsdatascience.com/omega-ml-deploying-data-machine-learning-pipelines-the-easy-way-a3d281569666","code_link":"https://github.com/omegaml/omegaml","research_link":"","media_link":"https://static.wixstatic.com/media/2defe3_a0ff7cac62cd4299b5ea3fa1133df351~mv2.gif/v1/fit/w_250,h_135,q_30,blur_30/2defe3_a0ff7cac62cd4299b5ea3fa1133df351~mv2.gif","dataset_link":"","demo_link":"","other_link":"https://omegaml.io"}]},{"id":2286,"title":"Beginner-friendly PyTorch GANs repository","description":"Implementation of various GAN architectures starting with the original GAN paper.","tags":["code","tutorial","pytorch","deep-learning","generative-adversarial-networks","education"],"details":"The goal of this repo is to create well-commented, clean PyTorch GANs repository which could be super useful as a supplement to GAN theory.","links":[{"article_link":"","code_link":"https://github.com/gordicaleksa/pytorch-gans","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2285,"title":"Images of radio boxes","description":"I have collected about 15+k raw images of radio boxes across 500+ forms and hand-picked 200+ images that can be used to determine if a radio box is checked.","tags":["code","dataset","video","computer-vision","image-classification"],"details":"I built a solution using preexisting Form Recognizer solution, however it did not support check-box and radio box support.\r\n\r\nHowever, most valuable data is check-boxes and radio boxes, so I built a custom vision model, that can recognize if a radio box is recognized.\r\n\r\nThe provided GitHub currently only have images and the YouTube video shows what I tried to make it work and on 57:00 I show how to replicate my success in ML.NET Model Builder.\r\n\r\nAt later date, I'll add a pre-built ML.NET model as well as C# project to run it.","links":[{"article_link":"","code_link":"https://github.com/jernejk/ml-radioboxes-model","research_link":"","media_link":"https://www.youtube.com/watch?v=OpSXbHUYTAQ&feature=youtu.be&t=2906","dataset_link":"https://github.com/jernejk/ml-radioboxes-model/tree/main/TrainingData","demo_link":"","other_link":""}]},{"id":2284,"title":"electra_pytorch: ELECTRA in PyTorch (fastai + huggingface)","description":"Unofficial reimplementation of ","tags":["code","paper","research","fastai","huggingface","pytorch","deep-learning","natural-language-processing","pretraining","arxiv:2003.10555"],"details":"I pretrain ELECTRA-small from scratch and has successfully replicate the paper's results on GLUE. \r\n\r\n\r\n\r\nResults for models on the GLUE test set.\r\n\r\ndetails: \r\n\r\npost (fastai forum): https://discuss.huggingface.co/t/electra-training-reimplementation-and-discussion/1004\r\n\r\npost (huggingface forum): https://forums.fast.ai/t/electra-training-reimplementation-and-discussion/78280\r\n\r\ntweet: https://twitter.com/_RichardWang_/status/1302545459374772224?s=20","links":[{"article_link":"","code_link":"https://github.com/richarddwang/electra_pytorch","research_link":"https://arxiv.org/abs/2003.10555","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2283,"title":"Data analysis made easy: Text2Code for Jupyter notebook","description":"A jupyter notebook extension for Text2Code for basic pandas and plotly commands","tags":["article","code","tutorial","video","spacy","library","named-entity-recognition","natural-language-processing","pandas","jupyter","visualization","exploratory-data-analysis","fiass","universal-sentence-encoder"],"details":"\r\n\r\nA ready-to-install jupyter extension which converts english queries into relevant code. Built as a proof of concept for the problem we personally face of **forgetting less-used syntaxes of pandas and plotly libraries** which is often used in Exploratory Data Analysis. This tool allows us to query in a generic language without having to remember the syntax.\r\n\r\nInspired by cool GPT-3 demos and not having the access to the API, here is an attempt by us to build a Text2Code extension using publicly available libraries. The approach isn't generative, but relies on identifying & matching from a set of predefined *intents* and generating the relevant code by extracting relevant entities and inserting them in a template. Adding new intents and extending the functionality is easy once the pipeline is in place. \r\n\r\nTechnologies used:\r\n\r\n* Universal Sentence Encoder\r\n* Spacy\r\n* Faiss\r\n* Jupyter extension\r\n","links":[{"article_link":"https://towardsdatascience.com/data-analysis-made-easy-text2code-for-jupyter-notebook-5380e89bb493","code_link":"https://github.com/deepklarity/jupyter-text2code","research_link":"","media_link":"https://www.youtube.com/watch?v=3gZ7_9W-TJs","dataset_link":"","demo_link":"","other_link":""}]},{"id":2282,"title":"Antialiased CNNs","description":"Making Convolutional Networks Shift-Invariant Again.","tags":["article","code","paper","research","video","convolutional-neural-networks","library","shift-invariant","arxiv:1904.11486"],"details":"Modern convolutional networks are not shift-invariant, as small input shifts or translations can cause drastic changes in the output. Commonly used downsampling methods, such as max-pooling, strided-convolution, and average-pooling, ignore the sampling theorem. The well-known signal processing fix is anti-aliasing by low-pass filtering before downsampling. However, simply inserting this module into deep networks degrades performance; as a result, it is seldomly used today. We show that when integrated correctly, it is compatible with existing architectural components, such as max-pooling and strided-convolution. We observe increased accuracy in ImageNet classification, across several commonly-used architectures, such as ResNet, DenseNet, and MobileNet, indicating effective regularization. Furthermore, we observe better generalization, in terms of stability and robustness to input corruptions. Our results demonstrate that this classical signal processing technique has been undeservingly overlooked in modern deep networks.\r\n\r\n","links":[{"article_link":"https://richzhang.github.io/antialiased-cnns/","code_link":"https://github.com/adobe/antialiased-cnns","research_link":"https://arxiv.org/abs/1904.11486","media_link":"https://www.youtube.com/watch?v=HjewNBZz00w","dataset_link":"","demo_link":"","other_link":""}]},{"id":2281,"title":"AutoScraper","description":"A Smart, Automatic, Fast and Lightweight Web Scraper for Python.","tags":["code","library","web-scraping","autoscraper"],"details":"This project is made for automatic web scraping to make scraping easy. It gets a url or the html content of a web page and a list of sample data which we want to scrape from that page. This data can be text, url or any html tag value of that page. It learns the scraping rules and returns the similar elements. Then you can use this learned object with new urls to get similar content or the exact same element of those new pages.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/alirezamika/autoscraper","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2280,"title":"Top 10 Deep Learning Breakthroughs \u2014 Deep Reinforcement Learning","description":"The article unravels the journey behind reaching the point when Reinforcement Learning combined with Deep Learning defeated a Go player world champion.","tags":["article","tutorial","deep-learning","machine-learning","reinforcement-learning"],"details":"","links":[{"article_link":"https://medium.com/@zohebabai/top-10-deep-learning-breakthroughs-deep-reinforcement-learning-d2307ed8c27","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2279,"title":"Top 10 Deep Learning Breakthroughs \u2014 Family of SNGD Optimizers","description":"Choice of Optimization algorithms has always been the center of discussions and research inside the ML community. This article unravels the journey of optimizer","tags":["article","tutorial","deep-learning","machine-learning","library","optimizer"],"details":"","links":[{"article_link":"https://medium.com/@zohebabai/top-10-deep-learning-breakthroughs-family-of-sngd-optimizers-179b7cf114a","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2278,"title":"Top 10 Deep Learning Breakthroughs \u2014 AlexNet","description":"Details regarding AlexNet and its code implementation. ","tags":["article","code","tutorial","convolutional-neural-networks","deep-learning","machine-learning"],"details":"","links":[{"article_link":"https://medium.com/@zohebabai/top-10-deep-learning-breakthroughs-alexnet-291e16dbd679","code_link":"https://gist.github.com/ZohebAbai/25fc9e58c50c11f2826d20c5657d3211","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2277,"title":"Neural Network from scratch - Part 1/2","description":"A brief introduction to neural networks with implementation in NumPy.","tags":["article","tutorial","deep-learning","machine-learning","neural-networks"],"details":"We will be going from basics and covering all parts needed to understand neural networks in depth. This is part contains a brief introduction to neural networks, AI, and deep learning concepts.","links":[{"article_link":"https://medium.com/@pratikbaitha04/neural-networks-from-scratch-a-brief-introduction-for-beginners-d3776599aaac","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2275,"title":"hugdatafast: huggingface/nlp + fastai","description":"The elegant integration of huggingface/nlp and fastai2 and handy transforms using pure huggingface/nlp ","tags":["code","dataset","fastai","huggingface","transformers","natural-language-processing"],"details":"Doing NLP ? \r\nSee if you can turn your data pipeline into just 3 lines. \ud83d\ude0e \r\n\r\n\ud83d\udce5 pip install hugdatafast \r\n\ud83d\udcd6 Documentation: https://hugdatafast.readthedocs.io/en/latest/\r\n\r\n\r\n\r\n\r\n\r\nQ: What if my data is not in the huggingface/nlp datasets list ? \r\nA: Not a problem. See this (https://twitter.com/Thom_Wolf/status/1296732565970321408?s=20) \r\n\r\npost (fastai forum): https://forums.fast.ai/t/hugdatafast-hugginface-nlp-fastai/78142 \r\npost (huggingface forum): https://discuss.huggingface.co/t/hugdatafast-hugginface-nlp-fastai/986 ","links":[{"article_link":"","code_link":"https://github.com/richarddwang/hugdatafast","research_link":"","media_link":"https://user-images.githubusercontent.com/17963619/92091020-be672f00-ee02-11ea-84c0-d54b4855ff4b.png","dataset_link":"","demo_link":"","other_link":"https://hugdatafast.readthedocs.io/en/latest/"}]},{"id":2274,"title":"Transformer Reinforcement Learning","description":"Train transformer language models with reinforcement learning.","tags":["article","code","huggingface","transformers","library","language-modeling","natural-language-processing","reinforcement-learning","proximal-policy-optimization"],"details":"With trl you can train transformer language models with Proximal Policy Optimization (PPO). The library is built with the transformer library by \ud83e\udd17 Hugging Face (link). Therefore, pre-trained language models can be directly loaded via the transformer interface. At this point only GTP2 is implemented.\r\n\r\nHighlights:\r\n\r\n* GPT2 model with a value head: A transformer model with an additional scalar output for each token which can be used as a value function in reinforcement learning.\r\n* PPOTrainer: A PPO trainer for language models that just needs (query, response, reward) triplets to optimise the language model.\r\n* Example: Train GPT2 to generate positive movie reviews with a BERT sentiment classifier.","links":[{"article_link":"https://lvwerra.github.io/trl/","code_link":"https://github.com/lvwerra/trl","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2273,"title":"ONNX Transformers","description":"Accelerated NLP pipelines for fast inference \ud83d\ude80 on CPU. Built with \ud83e\udd17 Transformers and ONNX runtime.","tags":["code","onnx","transformers","library","natural-language-processing","inference"],"details":"Accelerated NLP pipelines for fast inference \ud83d\ude80 on CPU. Built with \ud83e\udd17 Transformers and [onnxruntime](https://github.com/microsoft/onnxruntime).\r\n\r\nModern NLP models are very large and take significant amount of time for inference on CPU's. onnxruntime provides optimizations to speed-up inference of these models. This library allows you to leverage onnxruntime for [transformer](https://github.com/huggingface/transformers) models, with the familiar `pipeline` API in just two lines of code.\r\n\r\nJust provide the path/url to the model and it'll download and automatically create onnx graph and run inference.\r\n\r\n```python\r\nfrom onnx_transformers import pipeline\r\n\r\n>>> nlp = pipeline(\"question-answering\", model=\"deepset/roberta-base-squad2\", onnx=True)\r\n>>> nlp({\r\n \"question\": \"What is ONNX Runtime ?\", \r\n \"context\": \"ONNX Runtime is a highly performant single inference engine for multiple platforms and hardware\"\r\n})\r\n{'answer': 'highly performant single inference engine for multiple platforms and hardware', 'end': 94, 'score': 0.751201868057251, 'start': 18}\r\n```\r\n\r\nIt provides onnxruntime inference for following NLP tasks\r\n\r\n - `feature-extraction`: Generates a tensor representation for the input sequence\r\n - `ner`: Generates named entity mapping for each word in the input sequence.\r\n - `sentiment-analysis`: Gives the polarity (positive / negative) of the whole input sequence. Can be used for any text classification model.\r\n - `question-answering`: Provided some context and a question referring to the context, it will extract the answer to the question in the context.\r\n - `zero-shot-classification`: For zero shot text classification.\r\n\r\n### Speed up\r\n\r\n**Benchmark `feature-extraction` pipeline** \r\n\r\n\r\n\r\n\r\n**Benchmark `question-answering` pipeline**\r\n\r\n\r\n\r\nfor more details head over to the GitHub [repo](https://github.com/patil-suraj/onnx_transformers)","links":[{"article_link":"","code_link":"https://github.com/patil-suraj/onnx_transformers","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2272,"title":"Learn PyTorch","description":"3 steps to learn PyTorch","tags":["tutorial","pytorch","deep-learning","deep-learning-frameworks"],"details":"Here are 3 easy steps to get started quickly with the most popular deep learning framework - at least in the research community - PyTorch!","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://youtu.be/2n_uoGOPoVk","dataset_link":"","demo_link":"","other_link":""}]},{"id":2271,"title":"Latest advancements in video streaming with AI","description":"AI developments in video streaming using Super-resolution, Per-title encoding, P2P","tags":["article","tutorial","artificial-general-intelligence","deep-learning","machine-learning","computer-vision","super-resolution","video-classification"],"details":"85% of the data consumed over the internet is via videos. About 2.8 exabytes of data is transferred over the internet via streaming videos. This growth is driven by the advent of VOD platforms like Netflix, Video communication platforms like Zoom, Social platforms like Tiktok, esports, live streaming to name a few.\r\n\r\nCovid19 pandemic has accelerated the video consumption and has been the driving force of companies moving from offline mode to online live mode. With this explosion of the video consumption on a day-to-day basis we need to be prepared for the upcoming demand.\r\n\r\nIn this article we will be discussing what are the latest advancements in video streaming technology and how can they help in improving the streaming experience.","links":[{"article_link":"https://blog.peervadoo.com/2020-video-streaming-ai-p2p-technology-advancements.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2270,"title":"Deep Semi-Supervised Learning","description":"Discusses SSL in a deep learning setting and goes through some of the main deep learning SSL methods.","tags":["article","code","paper","research","semi-supervised-learning","arxiv:2006.05278"],"details":"Deep neural networks demonstrated their ability to provide remarkable performances on certain supervised learning tasks (e.g., image classification) when trained on extensive collections of labeled data (e.g. ImageNet). However, creating such large collections of data requires a considerable amount of resources, time, and effort. Such resources may not be available in many practical cases, limiting the adoption and application of many deep learning (DL) methods.\r\n\r\nIn a search for more data-efficient DL methods to overcome the need for large annotated datasets, we see a lot of research interest in recent years with regards to the application of semi-supervised learning (SSL) to deep neural nets as a possible alternative, by developing novel methods and adopting existing SSL frameworks for a deep learning setting. This post discusses SSL in a deep learning setting and goes through some of the main deep learning SSL methods.","links":[{"article_link":"https://yassouali.github.io/ml-blog/deep-semi-supervised/","code_link":"https://github.com/yassouali/awesome-semi-supervised-learning","research_link":"https://arxiv.org/abs/2006.05278","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2269,"title":"Learning to Summarize with Human Feedback","description":"Human feedback models outperform much larger supervised models and reference summaries on TL;DR","tags":["article","code","paper","research","natural-language-processing","text-summarization","openai","demo","human-feedback","feedback-loops","arxiv:2009.01325"],"details":"We\u2019ve applied reinforcement learning from human feedback to train language models that are better at summarization. Our models generate summaries that are better than summaries from 10x larger models trained only with supervised learning. Even though we train our models on the Reddit TL;DR dataset,1 the same models transfer to generate good summaries of CNN/DailyMail news articles2 without any further fine-tuning. Our techniques are not specific to summarization; in the long run, our goal is to make aligning AI systems with human preferences a central component of AI research and deployment in many domains.\r\n\r\n","links":[{"article_link":"https://openai.com/blog/learning-to-summarize-with-human-feedback/","code_link":"https://github.com/openai/summarize-from-feedback","research_link":"https://arxiv.org/abs/2009.01325","media_link":"","dataset_link":"","demo_link":"https://openaipublic.blob.core.windows.net/summarize-from-feedback/website/index.html","other_link":""}]},{"id":2268,"title":"NLP Course | For You","description":"This is an extension to the (ML for) Natural Language Processing course I teach at the Yandex School of Data Analysis (YSDA) since fall 2018. ","tags":["article","course","natural-language-processing"],"details":"This is an extension to the (ML for) Natural Language Processing course I teach at the Yandex School of Data Analysis (YSDA) since fall 2018. For now, only part of the topics is likely to be covered here.\r\n\r\nThis new format of the course is designed for:\r\n\r\n* Convenience: easy to find, learn or recap material (both standard and more advanced), and to try in practice.\r\n* Clarity: each part, from front to back, is a result of my care not only about what to say, but also how to say and, especially, how to show something.\r\n* You: I wanted to make these materials so that you (yes, you!) could study on your own, what you like, and at your pace. My main purpose is to help you enter your own very personal adventure. For you.\r\n","links":[{"article_link":"https://lena-voita.github.io/nlp_course.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2267,"title":"What Is MLOps?","description":"Machine learning operations, MLOps, are best practices for businesses to run AI successfully with help from an expanding software products and cloud services.","tags":["article","production","mlops"],"details":"Machine learning operations, MLOps, are best practices for businesses to run AI successfully with help from an expanding smorgasbord of software products and cloud services.\r\n\r\n\r\n\r\n* Data sources and the datasets created from them\r\n* A repository of AI models tagged with their histories and attributes\r\n* An automated ML pipeline that manages datasets, models and experiments through their lifecycles\r\n* Software containers, typically based on Kubernetes, to simplify running these jobs\r\n\r\n","links":[{"article_link":"https://blogs.nvidia.com/blog/2020/09/03/what-is-mlops/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2266,"title":"Wav2Lip: Accurately Lip-syncing Videos In The Wild","description":"A Lip Sync Expert Is All You Need for Speech to Lip Generation In the Wild","tags":["article","code","paper","research","video","audio","computer-vision","image-generation","demo","wav2lip","arxiv:2008.10010"],"details":"\r\n\r\n\r\n**Highlights**\r\n\r\n - Lip-sync videos to any target speech with high accuracy. Try our [interactive demo](https://bhaasha.iiit.ac.in/lipsync).\r\n - Works for any identity, voice, and language. Also works for CGI faces and synthetic voices.\r\n - Complete training code, inference code, and pretrained models are available.\r\n - Or, quick-start with the Google Colab Notebook: [Link](https://colab.research.google.com/drive/1tZpDWXz49W6wDcTprANRGLo2D_EbD5J8?usp=sharing)\r\n - Several new, reliable evaluation benchmarks and metrics [[`evaluation/` folder of this repo]](https://github.com/Rudrabha/Wav2Lip/tree/master/evaluation) released.\r\n - Code to calculate metrics reported in the paper is also made available.\r\n","links":[{"article_link":"https://bhaasha.iiit.ac.in/lipsync/","code_link":"https://github.com/Rudrabha/Wav2Lip","research_link":"https://arxiv.org/abs/2008.10010","media_link":"https://www.youtube.com/watch?v=0fXaDCZNOJc","dataset_link":"","demo_link":"http://bhaasha.iiit.ac.in/lipsync/","other_link":"https://www.youtube.com/watch?v=0fXaDCZNOJc&feature=youtu.be"}]},{"id":2265,"title":"Deploying a HuggingFace NLP Model with KFServing","description":"Modifying a Hugging Face pre-trained model to run as a KFServing hosted model.","tags":["article","tutorial","huggingface","transformers","natural-language-processing","production","kubeflow","serving","kfserving"],"details":"In this example we demonstrate how to take a [Hugging Face example](https://huggingface.co/transformers/usage.html) and modifying the pre-trained model to run as a [KFServing](https://github.com/kubeflow/kfserving) hosted model. The specific example we'll is the extractive question answering model from the Hugging Face transformer library. This model extracts answers from a text given a question.\r\n\r\n\r\n","links":[{"article_link":"http://www.pattersonconsultingtn.com/blog/deploying_huggingface_with_kfserving.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2264,"title":"MushroomRL","description":"Python library for Reinforcement Learning.","tags":["code","pytorch","library","reinforcement-learning"],"details":"MushroomRL is a Python Reinforcement Learning (RL) library whose modularity allows to easily use well-known Python libraries for tensor computation (e.g. PyTorch, Tensorflow) and RL benchmarks (e.g. OpenAI Gym, PyBullet, Deepmind Control Suite). It allows to perform RL experiments in a simple way providing classical RL algorithms (e.g. Q-Learning, SARSA, FQI), and deep RL algorithms (e.g. DQN, DDPG, SAC, TD3, TRPO, PPO).","links":[{"article_link":"","code_link":"https://github.com/MushroomRL/mushroom-rl?fbclid=IwAR3Cty46KWambRbrzrbxkCQS96PzQyGL7ie4nbAYHNl-c7Tjcazp9h9smu4","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2263,"title":"TTT: Fine-tuning Transformers with TPUs or GPUs acceleration","description":"TTT is short for a package for fine-tuning \ud83e\udd17 Transformers with TPUs, written in Tensorflow2.0+.","tags":["article","code","notebook","research","tutorial","tensorflow","transformers","library","natural-language-processing","tpu","gpu","tensorflow-tpus"],"details":"## Features\r\n\r\n- Switch between TPUs and GPUs easily.\r\n- Stable training on TPUs.\r\n- Customize datasets or load from [the nlp library](https://huggingface.co/nlp/viewer/?dataset=aeslc).\r\n- Using pretrained tensorflow weights from the open-source library - [\ud83e\udd17 transformers](https://github.com/huggingface/transformers).\r\n- Fine-tuning BERT-like transformers (DistilBert, ALBERT, Electra, RoBERTa) using keras High-level API.\r\n- Fine-tuning T5-like transformers using customize training loop, written in tensorflow.\r\n- So far, this package mainly supports single-sequence classificaton based tasks. However, it can be easily extended to support other language tasks.\r\n\r\n\r\n","links":[{"article_link":"https://colab.research.google.com/github/wangcongcong123/ttt/blob/master/ttt_notebook.ipynb","code_link":"https://github.com/wangcongcong123/ttt","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2262,"title":"R.U.Stoked","description":"NLP (Sentiment Analysis) project to demonstrate a pipeline of data from the very first stage of data collection through ML model deployment.","tags":["code","tutorial","aws","docker","machine-learning","natural-language-processing","sentiment-analysis","streamlit","github-actions","demo","deployment"],"details":"# R.U.Stoked\r\n\r\n\r\n**RUStoked** is an experimental **NLP** (_Sentiment Analysis_) project. An effort to orchestrate a pipeline of data from the very first stage of data collection through ML model `deployment`. \r\n\r\nThis post is more of a guide through the project stages, challenges, and lessons learned rather than a code review. The code is available on [GitHub](https://github.com/mohsen-saki/RUStoked) and I have tried to keep notebooks and code libraries _\"marked down\"_ and _\"commented\"_ as much as possible. \r\n\r\n**`IMPORTANT NOTE : This project is yet under development and some parts of `repo` may get updated accordingly`** \r\n\r\nThis [GitHub](https://github.com/mohsen-saki/RUStoked) `repo` consists of:\r\n\r\n* Folder [`data`](https://github.com/mohsen-saki/RUStoked/tree/master/data) which contains raw data and some lines of code for scraping data.\r\n* Folder [`rustoked`](https://github.com/mohsen-saki/RUStoked/tree/master/rustoked) which contains a library of core functions used during data exploration and model development\r\n* Folder [`notebooks`](https://github.com/mohsen-saki/RUStoked/tree/master/notebooks) which contains some notebooks to demonstrate data and model engineering process\r\n* Folder [`app`](https://github.com/mohsen-saki/RUStoked/tree/master/app) which contains codes and functions for a small [streamlit](https://www.streamlit.io/) application running and maintaining the model.\r\n* Folder [`withdrawn`](https://github.com/mohsen-saki/RUStoked/tree/master/withdrawn) which contains my first try to develop the model, not successful though.\r\n\r\n** --> And it is live [here](https://rustoked.herokuapp.com/) on Heroku.**\r\n\r\n\r\n# About the Project\r\n\r\n1 What about is this project?\r\n---\r\nR.U.Stoked is a **Natural Language Processing** (Sentiment Analysis Case) but _not a binary_ one. I focused on detecting a third group of sentiment which I call here after `\u201cDisengaged\u201d`; a group of opinions which are neither `\u201cStoked\u201d` nor `\u201cDissatisfied\u201d`. I think detecting this group of so to speak \"users / customers\" can create business values in problem cases such as **Churning** or targeting **prospect customers**. Actually this idea is also sort of supported by the data; almost exactly half of reviews rated `3` out of `5` recommended their experience to others and the other half suggested not to. \r\n\r\n2 Where does data come from?\r\n---\r\nThe [data](https://github.com/mohsen-saki/RUStoked/tree/master/data) has been collected from [SEEK](https://www.seek.com.au/). It comprises almost `13k` rows of data by which employees have expressed their feelings and opinions about their employers. I have just collected the data for a dozen of companies which have relatively had higher number of reviews. And They mostly belong to two fields of FMCG retailers and Finance/Technology industries.\r\n\r\n3 What are challenges?\r\n---\r\n* Detecting a _neutral_ class of sentiment in between `positive` and `negative` ones has been a bit of challenge because exploring those reviews shows that the choice of words tends to be almost similar to either positive or negative reviews.\r\n* Many of the reviews are written by _not-native English speakers_ as they vary a lot in terms of word choices, sentence structures, comprehension, etc.\r\n* The SEEK template for registering reviews is asking for `pros` and `cons`. So, it has resulted in more of a list-like outcome rather than comprehensive opinions. For example in response to cons many may say \u201cmanagement\u201d which clearly lacks the sentiment compared to something like \u201cbad or poor management\u201d.\r\n* Another feature of SEEK\u2019s reviews is that the overall rating is not calculated as average of employees\u2019 ratings on some other subjects but it is acquired independently. This raised a bit of inconsistency between users' overall opinion of their client compared to their opinion on different aspects of their work paces.\r\n\r\n4 First try and failure\r\n---\r\nThere is a folder named \u201cwithdrawn\u201d in the repository which contains a few notebooks as my first approach to this project which I consider as a _failure_ not particularly for the outcomes but more because of my strategy. I was sort of rushing to wrap it up which was not really working out and this is why:\r\n* I did not collect enough data in terms of both the amount of data and the meta-data which help to explore and explain data beter.\r\n* I did not tackle the problem according to the best practices. I created a pipeline of different models with various features and used the grid search method to see which one results in the best accuracy score. Obviously I did not put any time into data exploration and feature engineering. As a result, It was more of a black box with no insight of what is going on under the model performance. \r\n* I was not writing good codes. It was all in the notebooks (not reusable and modular) \r\n\r\nHowever, I came across this excellent book [\u201cBuilding Machine Learning Powered Applications\u201c](https://www.oreilly.com/library/view/building-machine-learning/9781492045106/) written by [Emmanuel Ameisen](https://www.linkedin.com/in/ameisen/). Reading this book is actually the reason to reconsider my approach and start this project over.\r\n\r\n5 What toolings/technologies have been used?\r\n---\r\n`pandas` to manipulate and explore the data \r\n`matplotlib` and `bokeh` to visualise and explore the data \r\n\r\n\r\n\r\n`TfifVectorizer` and in some cases `Spacy` to get the word vectors. \r\n`Scikit-Learn` RandomForestClassifier and Naive Bayes as model/algorithm \r\n\r\n6 How did it go?\r\n---\r\nFirst model trained on just the text data has performed pretty well on predicting positive and negative classes but poorly on the \u201cDisengaged\u201d labels.\r\n\r\n\r\n\r\nTo tweak the model performance, I extracted some features from the data and plugged them into the vectors. Those features were selected to help the model detecting the sentiment better and distinguishing different labels easier such as:\r\n\r\n* Words `great` and `good` appear frequently in positive opinions\r\n* Words `poor`, `bad`, `not`, etc. appear frequently in negative opinions\r\n* The _count_ of above words appears to be an indication of sentiment in each piece of review.\r\n* The word `but` seems to have a higher frequency of occurring within \u201cDisengaged\u201d labels as it serves for changing the language tone from positive to negative or vice versa. \r\n\r\nPlugging above candidate features in the word vectors and visualization shows some improvement in separating data clusters each containing the majority of one of the labels but for the \u201cDisengaged\u201d label it still does not show much improvement:\r\n\r\n\r\n\r\nAnd the outcome scores agree as well:\r\n\r\n\r\n\r\nWell, I would say **if features are too obvious, probably the model has already picked them**. Using `Naive Bayes` algorithm as recommended by Scikit-Learn ([Choosing the right estimator](https://scikit-learn.org/stable/tutorial/machine_learning_map/index.html)) did not make a noticeable difference as expected (Normally a data problem results should not change considerably just by changing algorithm, if so, probably something is done wrong).\r\n\r\nHowever, using just features without the word vectors shows some improvement albeit at cost of model performance decrease on two other labels.\r\n\r\n\r\n\r\n***Working more on generating and extracting features seems like a promising approach to take here.***\r\n\r\n7 [The Application](https://rustoked.herokuapp.com/)\r\n---\r\nI have recently been hearing a lot about [Streamlit](https://www.streamlit.io/) and I wanted to try something new. Although it may not be as sophisticated as some backend frameworks such as [Flask](https://flask.palletsprojects.com/en/1.1.x/) and [Django](https://www.djangoproject.com/), I should say that for a simple single-page webapp, [Streamlit](https://www.streamlit.io/) was super easy, extremely quick, and very cool.\r\n\r\n8 Deployment\r\n---\r\nI went with a [docker](https://www.docker.com/) image as it is quite standard and straight forward. Deployment has been automated through [GitHub Action](https://github.com/features/actions) to trigger some workflows on `push` and deploy to [AWS ECS Instance](https://docs.aws.amazon.com/AmazonECS/latest/developerguide/ECS_instances.html) and [HEROKU](https://www.heroku.com/free), not at the same time though (Heroku server port is not to select and is generated as an environment variable which make some adjusments necessary to Dockerfile).\r\n\r\nObviously AWS required a lot more work around to get it orchestrating right and it is much stronger for providing this level of access to tweak the environment, however I love HEROKU for being simple and free :) as far as it is not consuming resources like a commercial webapp.\r\n\r\nAnyway, it is live [here](https://rustoked.herokuapp.com/) on **heroku**\r\n\r\n9 What\u2019s next?\r\n---\r\n* Writing some tests and getting them to run through github actions.\r\n* More on model development focusing on extracting and generating features\r\n\r\n\r\n---\r\nThanks to open source and free world.\r\n","links":[{"article_link":"","code_link":"https://github.com/mohsen-saki/RUStoked","research_link":"","media_link":"","dataset_link":"","demo_link":"https://rustoked.herokuapp.com/","other_link":""}]},{"id":2261,"title":"A Framework For Contrastive Self-Supervised Learning","description":"A conceptual framework for characterizing contrastive self-supervised learning approaches.","tags":["article","paper","research","pytorch","contrastive-loss","self-supervised-learning","pytorch-lightning","contrastive-learning","arxiv:2009.00104"],"details":"In [our recent paper](https://arxiv.org/abs/2009.00104), we formulate a conceptual framework for characterizing contrastive self-supervised learning approaches. We used our framework to analyze three examples of these leading approaches, SimCLR, CPC, AMDIM, and show that although these approaches seem different on the surface, they are all in fact slight tweaks of one another.\r\nIn this blog we will:\r\n\r\n* Review self-supervised learning.\r\n* Review contrastive learning.\r\n* Propose a framework for comparing recent approaches.\r\n* Compare CPC, AMDIM, MOCO, SimCLR, and BYOL using our framework.\r\n* Formulate a new approach \u2014 YADIM \u2014 , using our framework.\r\n* Describe some of our results.\r\n* Describe the computational requirements to achieve these results.","links":[{"article_link":"https://medium.com/@_willfalcon/a-framework-for-contrastive-self-supervised-learning-and-designing-a-new-approach-3caab5d29619","code_link":"","research_link":"https://arxiv.org/abs/2009.00104","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2260,"title":"CVPR 2020: A Snapshot","description":"A snapshot of the conference by summarizing some papers (& listing some) that grabbed my attention.","tags":["article","research","computer-vision","cvpr-2020","conference"],"details":"The first virtual CVPR conference ended, with 1467 papers accepted, 29 tutorials, 64 workshops, and 7.6k virtual attendees. The huge number of papers and the new virtual version made navigating the conference overwhelming (and very slow) at times. To get a grasp of the general trends of the conference this year, I will present in this blog post a sort of a snapshot of the conference by summarizing some papers (& listing some) that grabbed my attention.\r\n\r\n* CVPR 2020 in numbers\r\n* Recognition, Detection and Segmentation\r\n* Generative models and image synthesis\r\n* Representation Learning\r\n* Computational photography\r\n* Transfer/Low-shot/Semi/Unsupervised Learning\r\n* Vision and Language\r\n* The rest","links":[{"article_link":"https://yassouali.github.io/ml-blog/cvpr2020/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2259,"title":"ECCV 2020: Some Highlights","description":"A sort of a snapshot of the conference by summarizing some papers (& listing some) that grabbed my attention.","tags":["article","research","computer-vision","eccv-2020","conference"],"details":"The 2020 European Conference on Computer Vision took place online, from 23 to 28 August, and consisted of 1360 papers, divided into 104 orals, 160 spotlights and the rest of 1096 papers as posters. In addition to 45 workshops and 16 tutorials. As it is the case in recent years with ML and CV conferences, the huge number of papers can be overwhelming at times. Similar to my CVPR2020 post, to get a grasp of the general trends of the conference this year, I will present in this blog post a sort of a snapshot of the conference by summarizing some papers (& listing some) that grabbed my attention.\r\n\r\n* General Statistics\r\n* Recognition, Detection, Segmentation and Pose Estimation\r\n* Semi-Supervised, Unsupervised, Transfer, Representation & Few-Shot Learning\r\n* 3D Computer Vision & Robotics\r\n* Image and Video Synthesis\r\n* Vision and Language\r\n* The Rest","links":[{"article_link":"https://yassouali.github.io/ml-blog/eccv2020/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2258,"title":"Graph Convolutions for dummies","description":"An article explaining Graph Convolutional Networks as simply as possible.","tags":["article","tutorial","graph-convolutional-networks","graph-neural-networks","graphs","geometric-deep-learning"],"details":"The article explains GCN in as simply as possible. A basic knowledge in ML and matrix multiplication is needed to understand the article. Please refrain from directly copying content from the post. In case you want to use an excerpt or any original image, mention the link to the post.","links":[{"article_link":"https://thenlp.space/blog/graph-convolutional-network-for-dummies","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2257,"title":"Encrypt and Decrypt Files using Python","description":"Introduction to file encryption and decryption using Python. Detailed code examples with explanations and use of cryptography library.","tags":["article","tutorial","python","cyber-security","network-security","program-development","security"],"details":"In this article we will discuss how to encrypt and decrypt files using Python.\r\n\r\nTable of Contents:\r\n\r\n* Introduction\r\n* Creating a key\r\n* Loading a key\r\n* Encrypting a file\r\n* Decrypting a file\r\n* Complete Object-Oriented Programming Example\r\n* Conclusion","links":[{"article_link":"https://pyshark.com/encrypt-and-decrypt-files-using-python/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2256,"title":"VSCode on Google Colab","description":"Learn how to setup and use VSCode as an IDE on Google Colab","tags":["article","notebook","tutorial","colab","vscode","ngrok"],"details":"I recently discovered a way to setup VSCode on Google Colab and use it as an IDE to edit code and run experiments on the Colab VM.\r\n\r\nWith this setup, you can still prototype in the Colab Notebook while also using VSCode for all the advantages of an IDE. Here is how you can replicate my setup.","links":[{"article_link":"https://amitness.com/vscode-on-colab/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2255,"title":"Tensorflow, Pytorch, Transformer, Fastai, etc. Tutorials","description":"BERT Classification, Question Answering, Seq2Seq Machine Translation, Contextual Topic Modeling, Large Scale Multilabelclassification, etc","tags":["code","notebook","pytorch","tensorflow","attention","bert","transformers","natural-language-processing","text-classification","notebooks"],"details":"## Pytorch\r\n\r\n* BERT Fine-Tuning Tutorial [](https://colab.research.google.com/github/Ankur3107/colab_notebooks/blob/master/BERT_Fine_Tuning_Sentence_Classification_v2.ipynb)\r\n* Bert Classification [](https://colab.research.google.com/github/Ankur3107/colab_notebooks/blob/master/Bert_Classification_Pt.ipynb)\r\n* Generic Transformer Classification [](https://colab.research.google.com/github/Ankur3107/colab_notebooks/blob/master/Generic_Transformer_Classification.ipynb)\r\n* Question Answering with a Fine-Tuned BERT [](https://colab.research.google.com/github/Ankur3107/colab_notebooks/blob/master/Question_Answering_with_a_Fine_Tuned_BERT.ipynb)\r\n* Seq2Seq Machine Translation Transformer [](https://colab.research.google.com/github/Ankur3107/colab_notebooks/blob/master/Seq2Seq_Pytorch.ipynb)\r\n* Simpletransformers Tutorial [](https://colab.research.google.com/github/Ankur3107/colab_notebooks/blob/master/Simpletransformers_2.ipynb) [](https://colab.research.google.com/github/Ankur3107/large-scale-multi-label-classification/blob/master/simpletransformers_intro.ipynb) \r\n* Huggingface Transformer with Fastai Tutorial [](https://colab.research.google.com/github/Ankur3107/colab_notebooks/blob/master/SUsing_Transformers_with_Fastai_Tutorial.ipynb)\r\n* Contextual Topic Modeling [](https://colab.research.google.com/github/Ankur3107/colab_notebooks/blob/master/contextual_topic_modeling.ipynb)\r\n\r\n\r\n## Tensorflow\r\n\r\n* Large Scale Multilabelclassification [](https://colab.research.google.com/github/Ankur3107/large-scale-multi-label-classification/blob/master/simpletransformers_intro.ipynb)","links":[{"article_link":"","code_link":"https://github.com/Ankur3107/colab_notebooks","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://colab.research.google.com/github/Ankur3107/colab_notebooks/blob/master/BERT_Fine_Tuning_Sentence_Classification_v2.ipynb"}]},{"id":2254,"title":"PyTorch Performance Tuning Guide - Szymon Migacz, NVIDIA","description":"ECCV 2020 Tutorial on Accelerating Computer Vision with Mixed Precision","tags":["article","video","pytorch","demo","mixed-precision","eccv-2020"],"details":"Complete [**playlist**](https://www.youtube.com/playlist?list=PL6Rbs64R_CcPsJflYb2doIMmFaDyo-oIK) of all ECCV mixed precision talks now available.\r\n\r\nNew levels of accuracy in computer vision, from image recognition and detection, to generating images with GANs, have been achieved by increasing the size of trained models. Fast turn-around times while iterating on the design of such models would greatly improve the rate of progress in this new era of computer vision.\r\n\r\nThis tutorial will describe techniques that utilize half-precision floating point representations to allow deep learning practitioners to accelerate the training of large deep networks while also reducing memory requirements.\r\n\r\nThe talks and sessions below will provide a deep-dive into available software packages that enable easy conversion of models to mixed precision training, practical application examples, tricks of the trade (mixed precision arithmetic, loss scaling, etc.), as well as considerations relevant to training many popular models in commonly used deep learning frameworks including PyTorch and TensorFlow.","links":[{"article_link":"https://nvlabs.github.io/eccv2020-mixed-precision-tutorial/files/szymon_migacz-pytorch-performance-tuning-guide.pdf","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=9mS1fIYj1So","dataset_link":"","demo_link":"","other_link":"https://www.youtube.com/playlist?list=PL6Rbs64R_CcPsJflYb2doIMmFaDyo-oIK"}]},{"id":2253,"title":"Opacus","description":"A high-speed library for training PyTorch models with differential privacy.","tags":["article","code","pytorch","library","privacy","differential-privacy","opacus"],"details":"Opacus - a new high-speed library for training PyTorch models with differential privacy (DP) that\u2019s more scalable than existing state-of-the-art methods. Differential privacy is a mathematically rigorous framework for quantifying the anonymization of sensitive data. It\u2019s often used in analytics, with growing interest in the machine learning (ML) community. With the release of Opacus, we hope to provide an easier path for researchers and engineers to adopt differential privacy in ML, as well as to accelerate DP research in the field.\r\n\r\nOpacus provides:\r\n\r\n* **Speed**: By leveraging Autograd hooks in PyTorch, Opacus can compute batched per-sample gradients, resulting in an order of magnitude speedup compared with existing DP libraries that rely on microbatching.\r\n* **Safety**: Opacus uses a cryptographically safe pseudo-random number generator for its security-critical code. This is processed at high speed on the GPU for an entire batch of parameters.\r\n* **Flexibility**: Thanks to PyTorch, engineers and researchers can quickly prototype their ideas by mixing and matching our code with PyTorch code and pure Python code.\r\n* **Productivity**: Opacus comes with tutorials, helper functions that warn about incompatible layers before your training even starts, and automatic refactoring mechanisms.\r\n* **Interactivity**: Opacus keeps track of how much of your privacy budget (a core mathematical concept in DP) you are spending at any given point in time, enabling early stopping and real-time monitoring.\r\n\r\nOpacus defines a lightweight API by introducing the PrivacyEngine abstraction, which takes care of both tracking your privacy budget and working on your model\u2019s gradients. You don\u2019t need to call it directly for it to operate, as it attaches to a standard PyTorch optimizer. It works behind the scenes, making training with Opacus as easy as adding these lines of code at the beginning of your training code:","links":[{"article_link":"https://ai.facebook.com/blog/introducing-opacus-a-high-speed-library-for-training-pytorch-models-with-differential-privacy","code_link":"https://github.com/pytorch/opacus","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2252,"title":"Explore then Execute","description":"Adapting without Rewards via Factorized Meta-Reinforcement Learning","tags":["article","research","meta-learning","reinforcement-learning","meta-reinforcement-learning"],"details":"In this blog post, we\u2019ll cover and solve two key challenges about meta-exploration that keep humans in the kitchen.\r\n\r\n* First, we\u2019ll show that existing meta-reinforcement learning approaches suffer from a chicken-and-egg coupling problem: learning to explore and find the ingredients only helps a robot prepare a meal if it already knows how to cook, but the robot can only learn to cook if it already knows where the ingredients are. We\u2019ll avoid this cyclic dependence of learning to explore and learning to execute (solve the task) by proposing an objective to learn them independently of each other.\r\n* Second, we\u2019ll observe that the standard meta-reinforcement learning problem setting expects robots to cook the correct meal by trial-and-error, without even being told what meal to cook, which unnecessarily complicates the meta-exploration problem. To avoid this, we propose instruction-based meta-reinforcement learning, where the robot receives instructions specifying what meal to cook.","links":[{"article_link":"https://ai.stanford.edu/blog/meta-exploration/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2251,"title":"Practical AI: Using NLP word embeddings to solve localization ","description":"Using NLP word vectors (word2vec, glove, etc) in a novel way to solve the problem of localization in edtech.","tags":["article","notebook","tutorial","embeddings","natural-language-processing","word-embeddings","gensim","demo","word-vectors"],"details":"**King \u2014 Man + Woman = Queen**\r\n\r\nYou might have seen the traditional **word2vec** or **Glove** word embeddings examples that show **King -Man+Woman = Queen.** In this will see how we can use this structure to solve a real-world problem of localization in edtech.\r\n\r\n\r\n\r\nAn **edtech** company in the **USA** wants to expand into **India** after being successful in its home market. It has a large set of questions in their **question bank** that it wants to use when it enters the Indian market.\r\n\r\nBut there is **one big** problem. A sample **third class** (grade) **math question** in their question bank looks like this \u2014\r\n\r\n> **Frank** lives in **San Francisco** and **Elizabeth** lives in **Los Angeles**. If the flight time is **2 hrs** when will **Elizabeth** reach **Frank** if she starts at **8am** in the morning?\r\n\r\n\r\nA **3rd-grade** kid living in **India** would not connect with this question as it has references to **names** and **locations** lesser know to him/her - Frank, San Franciso, Los Angeles, etc.\r\n\r\nSo it would be ideal if we can automatically change the question to suit the **Indian context** and rephrase it as \u2014\r\n\r\n> **Sanjay Verma** lives in **Bangalore** and **Rekha** lives in **Mumbai**. If the flight time is **2 hrs** when will **Rekha** reach **Sanjay Verma** if she starts at **8am** in the morning?\r\n\r\n\r\nThis concept is called **localization**. It is the general concept of adopting a product or idea to a different country or region respecting local norms, customs, and any other preferences. \r\n\r\nIn this article we will see how **word embeddings** are used to achieve this **automatically** without manual intervention.\r\n","links":[{"article_link":"https://medium.com/@ramsrigouthamg/practical-ai-using-nlp-word-vectors-in-a-novel-way-to-solve-the-problem-of-localization-9de3e4fbf56f?source=friends_link","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"https://colab.research.google.com/drive/1oGqwDgDgtBeiXoeaq1uvX-_KxLY8FzXp","other_link":""}]},{"id":2250,"title":"Text Data Augmentation with MarianMT","description":"Learn how to use machine translation models in Hugging Face Transformers for data augmentation.","tags":["article","tutorial","huggingface","transformers","data-augmentation","natural-language-processing"],"details":"","links":[{"article_link":"https://amitness.com/back-translation/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2249,"title":"Heavy Metal Subgenre Classifier","description":"A music genre classifier trained to classify heavy metal subgenres.","tags":["article","code","dataset","convolutional-neural-networks","recurrent-neural-networks","music","audio-classification"],"details":"In this project, [a convolutional recurrent neural network (CRNN) ](https://arxiv.org/abs/1609.04243) was trained on a dataset of heavy metal track samples collected using Spotify's API.\r\n\r\nPeople who are not fans of a particular genre often struggle to distinguish between specific subgenres. The goal of this project was to see if a neural network could be trained to pick up on the subtle distinctions that a human with domain knowledge would be able to.\r\n\r\nA dataset was collected containing 100,000 track samples from Spotify. The dataset contained 20 classes made up of heavy metal subgenres. [Here's a guide to collecting track samples using Spotipy.](https://amontgomerie.github.io/2020/07/30/track_data_collection.html).\r\n\r\nThe final model was achieved 60% top 1 accuracy on the test set. (It was also able to get 80% top 1 accuracy on an easier dataset of more general genre categories.)","links":[{"article_link":"https://amontgomerie.github.io/2020/07/30/genre_classification.html","code_link":"https://github.com/AMontgomerie/genre_classifier","research_link":"","media_link":"","dataset_link":"https://drive.google.com/file/d/1Hv9AsEHdx5mKL7o6io_XegeQfVOPjP9g/view","demo_link":"","other_link":""}]},{"id":2248,"title":"Learn Machine Learning in 2020!","description":"Bunch of you asked me how to get started so here is the answer!","tags":["article","video","deep-learning","machine-learning"],"details":"I just made this YT video on how to get started with ML in 2020!\r\n\r\nI wrote the blog 2 years ago but it still contains relevant content.","links":[{"article_link":"https://medium.com/@gordicaleksa/get-started-with-ai-and-machine-learning-in-3-months-5236d5e0f230","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=7q_OJvQQ7vY","dataset_link":"","demo_link":"","other_link":""}]},{"id":2247,"title":"Unsupervised Keyphrase Extraction","description":"Learn about unsupervised algorithms for automatically extracting representative keyword and phrases from documents","tags":["article","tutorial","information-extraction","keyword-extraction","natural-language-processing","unsupervised-learning"],"details":"- Get a mental model of how keyword extraction pipeline works\r\n- Understand working mechanism and python implementation for some popular algorithms","links":[{"article_link":"https://amitness.com/keyphrase-extraction/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2246,"title":"Questgen- An NLP library for state-of-the-art Question Generation","description":"Questgen AI is an opensource, easy to use NLP library for Question generation. It can generate MCQs, Boolean (Yes/No), FAQs and also paraphrase any question.\r\n","tags":["code","notebook","research","huggingface","transformers","library","natural-language-processing","question-answering","question-generation","t5","demo"],"details":"https://questgen.ai/\r\n\r\nQuestgen AI is an opensource NLP library for state-of-the-art, easy to use Question generation algorithms. \r\nIt is on a quest build the world's most advanced question generation AI leveraging on state-of-the-art transformer models like T5, BERT and OpenAI GPT-2 etc.\r\n\r\nYou can generate different types of questions like MCQs, Boolean (Yes/No), FAQs, etc. You can also paraphrase any given question and do question answering.\r\n\r\nOur Github project has one of the cleanest ReadMe out there along with an easy to follow Google Colab notebook :) Do check it out.\r\n\r\n\r\n\r\nCurrently Supported Question Generation Capabilities :\r\n\r\n```\r\n\r\n1. Multiple Choice Questions (MCQs)\r\n\r\n2. Boolean Questions (Yes/No)\r\n\r\n3. General FAQs\r\n\r\n4. Paraphrasing any Question \r\n\r\n5. Question Answering.\r\n\r\n```\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/ramsrigouthamg/Questgen.ai","research_link":"","media_link":"","dataset_link":"","demo_link":"https://colab.research.google.com/drive/1CvgSjU48kN5jEtCU732soM723W1spGdm","other_link":"https://questgen.ai/"}]},{"id":2245,"title":"On the Bottleneck of Graph Neural Networks and its Implications","description":"The mechanism of propagating information between neighbors creates a bottleneck when every node aggregates messages from its neighbors.","tags":["code","paper","research","video","graph-neural-networks","graphs","bottleneck","arxiv:2006.05205"],"details":"Graph neural networks (GNNs) were shown to effectively learn from highly structured data containing elements (nodes) with relationships (edges) between them. GNN variants differ in how each node in the graph absorbs the information flowing from its neighbor nodes. In this paper, we highlight an inherent problem in GNNs: the mechanism of propagating information between neighbors creates a bottleneck when every node aggregates messages from its neighbors. This bottleneck causes the over-squashing of exponentially-growing information into fixed-size vectors. As a result, the graph fails to propagate messages flowing from distant nodes and performs poorly when the prediction task depends on long-range information. We demonstrate that the bottleneck hinders popular GNNs from fitting the training data. We show that GNNs that absorb incoming edges equally, like GCN and GIN, are more susceptible to over-squashing than other GNN types. We further show that existing, extensively-tuned, GNN-based models suffer from over-squashing and that breaking the bottleneck improves state-of-the-art results without any hyperparameter tuning or additional weights.","links":[{"article_link":"","code_link":"https://github.com/tech-srl/bottleneck","research_link":"https://arxiv.org/abs/2006.05205","media_link":"https://www.youtube.com/watch?v=vrLsEwzZTCQ","dataset_link":"","demo_link":"","other_link":"https://urialon.cswp.cs.technion.ac.il/wp-content/uploads/sites/83/2020/07/bottleneck_slides.pdf"}]},{"id":2244,"title":"Boost your Colab Notebooks with GCP and AWS Instances","description":"How to upgrade your Colab with Google Cloud Platform or Amazon Web Service Instance as a backend.","tags":["article","aws","gcp","gpu","google-cloud-platform","colab"],"details":"But sometimes you might require resources more than Colab typically offers, for example, you might require multi-GPUs or higher GPU RAM or maybe a better GPU to conclude successful DS experiments in your notebook. In this blog, I shall cover how to upgrade your Colab in a few minutes, without moving any of your code elsewhere, having Google Cloud Platform or Amazon Web Service Instance as a backend.","links":[{"article_link":"https://medium.com/@zohebabai/boost-your-colab-notebooks-with-gcp-and-aws-instance-within-a-few-minutes-a43ed37cd06d","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2243,"title":"SwAV","description":"Unsupervised Learning of Visual Features by Contrasting Cluster Assignments","tags":["article","paper","research","self-supervised-learning","unsupervised-learning","swav"],"details":"Self-supervised learning, semi-supervised learning, pretraining, self-training, robust representations, etc. are some of the hottest terms right now in the field of Computer Vision and Deep Learning. The recent progress in terms of self-supervised learning is astounding. Towards this end, researchers at FAIR have now come up with this new [paper](https://github.com/AakashKumarNain/annotated_research_papers/blob/master/self-supervised-learning/Swav.pdf) that introduces a new method to learn robust image representations.","links":[{"article_link":"https://medium.com/@nainaakash012/unsupervised-learning-of-visual-features-by-contrasting-cluster-assignments-fbedc8b9c3db","code_link":"","research_link":"https://github.com/AakashKumarNain/annotated_research_papers/blob/master/self-supervised-learning/Swav.pdf","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2242,"title":"Deep dive into ROI layer in Object Detection Models","description":"In this blog post we will implement in torch ROI Pool and ROI Align models from scratch.","tags":["article","tutorial","computer-vision","object-detection"],"details":"In this blog post we will implement in torch ROI Pool and ROI Align models from scratch.","links":[{"article_link":"https://medium.com/swlh/annotated-rpn-roi-pooling-and-roi-align-6a40ac5bbe1b","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2241,"title":"Objax","description":"Contraction of Object and JAX - a minimalist object-oriented design and a readable code base.","tags":["code","jax","library","demo","opjax"],"details":"[**Tutorials**](https://objax.readthedocs.io/en/latest/notebooks/Objax_Basics.html)\r\n| [**Install**](https://objax.readthedocs.io/en/latest/installation_setup.html)\r\n| [**Documentation**](https://objax.readthedocs.io/en/latest/)\r\n| [**Philosophy**](https://objax.readthedocs.io/en/latest/index.html#objax-philosophy)\r\n\r\nThis is not an officially supported Google product.\r\n\r\nObjax is an open source machine learning framework that accelerates research and learning thanks to a\r\nminimalist object-oriented design and a readable code base.\r\nIts name comes from the contraction of Object and [JAX](https://github.com/google/jax) -- a popular high-performance\r\nframework.\r\nObjax is designed **by researchers for researchers** with a focus on simplicity and understandability.\r\nIts users should be able to easily read, understand, extend, and modify it to fit their needs.\r\n\r\nThis is the developer repository of Objax, there is very little user documentation\r\nhere, for the full documentation go to [objax.readthedocs.io](https://objax.readthedocs.io/).\r\n\r\nYou can find READMEs in the subdirectory of this project, for example:\r\n\r\n* [Sample Code](examples/README.md)\r\n* [Writing documentation](docs/README.md)\r\n","links":[{"article_link":"","code_link":"https://github.com/google/objax","research_link":"","media_link":"","dataset_link":"","demo_link":"https://objax.readthedocs.io/en/latest/notebooks/Objax_Basics.html","other_link":"https://objax.readthedocs.io/en/latest/"}]},{"id":2240,"title":"Hopfield Networks is All You Need","description":"This blog post explains the paper Hopfield Networks is All You Need and the corresponding new PyTorch Hopfield layer.","tags":["article","code","paper","research","pytorch","hopfield-networks","arxiv:2008.02217"],"details":"This blog post explains the paper [Hopfield Networks is All You Need](https://arxiv.org/abs/2008.02217) and the corresponding new PyTorch [Hopfield layer](https://github.com/ml-jku/hopfield-layers).\r\n\r\nThis blog post is split into three parts. First, we make the transition from traditional Hopfield Networks towards modern Hopfield Networks and their generalization to continuous states through our new energy function. Second, the properties of our new energy function and the connection to the self-attention mechanism of transformer networks is shown. Finally, we introduce and explain a new PyTorch layer ([Hopfield layer](https://github.com/ml-jku/hopfield-layers)), which is built on the insights of our work. We show several practical use cases, i.e. [Modern Hopfield Networks and Attention for Immune Repertoire Classification](https://arxiv.org/abs/2007.13505), Hopfield pooling, and associations of two sets.","links":[{"article_link":"https://ml-jku.github.io/hopfield-layers/","code_link":"https://github.com/ml-jku/hopfield-layers","research_link":"https://arxiv.org/abs/2008.02217","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2239,"title":"An Introduction to Adversarial Examples in Deep Learning","description":"This report provides an intuitive introduction to adversarial examples, discusses a wide variety of different adversarial attacks and, most notably, provides ad","tags":["article","code","tutorial","deep-learning","computer-vision","wandb","adversarial-learning","adversarial-attacks"],"details":"","links":[{"article_link":"https://app.wandb.ai/authors/adv-dl/reports/An-Introduction-to-Adversarial-Examples-in-Deep-Learning--VmlldzoyMTQwODM","code_link":"https://github.com/sayakpaul/Image-Adversaries-101","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2238,"title":"Spinning Up in Deep RL (OpenAI)","description":"An educational resource to help anyone learn deep reinforcement learning.","tags":["code","tutorial","pytorch","tensorflow","reinforcement-learning","openai"],"details":"**Update**: Available in both TensorFlow and PyTorch.\r\n\r\nThis is an educational resource produced by OpenAI that makes it easier to learn about deep reinforcement learning (deep RL).\r\n\r\nFor the unfamiliar: [reinforcement learning](https://en.wikipedia.org/wiki/Reinforcement_learning) (RL) is a machine learning approach for teaching agents how to solve tasks by trial and error. Deep RL refers to the combination of RL with [deep learning](http://ufldl.stanford.edu/tutorial/).\r\n\r\nThis module contains a variety of helpful resources, including:\r\n\r\n- a short [introduction](https://spinningup.openai.com/en/latest/spinningup/rl_intro.html) to RL terminology, kinds of algorithms, and basic theory,\r\n- an [essay](https://spinningup.openai.com/en/latest/spinningup/spinningup.html) about how to grow into an RL research role,\r\n- a [curated list](https://spinningup.openai.com/en/latest/spinningup/keypapers.html) of important papers organized by topic,\r\n- a well-documented [code repo](https://github.com/openai/spinningup) of short, standalone implementations of key algorithms,\r\n- and a few [exercises](https://spinningup.openai.com/en/latest/spinningup/exercises.html) to serve as warm-ups.\r\n\r\nGet started at [spinningup.openai.com](https://spinningup.openai.com)!","links":[{"article_link":"","code_link":"https://github.com/openai/spinningup","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://spinningup.openai.com/en/latest/"}]},{"id":2237,"title":"Self-classifying MNIST Digits","description":"Achieving Distributed Coordination with Neural Cellular Automata\r\n\r\n","tags":["article","code","notebook","mnist","cellular-automata","self-classification","automata","distributed-coordination"],"details":"In this article, we use a variant of the neural cellular automata model described in [Growing Cellular Automata](https://doi.org/10.23915/distill.00023). We refer readers unfamiliar with its implementation to the original \u201d[Model](https://distill.pub/2020/growing-ca/#model)\u201d section. Here we will describe a few areas where our model diverges from the original.","links":[{"article_link":"https://distill.pub/2020/selforg/mnist/","code_link":"https://colab.research.google.com/github/google-research/self-organising-systems/blob/master/notebooks/mnist_ca.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2236,"title":"Git for Data: Not a Silver Bullet","description":"What we mean when we talk about version-control for data.","tags":["article","git","dvc","versioning","data"],"details":"I\u2019m broadly sympathetic to the goals that people who are working on \u201cgit for data\u201d projects have. However, I continue to believe that it\u2019s important to keep code separate from data and that if your data system is deterministic and append-only, then you can achieve all of your goals by using version-control for your code and then selectively applying transformations to subsets of the data to re-create the data state at any time. The motto remains:\r\n\r\n**Keep version control for your code, and keep a log for your data.**\r\n\r\nWorking on a version control system for data instead of solving the problem of not having an immutable log of your source data seems like investing a lot of time and tooling into solving the wrong problem (and is what I assume these systems are effectively doing under-the-hood-anyway).","links":[{"article_link":"https://locallyoptimistic.com/post/git-for-data-not-a-silver-bullet/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2235,"title":"Shift-Ctrl-F: Semantic Search for the Browser","description":"\ud83d\udd0e: Search the information available on a webpage using natural language instead of an exact string match.","tags":["code","javascript","tensorflow-js","attention","bert","transformers","library","natural-language-processing","question-answering","chrome-extension"],"details":"# Shift-Ctrl-F: Semantic Search for the Browser\r\n\r\n[](https://opensource.org/licenses/Apache-2.0)\r\n\r\nSearch the information available on a webpage using\r\nnatural language instead of an exact string match. Uses\r\n[MobileBERT](https://arxiv.org/abs/2004.02984)\r\nfine-tuned on\r\n[SQuAD](https://rajpurkar.github.io/SQuAD-explorer/)\r\nvia [TensorFlowJS](https://www.tensorflow.org/js) to\r\nsearch for answers and mark relevant elements on the web page.\r\n\r\n\r\n\r\n**This extension is an experiment.** Deep learning models like BERT are powerful\r\nbut may return unpredictable and/or biased results that are tough to interpret.\r\nPlease apply best judgement when analyzing search results.\r\n\r\n### Why?\r\n\r\nCtrl-F uses exact string-matching to find information within a webpage. String\r\nmatch is inherently a proxy heuristic for the true content -- in most cases it\r\nworks very well, but in some cases it can be a bad proxy.\r\n\r\nIn our example above we search\r\n[https://stripe.com/docs/testing](https://stripe.com/docs/testing), aiming to\r\nunderstand the **difference between test mode and live mode**. With string\r\nmatching, you might search through some relevant phrases `\"live mode\"`, `\"test\r\nmode\"`, and/or `\"difference\"` and scan through results. With semantic search, you\r\ncan directly phrase your question `\"What is the difference between live mode\r\nand test mode?\"`. We see that the model returns a relevant result, even though\r\nthe page does not contain the term \"`difference`\".\r\n\r\n### How It Works\r\n\r\nEvery time a user executes a search:\r\n\r\n1. The content script collects all ``, `
`, and `` elements on the\r\n page and extracts text from each.\r\n2. The background script executes the question-answering model on every\r\n element, using the query as the question and the element's text as the context.\r\n3. If a match is returned by the model, it is highlighted within the page along\r\n with the confidence score returned by the model.\r\n\r\n### Architecture\r\n\r\nThere are three main components that interact via [Message\r\nPassing](https://developer.chrome.com/extensions/messaging) to orchestrate the\r\nextension:\r\n\r\n1. Popup (`popup.js`): React application that renders the search bar, controls\r\n searching and iterating through the results.\r\n2. Content Script (`content.js`): Runs in the context of the current tab,\r\n responsible for reading from and manipulating the DOM.\r\n3. Background (`background.js`): Background script that loads and executes the\r\n TensorFlowJS model on question-context pairs.\r\n\r\n`src/js/message_types.js` contains the messages used to interact between these\r\nthree components.\r\n\r\n### Development\r\n\r\nMake sure you have these dependencies installed.\r\n\r\n1) [Node](https://nodejs.org/en/download/)\r\n2) [Yarn](https://classic.yarnpkg.com/en/docs/install)\r\n3) [Prettier](https://prettier.io/docs/en/install.html)\r\n\r\nThen run:\r\n\r\n```\r\nmake develop\r\n```\r\n\r\nThe unpacked extension will be placed inside of `build/`. See [Google Chrome\r\nExtension developer\r\ndocumentation](https://developer.chrome.com/extensions/getstarted) to load the\r\nunpacked extension into your Chrome browser in development mode.\r\n\r\n### Publishing\r\n\r\n```\r\nmake build\r\n```\r\n\r\nA zipped extension file ready for upload will be placed inside of `dist/`.","links":[{"article_link":"","code_link":"https://github.com/model-zoo/shift-ctrl-f","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2234,"title":"MTS (MLP-Torch-Sklearn): Pytorch MLP implementation for Sklearn","description":"Wanna play with Pytorch-based MLP implementation using datasets from the awesome sklearn library. This is made light-weight, simple and easy to run.","tags":["code","pytorch","scikit-learn","deep-learning","multilayer-perceptrons","classification-regression"],"details":"**Features**\r\n\r\n- Regression/classification using sklearn-like (numeric csv) datasets\r\n- Logging, model loading and saving, hyper-parameter tuning, easy model configuration.\r\n- Well-deigned for pytorch-preferred users who just stepped to the world of deep learning (DL) and want to understand important DL concepts with some toy examples (educational purpose).\r\n\r\n**Datasets available so far**\r\n\r\n- boston (regression)\r\n- covtype (classification)\r\n- digits (classification)\r\n- iris (classification)\r\n** This encourages the community to add more.\r\n","links":[{"article_link":"","code_link":"https://github.com/wangcongcong123/mts.git","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2233,"title":"A 2020 review of Handwritten Character Recognition","description":"Concept of handwritten text recognition, relevant use-cases, different neural network architectures involved in achieving the results, training your own model","tags":["article","tutorial","convolutional-neural-networks","computer-vision","natural-language-processing","optical-character-recognition"],"details":"OCR is considered a solved problem in general but not in entirety \ud83c\udfaf\r\n\r\nA key component of it, HTR is still a challenging problem.\r\n\r\nHandwriting Text Recognition(HTR) is the task of recognizing handwritten human text \ud83c\udfab\r\n\r\nIt involves using both Computer Vision and NLP\r\n\r\nEvery person has a different style of handwriting \ud83d\udc83, thus solving HTR is much more difficult than OCR\r\n\r\nIn this article I cover the progress of techniques in solving HTR and various SOTA models\r\n\r\nIn addition I have discussed the way to train your own HTR model on your own dataset\r\n\r\nHappy to discuss more if you interested more to learn more about handwritten text recognition\r\n\r\n\r\n","links":[{"article_link":"https://nanonets.com/blog/handwritten-character-recognition/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2232,"title":"GenRL","description":"GenRL is a PyTorch-First Reinforcement Learning library centered around reproducible and generalizable algorithm implementations.","tags":["code","research","tutorial","pytorch","deep-q-networks","library","multi-agent-reinforcement-learning","reinforcement-learning"],"details":"Reinforcement learning research is moving faster than ever before. In order to keep up with the growing trend and ensure that RL research remains reproducible, GenRL aims to aid faster paper reproduction and benchmarking by providing the following main features:\r\n\r\n* PyTorch-first: Modular, Extensible and Idiomatic Python\r\n* Tutorials and Documentation: We have over 20 tutorials assuming no knowledge of RL concepts. Basic explanations of algorithms in Bandits, Contextual Bandits, RL, Deep RL, etc.\r\n* Unified Trainer and Logging class: code reusability and high-level UI\r\n* Ready-made algorithm implementations: ready-made implementations of popular RL algorithms.\r\n* Faster Benchmarking: automated hyperparameter tuning, environment implementations etc.\r\n\r\nBy integrating these features into GenRL, we aim to eventually support any new algorithm implementation in less than 100 lines.\r\n\r\nCurrently, the library has implementations of popular classical and Deep RL agents that ready to be deployed. Apart from these, various Bandit algorithms are a part of GenRL. It has various abstraction layers that make the addition of new algorithms easy for the user.\r\n\r\nThe library aims to add other key research areas like Multi-agent RL, Evolutionary RL and hyperparameter optimization and provide extensive support for distributed training of agents.","links":[{"article_link":"","code_link":"https://github.com/SforAiDl/genrl","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://genrl.readthedocs.io"}]},{"id":2231,"title":"Which Debts Are Worth the Bank's Effort?","description":"Play bank data scientist and use regression discontinuity to see which debts are worth collecting.","tags":["code","machine-learning","banking","finance","data-summarization"],"details":"After a debt has been legally declared \"uncollectable\" by a bank, the account is considered to be \"charged-off.\" But that doesn't mean the bank simply walks away from the debt. They still want to collect some of the money they are owed. In this project, you will look at a situation where a bank assigned delinquent customers to different recovery strategies based on the expected amount the bank believed it would recover from the customer. The goal for the data scientist is to determine in this non-random assignment whether the incremental amount the bank earns exceeded the additional cost of assigning customers to a higher recovery strategy.\r\n\r\nThreshold assignments like this also one occur in medicine (above a certain temperature you get medicine), education (above a certain test score students get admitted to a special class), other areas of finance (above a certain wealth customers get different levels of service), and public sector (below a certain income someone is eligible for housing benefits). Regression discontinuity is an intuitive and useful analysis method in any situation of a threshold assignment.","links":[{"article_link":"","code_link":"https://github.com/OmarEltouny78/Banking","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2230,"title":"Disney Movies and Box Office Success","description":"In this project, you will analyze data to see how Disney movies have changed in popularity since its first movie release","tags":["code","machine-learning","classification","similarity-search","movies"],"details":"In this project, you will analyze data to see how Disney movies have changed in popularity since its first movie release","links":[{"article_link":"","code_link":"https://github.com/OmarEltouny78/Disney","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2229,"title":"Docker in Action","description":"Detailed notes from the book Docker In Action.","tags":["article","tutorial","docker"],"details":"Detailed notes from the book Docker In Action.","links":[{"article_link":"https://notes.hamel.dev/docs/docker/Docker-In-Action.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://www.manning.com/books/docker-in-action-second-edition"}]},{"id":2228,"title":"MiniTorch","description":"A teaching library for machine learning engineers who wish to learn about the internal concepts underlying deep learning systems.","tags":["article","code","deep-learning","library","minitorch"],"details":"MiniTorch is a teaching library for machine learning engineers who wish to learn about the internal concepts underlying deep learning systems. Specifically, it is a pure Python re-implementation of the Torch API designed to be simple, easy-to-read, tested, and incremental. The final library can run Torch code with minimal changes (at some efficiency cost). The project was developed for the course Machine Learning Engineering at Cornell Tech.","links":[{"article_link":"https://minitorch.github.io/","code_link":"https://github.com/minitorch/minitorch.github.io","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2227,"title":"Meta-Learning Is All You Need","description":"How can we design neural-based Bayesian meta-learning algorithms?","tags":["article","video","bayesian-deep-learning","meta-learning"],"details":"This post is part of a blog series on Meta-Learning that I\u2019m working on.\r\n\r\n* [Meta-Learning Is All You Need](https://medium.com/cracking-the-data-science-interview/meta-learning-is-all-you-need-3bd0bafdf289)\r\n* [Bayesian Meta-Learning Is All You Need](https://medium.com/cracking-the-data-science-interview/bayesian-meta-learning-is-all-you-need-1bcff6b889fc)\r\n* [Unsupervised Meta-Learning Is All You Need](https://medium.com/cracking-the-data-science-interview/unsupervised-meta-learning-is-all-you-need-71b6dfa29ccd)\r\n\r\n","links":[{"article_link":"https://medium.com/cracking-the-data-science-interview/unsupervised-meta-learning-is-all-you-need-71b6dfa29ccd","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=QY8JXpnllb0","dataset_link":"","demo_link":"","other_link":""}]},{"id":2226,"title":"Hyperparameter Optimization for \ud83e\udd17 Transformers: A Guide","description":"Basic grid search is not the most optimal, and in fact, the hyperparameters we choose can have a significant impact on our final model performance.","tags":["article","code","notebook","tutorial","transformers","natural-language-processing","ray","hyperparameter-optimization","ray-tune"],"details":"In this blog post, we\u2019ll show that basic grid search is not the most optimal, and in fact, the hyperparameters we choose can have a significant impact on our final model performance.\r\n\r\nWe fine-tune BERT using more advanced search algorithms like Bayesian Optimization and Population Based Training. As a result, we can:\r\n\r\n1. gain a better understanding of our hyperparameters and\r\n2. train a model with 5% better accuracy in the same amount of time.\r\n\r\n\r\nWe also conclude with a couple tips and tricks for hyperparameter tuning for \ud83e\udd17 Transformer models.","links":[{"article_link":"https://medium.com/distributed-computing-with-ray/hyperparameter-optimization-for-transformers-a-guide-c4e32c6c989b","code_link":"https://colab.research.google.com/drive/1tQgAKgcKQzheoh503OzhS4N9NtfFgmjF","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2225,"title":"Explainable and Reproducible ML modeling with DALEX and Neptune.","description":"DALEX-Neptune integration that allows users to easily add model's behavior explanations to experiments.","tags":["article","research","tutorial","deep-learning","machine-learning","demo","xai","explainable-ai"],"details":"Here, we present how the open source library DALEX (developed by a group of researchers ([dalex.drwhy.ai](http://dalex.drwhy.ai)) can be used for Explainable AI, focusing on predictions explanations.\r\n\r\nIt is a practical guide that shows how you can explain and explore models' behavior. Article focuses on:\r\n\r\n* explain machine learning models with **DALEX** explainers,\r\n* make your models versioned and experiments reproducible with **Neptune**,\r\n* automatically save model explainers and interactive explanation charts for every training run with **Neptune + DALEX integration**,\r\n* compare, debug, and audit every model you build with **versioned explainers**.\r\n\r\n","links":[{"article_link":"https://neptune.ai/blog/explainable-and-reproducible-machine-learning-with-dalex-and-neptune?utm_source=madewithml&utm_medium=post&utm_campaign=blog-explainable-and-reproducible-machine-learning-with-dalex-and-neptune","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"https://ui.neptune.ai/o/shared/org/dalex-integration/experiments?viewId=495b4a41-3424-4d01-9064-70be82716196?utm_source=madewithml&utm_medium=post&utm_campaign=blog-explainable-and-reproducible-machine-learning-with-dalex-and-neptune","other_link":"https://dalex.drwhy.ai/"}]},{"id":2224,"title":"Reducing Traffic Mortality in the USA","description":"How can we find a good strategy for reducing traffic-related deaths?","tags":["code","machine-learning","health","healthcare","mortality-prediction","data-science","exploratory-data-analysis"],"details":"Project Provided by DataCamp","links":[{"article_link":"","code_link":"https://github.com/OmarEltouny78/Traffic","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2223,"title":"AxCell","description":"Automatic Extraction of Results from Machine Learning Papers","tags":["article","code","paper","research","computer-vision","tabular","table-extraction","table-detection","arxiv:2004.14356"],"details":"Tracking progress in machine learning has become increasingly difficult with the recent explosion in the number of papers. In this paper, we present AxCell, an automatic machine learning pipeline for extracting results from papers. AxCell uses several novel components, including a table segmentation subtask, to learn relevant structural knowledge that aids extraction. When compared with existing methods, our approach significantly improves the state of the art for results extraction. We also release a structured, annotated dataset for training models for results extraction, and a dataset for evaluating the performance of models on this task. Lastly, we show the viability of our approach enables it to be used for semi-automated results extraction in production, suggesting our improvements make this task practically viable for the first time. ","links":[{"article_link":"https://deepmind.com/research/publications/AxCell-Automatic-Extraction-of-Results-from-Machine-Learning-Papers","code_link":"https://github.com/paperswithcode/axcell","research_link":"https://arxiv.org/abs/2004.14356","media_link":"","dataset_link":"","demo_link":"","other_link":"https://paperswithcode.com/paper/axcell-automatic-extraction-of-results-from"}]},{"id":2222,"title":"How Batch Normalization Works","description":"The article covers how Batch Normalization works and how it \"normalizes\" different input distributions to make gradient propagation easier.","tags":["article","code","notebook","convolutional-neural-networks","batch-normalization","batchnorm"],"details":"Batch normalization is an element-by-element shift (adding a constant) and scaling (multiplying by a constant) so that the mean of each element's values is zero and the variance of each element's values is one within a batch. It's typically inserted before the nonlinearity layer in a neural network. It works quite well. But we're still trying to figure out why.","links":[{"article_link":"https://e2eml.school/batch_normalization.html","code_link":"https://colab.research.google.com/github/davidcpage/cifar10-fast/blob/master/batch_norm_post.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2221,"title":"NewsBERT","description":" Using BERT & other transformer models for organizing RSS feed data ","tags":["code","notebook","library","zero-shot-learning","demo"],"details":"# NewsBERT\r\nIf you want to stay up to date on technical discussions, you probably browse different sources of information like reddit, twitter, medium and various programming blogs.\r\n\r\n## Inspiration\r\n\r\nIn the recent two years there was lots of progress made in NLP because of transformer models. One remarkable feature of these pretrained language models can be used for tasks like Zero-Shot Learning.\r\n\r\nZero-shot learning for text mining is basically unsupervised classification where the classes are text themselves.\r\nWhat it does\r\n\r\nWe tackle the problem of organizing information from different social media feeds in single wall that can be sorted by topics.\r\n\r\nThe app pulls articles from RSS feeds and lets the user filter the articles by topic classes.\r\n## How we built it\r\n\r\nThe app is built using streamlit. We used pretrained models from huggingface transformers and haystack libraries to extract topic scores.\r\n\r\nMore precisely we use Natural Language Inference models and construct pairs (text, \"text is on {topic}\") for given topics. The score gives the confidence that text entails the sentence \"text is on {topic}\" for each topic. This is used as our topic match score.\r\n\r\nOur implementation uses deepset's haystack library to reduce zero-shot learning to search problem: for each topic we find top k documents that match query \"text is on {topic}\".\r\n## What's next for NewsBERT\r\n\r\nWe need to research ways to get better topic scores, for example using approaches similar to ones proposed in Pattern-Exploiting Training.\r\n\r\nWe also want to check whether classes specified by topic names correspond to something that can be extracted using topic modeling.","links":[{"article_link":"","code_link":"github.com/lambdaofgod/pytorch_hackathon","research_link":"","media_link":"","dataset_link":"","demo_link":"https://colab.research.google.com/github/lambdaofgod/pytorch_hackathon/blob/master/notebooks/NewsBERT_on_Colab.ipynb","other_link":""}]},{"id":2220,"title":"Table Detection, Information Extraction and Structuring using ML","description":"Table Extraction (TE) is the task of detecting and decomposing table information in a document.","tags":["article","tutorial","information-retrieval","natural-language-processing","table-extraction","table-detection"],"details":"The amount of data being collected is drastically increasing day-by-day with lots of applications, tools, and online platforms booming in the present technological era. To handle and access this humongous data productively, it\u2019s necessary to develop valuable information extraction tools. One of the sub-areas that\u2019s demanding attention in the Information Extraction field is the fetching and accessing of data from tabular forms.\r\n\r\n","links":[{"article_link":"https://nanonets.com/blog/table-extraction-deep-learning/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2219,"title":"Probabilistic Machine Learning 4 Trading + Business Understanding","description":"You will learn how to structure a trading problem in a probabilistic way using real Binance data, also improve your feature engineering process.","tags":["article","code","machine-learning","random-forests","decision-tree","trading"],"details":"In this post you will learn:\r\n\r\n* How to define (a little part) of the risk management procedures understanding the importance of the expected return.\r\n* You will learn the impact that fees make on our decisions.\r\n* We will see why it was important to choose class-probability estimation models for this task.\r\n* We will understand how to improve our feature engineering based on business concepts, achieving a better success rate where it matters.\r\n* You will see cool motion visualizations!\r\n","links":[{"article_link":"https://towardsdatascience.com/probabilistic-machine-learning-approach-to-trading-macd-business-understanding-6b81f465aef6?source=---------2------------------","code_link":"https://github.com/MauricioLetelier/Trading_And_Visualizations","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2218,"title":"CascadeTabNet","description":"An approach for end-to-end table detection and structure recognition from image-based documents\r\n","tags":["code","notebook","paper","research","video","computer-vision","demo","table-extraction","arxiv:2004.12629","table-detection"],"details":"CascadTabNet is an automatic table recognition method for interpretation of tabular data in document images. We present an improved deep learning-based end to end approach for solving both problems of table detection and structure recognition using a single Convolution Neural Network (CNN) model. CascadeTabNet is a Cascade mask Region-based CNN High-Resolution Network (Cascade mask R-CNN HRNet) based model that detects the regions of tables and recognizes the structural body cells from the detected tables at the same time. We evaluate our results on ICDAR 2013, ICDAR 2019 and TableBank public datasets. We achieved 3rd rank in ICDAR 2019 post-competition results for table detection while attaining the best accuracy results for the ICDAR 2013 and TableBank dataset. We also attain the highest accuracy results on the ICDAR 2019 table structure recognition dataset.\r\n\r\n\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/DevashishPrasad/CascadeTabNet","research_link":"https://arxiv.org/abs/2004.12629","media_link":"https://www.youtube.com/watch?v=6rovEyWKZw8","dataset_link":"","demo_link":"https://colab.research.google.com/drive/1lzjbBQsF4X2C2WZhxBJz0wFEQor7F-fv","other_link":""}]},{"id":2217,"title":"neptune-contrib: Neptune contributions library","description":"Tools, helpers and everything else that helps you work with Neptune.","tags":["code","python","deep-learning","machine-learning","library","neptune"],"details":"## Intro\r\n**Neptune contrib** is a `pip-installable` library, developed by Neptune team, together with external contributors.\r\nIt is a collection of helpers and extensions that make working with Neptune faster and more effective.\r\n\r\n## About neptune-contrib\r\nNeptune contrib consist of few modules, each touches different aspects of machine learning experimentation.\r\n\r\nMajor modules are:\r\n\r\n* `api` -> that extends standard api provided by the parent library [neptune-client](https://github.com/neptune-ai/neptune-client).\r\n* `monitoring` -> with callbacks that let you monitor training of the lightGBM, XGBoost or fastai models.\r\n* `hpo` -> for running hyper parameter sweeps in scikit-optimize, hyperopt or any other tool you like.\r\n* `viz` -> with few ML-specific visualizations like [parallel coordinates plot](https://docs.neptune.ai/integrations/hiplot.html).\r\n\r\nThere is much more to discover, visit [documentation](https://neptune-contrib.readthedocs.io/) to learn more.\r\n\r\n## Just one example :)\r\nTake a look at one example utility, that allows you to interactively explore multiple experiments runs. You can find more info in the [docs](https://docs.neptune.ai/integrations/hiplot.html).\r\n\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/neptune-ai/neptune-contrib","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://neptune-contrib.readthedocs.io"}]},{"id":2216,"title":"Simple Ways to Tackle Class Imbalance","description":"Various methods used to counter class imbalance in image classification problems \u2013 class weighting, oversampling, under sampling, and two-phase learning.","tags":["article","code","notebook","tutorial","keras","tensorflow","wandb","class-imbalance"],"details":"**Problem:**\r\nSo let\u2019s draw an analogy here and understand what is up. With a neural network, there are weights and biases, which can be thought of as knobs on a radio. We turn the knob to tune the frequency of our radio. We keep turning the knob both ways until we find the perfect spot. In the neural network, the weights and biases are tuned until the sweet spot is found. The sweet spot for the knobs depends on what we want from the network. For the classification task, this sweet spot would be such that the network builds a function that can map input data to its proper class. Now that the foundation is laid, what would happen if the model (the neural network) sees one of the classes a lot compared to the other? The knobs would be tuned such that the predictions are leaned towards the majority class.\r\n\r\nTackling class imabalance in vision tasks.\r\nPointers:\r\n\r\n* Class Weights\r\n* Oversampling\r\n* Undersampling\r\n* Two-phase learning","links":[{"article_link":"https://app.wandb.ai/authors/class-imbalance/reports/Simple-Ways-to-Tackle-Class-Imbalance--VmlldzoxODA3NTk","code_link":"https://colab.research.google.com/drive/1VMo2CH6-2hJVyoeyomRYmfqnWQ9_Z_ZN","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2215,"title":"vedastr","description":"vedastr is an open source scene text recognition toolbox based on PyTorch.","tags":["code","pytorch","transformers","computer-vision","natural-language-processing","optical-character-recognition","scene-text-recognition"],"details":"## Introduction\r\nvedastr is an open source scene text recognition toolbox based on PyTorch. It is designed to be flexible\r\nin order to support rapid implementation and evaluation for scene text recognition task. \r\n\r\n## Features\r\n- **Modular design**\r\n We decompose the scene text recognition framework into different components and one can \r\n easily construct a customized scene text recognition framework by combining different modules.\r\n \r\n- **Flexibility**\r\n vedastr is flexible enough to be able to easily change the components within a module.\r\n\r\n- **Module expansibility**\r\n It is easy to integrate a new module into the vedastr project. \r\n\r\n- **Support of multiple frameworks**\r\n The toolbox supports several popular scene text recognition framework, e.g., [CRNN](https://arxiv.org/abs/1507.05717),\r\n [TPS-ResNet-BiLSTM-Attention](https://github.com/clovaai/deep-text-recognition-benchmark), Transformer, etc.\r\n\r\n- **Good performance**\r\n We re-implement the best model in [deep-text-recognition-benchmark](https://github.com/clovaai/deep-text-recognition-benchmark)\r\n and get better average accuracy. What's more, we implement a simple baseline(ResNet-FC)\r\n and the performance is acceptable.","links":[{"article_link":"","code_link":"https://github.com/Media-Smart/vedastr","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2214,"title":"vedaseg","description":"vedaseg is an open source semantic segmentation toolbox based on PyTorch.","tags":["code","pytorch","computer-vision","semantic-segmentation","segmentation"],"details":"## Introduction\r\nvedaseg is an open source semantic segmentation toolbox based on PyTorch.\r\n\r\n## Features\r\n\r\n- **Modular Design**\r\n\r\n We decompose the semantic segmentation framework into different components. The flexible and extensible design make it easy to implement a customized semantic segmentation project by combining different modules like building Lego.\r\n\r\n- **Support of several popular frameworks**\r\n\r\n The toolbox supports several popular and semantic segmentation frameworks out of box, *e.g.* DeepLabv3+, DeepLabv3, U-Net, PSPNet, FPN, etc.\r\n\r\n- **Deployment and acceleration**\r\n\r\n The toolbox can automatically transform and accelerate PyTorch, Onnx and Tensorflow models with TensorRT, can also automatically generate benchmark with given model.\r\n\r\n- **Different training modes**\r\n \r\n The toolbox supports both single-label training and multi-label training.","links":[{"article_link":"","code_link":"https://github.com/Media-Smart/vedaseg","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2213,"title":"Towards representation learning for an image retrieval task","description":"This project explains self-supervised and regularized supervised image retrieval with the help of the latent space of an autoencoder.","tags":["article","code","tutorial","tensorflow","autoencoders","representation-learning","wandb","image-retrieval"],"details":"In this project, we approach the `image retrieval` problem from an unsupervised perspective. The foundation of our work lies in the latent space representation of the images learned through a self-supervised learning task. The goal here is to capture the latent space embeddings of images and then try to determine the distance among them in the latent space. With this approach, we are focusing on the perceptual realm of an image. We validate the quality of the learned representations through a Clustering task and measure its performance through the normalized mutual information score & rand index. Then we identify the issues in learning in a purely unsupervised scenario and show the enhancement in the information content of the learned representations with a hint of supervision. We train a regularised autoencoder with the supervised information. We validate the performance in a retrieval framework for the test set.","links":[{"article_link":"https://app.wandb.ai/authors/image-retrieval/reports/Towards-Representation-Learning-for-an-Image-Retrieval-Task--VmlldzoxOTY4MDI","code_link":"https://github.com/ariG23498/ImageRetrieval/","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2212,"title":"Visualizing Class Activation Maps for CNNs","description":"Visualizing Class Activation Maps for Convolutional Neural Networks","tags":["code","research","tutorial","tensorflow","convolutional-neural-networks","interpretability","visualization","activation-maps"],"details":"### Visualizing Class Activation Maps for CNNs\r\n\r\n**Run it now**\r\n\r\n\r\n
\r\n\r\n\r\n**Running Locally**\r\n\r\n1.Installing requirements and dependencies\r\n\r\n```\r\ngit clone https://github.com/saadhaxxan/Visualizing-Class-Activation-Maps-for-CNN.git\r\ncd Visualizing-Class-Activation-Maps-for-CNN\r\npip install -r requirements.txt\r\n```\r\n\r\n2.Running the Script\r\n\r\n```\r\npython class_activation_maps_resnet50.py\r\n```\r\n\r\n**Author**\r\nYou can get in touch with me on my LinkedIn Profile:\r\n\r\nSaad Hassan\r\n[](https://www.linkedin.com/in/saadhaxxan)\r\n\r\nYou can also follow my GitHub Profile to stay updated about my latest projects: [](https://github.com/saadhaxxan)\r\n\r\nIf you liked the repo then kindly support it by giving it a star \u2b50!\r\n","links":[{"article_link":"","code_link":"https://github.com/saadhaxxan/Visualizing-Class-Activation-Maps-for-CNN","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2211,"title":"The Neural Network, A Visual Introduction","description":"Uncovering the deeper intuitions to build foundational knowledge on neural networks. ","tags":["code","tutorial","video","neural-networks","visualization","illustrated"],"details":"Uncovering the deeper intuitions to build foundational knowledge on neural networks. ","links":[{"article_link":"","code_link":"https://github.com/vivek3141/dl-visualization","research_link":"","media_link":"https://www.youtube.com/watch?v=UOvPeC8WOt8","dataset_link":"","demo_link":"","other_link":""}]},{"id":2210,"title":"KD Lib","description":"A PyTorch library to easily facilitate knowledge distillation for custom deep learning models.","tags":["code","paper","research","pytorch","library","knowledge-distillation","model-compression"],"details":"A PyTorch library to easily facilitate knowledge distillation for custom deep learning models.\r\n\r\nSome benchmark results can be found in the [logs.rst](https://github.com/SforAiDl/KD_Lib/blob/master/logs.rst) file.\r\n\r\n* Distilling the Knowledge in a Neural Network https://arxiv.org/abs/1503.02531 \r\n* Improved Knowledge Distillation via Teacher Assistant https://arxiv.org/abs/1902.03393 \r\n* Relational Knowledge Distillation https://arxiv.org/abs/1904.05068 \r\n* Distilling Knowledge from Noisy Teachers https://arxiv.org/abs/1610.09650 \r\n* Paying More Attention To The Attention https://arxiv.org/abs/1612.03928 \r\n* Revisit Knowledge Distillation: a Teacher-free Framework https://arxiv.org/abs/1909.11723 \r\n* Mean Teachers are Better Role Models https://arxiv.org/abs/1703.01780 \r\n* Knowledge Distillation via Route Constrained Optimization https://arxiv.org/abs/1904.09149 \r\n* Born Again Neural Networks https://arxiv.org/abs/1805.04770 \r\n* Preparing Lessons: Improve Knowledge Distillation with https://arxiv.org/abs/1911.07471 \r\n* Improving Generalization Robustness with Noisy https://arxiv.org/abs/1910.05057 \r\n* Distilling Task-Specific Knowledge from BERT into https://arxiv.org/abs/1903.12136 \r\n* Deep Mutual Learning https://arxiv.org/abs/1706.00384 \r\n* The Lottery Ticket Hypothesis: Finding https://arxiv.org/abs/1803.03635","links":[{"article_link":"","code_link":"https://github.com/SforAiDl/KD_Lib","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://kd-lib.readthedocs.io/"}]},{"id":2209,"title":"Benchmarking nearest neighbors","description":"Benchmarks of approximate nearest neighbor libraries in Python\r\n\r\n","tags":["code","library","embeddings","similarity-search","k-nearest-neighbors","benchmark"],"details":"Doing fast searching of nearest neighbors in high dimensional spaces is an increasingly important problem, but so far there has not been a lot of empirical attempts at comparing approaches in an objective way.\r\n\r\nThis project contains some tools to benchmark various implementations of approximate nearest neighbor (ANN) search for different metrics. We have pregenerated datasets (in HDF5) formats and we also have Docker containers for each algorithm. There's a test suite that makes sure every algorithm works.\r\n\r\n### Evaluated\r\n\r\n* [Annoy](https://github.com/spotify/annoy)\r\n* [FLANN](http://www.cs.ubc.ca/research/flann/)\r\n* [scikit-learn](http://scikit-learn.org/stable/modules/neighbors.html): LSHForest, KDTree, BallTree\r\n* [PANNS](https://github.com/ryanrhymes/panns)\r\n* [NearPy](http://pixelogik.github.io/NearPy/)\r\n* [KGraph](https://github.com/aaalgo/kgraph)\r\n* [NMSLIB (Non-Metric Space Library)](https://github.com/nmslib/nmslib): SWGraph, HNSW, BallTree, MPLSH\r\n* [hnswlib (a part of nmslib project)](https://github.com/nmslib/hnsw)\r\n* [RPForest](https://github.com/lyst/rpforest)\r\n* [FAISS](https://github.com/facebookresearch/faiss.git)\r\n* [DolphinnPy](https://github.com/ipsarros/DolphinnPy)\r\n* [Datasketch](https://github.com/ekzhu/datasketch)\r\n* [PyNNDescent](https://github.com/lmcinnes/pynndescent)\r\n* [MRPT](https://github.com/teemupitkanen/mrpt)\r\n* [NGT](https://github.com/yahoojapan/NGT): ONNG, PANNG\r\n* [SPTAG](https://github.com/microsoft/SPTAG)\r\n* [PUFFINN](https://github.com/puffinn/puffinn)\r\n* [N2](https://github.com/kakao/n2)\r\n* [ScaNN](https://github.com/google-research/google-research/tree/master/scann)\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/erikbern/ann-benchmarks","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2208,"title":"Non-Metric Space Library (NMSLIB)","description":"An efficient similarity search library and a toolkit for evaluation of k-NN methods for generic non-metric spaces.","tags":["code","library","embeddings","similarity-search","k-nearest-neighbors"],"details":"Non-Metric Space Library (NMSLIB) is an efficient cross-platform similarity search library and a toolkit for evaluation of similarity search methods. The core-library does not have any third-party dependencies. It has been gaining popularity recently. In particular, it has become a part of Amazon Elasticsearch Service.\r\n\r\nThe goal of the project is to create an effective and comprehensive toolkit for searching in generic and non-metric spaces. Even though the library contains a variety of metric-space access methods, our main focus is on generic and approximate search methods, in particular, on methods for non-metric spaces. NMSLIB is possibly the first library with a principled support for non-metric space searching.\r\n\r\nNMSLIB is an extendible library, which means that is possible to add new search methods and distance functions. NMSLIB can be used directly in C++ and Python (via Python bindings). In addition, it is also possible to build a query server, which can be used from Java (or other languages supported by Apache Thrift). Java has a native client, i.e., it works on many platforms without requiring a C++ library to be installed.\r\n\r\n* NMSLIB is generic but fast, see the results of ANN benchmarks.\r\n* A standalone implementation of our fastest method HNSW also exists as a header-only library.\r\n* All the documentation (including using Python bindings and the query server, description of methods and spaces, building the library, etc) can be found on this page.\r\n* For generic questions/inquiries, please, use the Gitter chat: GitHub issues page is for bugs and feature requests.\r\n","links":[{"article_link":"","code_link":"https://github.com/nmslib/nmslib","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2207,"title":"Rules of Machine Learning: Best Practices for ML Engineering","description":"A basic knowledge of machine learning get the benefit of best practices in machine learning from around Google.","tags":["article","product-management","production","monitoring"],"details":"This document is intended to help those with a basic knowledge of machine learning get the benefit of best practices in machine learning from around Google. It presents a style for machine\r\nlearning, similar to the Google C++ Style Guide and other popular guides to practical programming. If you have taken a class in machine learning, or built or worked on a machine\u00adlearned model, then you have the necessary background to read this document.","links":[{"article_link":"http://martin.zinkevich.org/rules_of_ml/rules_of_ml.pdf","code_link":"","research_link":"","media_link":"https://anvaka.github.io/rules-of-ml/","dataset_link":"","demo_link":"","other_link":""}]},{"id":2206,"title":"People + AI Guidebook","description":"The People + AI Guidebook was written to help user experience (UX) professionals and product managers follow a human-centered approach to AI.","tags":["article","design","product-management","ux","book","ui","user-experience"],"details":"The People + AI Guidebook was written to help user experience (UX) professionals and product managers follow a human-centered approach to AI.\r\n\r\nThe Guidebook\u2019s recommendations are based on data and insights from over a hundred individuals across Google product teams, industry experts, and academic research.\r\n\r\nThese six chapters follow the product development flow, and each one has a related worksheet to help turn guidance into action.","links":[{"article_link":"https://pair.withgoogle.com/guidebook/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2205,"title":"Machine Learning for Product Managers","description":"A product-centric overview of machine learning.\r\n","tags":["article","product-management"],"details":"**Part 1**: Machine learning, without the math\r\n\r\n* Unsupervised learning is about identifying patterns\r\n* Supervised learning is about predicting an outcome\r\n* Supervised & unsupervised learning often looks similar in products\r\n* There are technical terms for what products are trying to do\r\n\r\n**Part 2**: Using ML in products\r\n\r\n* Does the ML fit the product goal?\r\n* How does the product behave \u201caround\u201d the ML?\r\n* How should a product start using ML?\r\n* What are you comparing with?\r\n* How quickly should this product change?\r\n* What interactions, actions, & control do users have?\r\n* How could the product fail catastrophically?","links":[{"article_link":"https://medium.com/@neal_lathia/machine-learning-for-product-managers-ba9cf8724e57","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2204,"title":"Tensorflow Object Detection with Tensorflow 2","description":"Object Detection with Tensorflow 2 and the Tensorflow Object Detection API ","tags":["article","code","tutorial","tensorflow","computer-vision","object-detection"],"details":"In this step-by-step guide you'll learn how to create your own custom object detection model with Tensorflow 2 and the Tensorflow Object Detection API.","links":[{"article_link":"https://gilberttanner.com/blog/tensorflow-object-detection-with-tensorflow-2-creating-a-custom-model","code_link":"https://github.com/TannerGilbert/Tensorflow-Object-Detection-API-Train-Model","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2203,"title":"Image Similarity Search in PyTorch","description":"Simple Convolutional Auto-encoder based image similarity\r\nsearch to find similar images to given image or features.\r\nFully written in PyTorch.","tags":["article","code","tutorial","pytorch","autoencoders","convolutional-neural-networks","computer-vision","image-similarity-search","representation-learning","similarity-search","demo","image-retrieval"],"details":"### Image Similarity using PyTorch\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n#### Auto-encoder based Image-Similarity Engine\r\n\r\n- Builds a simple Convolutional Auto-encoder based Image similarity engine.\r\n- This solves the problem of finding similar images using unsupervised learning. There are no labels for images.\r\n\r\nTasks that it can do.\r\n\r\n- [x] Similar images using Auto-encoders.\r\n- [x] Similar image search from image features.\r\n- [x] Clustering similar images.\r\n\r\n#### Repostory Structure.\r\n```\r\n=== data Read data from here. It is in gitignore so it won't appear here.\r\n=== docs Documentation using mkdocs.\r\n=== image_similarity\r\n====== cluster_images.py Clusters the embeddings learnt using PCA and T-SNE.\r\n====== torch_data.py Contains Dataset class to create PyTorch dataset from folder.\r\n====== torch_model.py Convolutional Auto-enocder Model.\r\n====== torch_engine.py Train_step and validation_step for training.\r\n====== torch_train.py Trainng script. Trains Auto-enocder and saves the embeddings.\r\n====== torch_infer.py Contains inference code\r\n====== config.py Configurations of models and paths.\r\n====== torch_inference.ipynb Inference code in .ipynb to play with.\r\n====== torch_train.ipynb Stand-alone code to train in Jupyter.\r\n=== tests Contains tests for CI\r\n```\r\n","links":[{"article_link":"https://medium.com/pytorch/image-similarity-search-in-pytorch-1a744cf3469","code_link":"https://github.com/oke-aditya/image_similarity","research_link":"","media_link":"","dataset_link":"","demo_link":"https://oke-aditya.github.io/image_similarity","other_link":""}]},{"id":2202,"title":"Graph Representation Learning Book","description":"Introduction to graph representation learning, including methods for embedding graph data, graph neural networks, and deep generative models of graphs.","tags":["article","embeddings","graph-neural-networks","graphs","knowledge-graphs","representation-learning","book","graph-representation-learning"],"details":"The field of graph representation learning has grown at an incredible (and sometimes unwieldy) pace over the past seven years, transforming from a small subset of researchers working on a relatively niche topic to one of the fastest growing sub-areas of deep learning.\r\n\r\nThis book is my attempt to provide a brief but comprehensive introduction to graph representation learning, including methods for embedding graph data, graph neural networks, and deep generative models of graphs.\r\n\r\n**Contents and Chapter Drafts**\r\n\r\n* Chapter 1: [Introduction and Motivations](https://www.cs.mcgill.ca/~wlh/grl_book/files/GRL_Book-Chapter_1-Intro.pdf)\r\n* Chapter 2: [Background and Traditional Approaches](https://www.cs.mcgill.ca/~wlh/grl_book/files/GRL_Book-Chapter_2-Background.pdf)\r\n* Part I: Node Embeddings\r\n\t* Chapter 3: [Neighborhood Reconstruction Methods](https://www.cs.mcgill.ca/~wlh/grl_book/files/GRL_Book-Chapter_3-Node_Embeddings.pdf)\r\n\t* Chapter 4: [Multi-Relational Data and Knowledge Graphs](https://www.cs.mcgill.ca/~wlh/grl_book/files/GRL_Book-Chapter_4-Knowledge_Graphs.pdf)\r\n* Part II: Graph Neural Networks\r\n\t* Chapter 5: [The Graph Neural Network Model](https://www.cs.mcgill.ca/~wlh/grl_book/files/GRL_Book-Chapter_5-GNNs.pdf)\r\n\t* Chapter 6: [Graph Neural Networks in Practice](https://www.cs.mcgill.ca/~wlh/grl_book/files/GRL_Book-Chapter_6-GNNs_in_Practice.pdf)\r\n\t* Chapter 7: [Theoretical Motivations](https://www.cs.mcgill.ca/~wlh/grl_book/files/GRL_Book-Chapter_7-GNN_Theory.pdf)\r\n* Part III: Generative Graph Models\r\n\t* Chapter 8: [Traditional Graph Generation Approaches](https://www.cs.mcgill.ca/~wlh/grl_book/files/GRL_Book-Chapter_8-Traditional_Graph_Generation.pdf)\r\n\t* Chapter 9: [Deep Generative Models](https://www.cs.mcgill.ca/~wlh/grl_book/files/GRL_Book-Chapter_9-Deep_Graph_Generation.pdf)\r\n* [Bibliography](https://www.cs.mcgill.ca/~wlh/grl_book/files/GRL_Book-Bibliography.pdf)","links":[{"article_link":"https://www.cs.mcgill.ca/~wlh/grl_book/files/GRL_Book.pdf","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://www.cs.mcgill.ca/~wlh/grl_book/"}]},{"id":2201,"title":"Configuring Google Colab Like A Pro","description":"How to Do Research Quality Machine Learning on a Budget.","tags":["article","code","notebook","tutorial","jupyter","gpu","google-colab","colab"],"details":"**Table of Contents:**\r\n\r\n* Make sure you don\u2019t get disconnected\r\n* Mount your drive for fast, responsible access to your datasets\r\n* Use wget to download datasets to your drive\r\n* Use Gdown to grab publicly available Google Drive files\r\n* The best way to connect your Github\r\n* Remote in through VSCode using SSH and ngrok\r\n* Run Tensorboard in Colab or in the browser\r\n* Use fastprogress when your code will take a while\r\n* Setup a telegram bot to update you during setup and training\r\n* Some paid addons worth considering\r\n* Addendum and extras","links":[{"article_link":"https://medium.com/@robertbracco1/configuring-google-colab-like-a-pro-d61c253f7573","code_link":"https://colab.research.google.com/drive/1yD_BhN7qSsp1auYNC-TET8gjP3ji8rOq","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2200,"title":"Bad passwords and the NIST guidelines","description":"Example project provided by DataCamp. In this project, you will write code that automatically detects and flags the bad passwords.","tags":["code","tutorial","machine-learning","natural-language-processing","exploratory-data-analysis"],"details":"To complete this project, you need to know how to manipulate strings in pandas DataFrames and be familiar with regular expressions","links":[{"article_link":"","code_link":"https://github.com/OmarEltouny78/Bad_Passwords/tree/gh-pages","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2199,"title":"How to Set Up Continuous Integration for Machine Learning","description":"How to Set Up Continuous Integration for Machine Learning with Github Actions and Neptune: Step by Step Guide.","tags":["article","code","tutorial","deep-learning","experiment-tracking","mlops","github-actions","ci-cd","neptune"],"details":"In this step-by-step guide you will learn about how to set up a **CI pipeline for machine learning project** that automates the following scenario.\r\n\r\nSpecifically, on every Pull Request from branch `develop` to `master`:\r\n\r\n* Run model training and log all the experiment information to Neptune for both branches\r\n* Create a comment that contains a table showing diffs in parameters, properties, and metrics, links to experiments and experiment comparison in Neptune.","links":[{"article_link":"https://neptune.ai/blog/continuous-integration-for-machine-learning-with-github-actions-and-neptune","code_link":"https://github.com/neptune-ai/neptune-action","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2198,"title":"How to use Colab with GIT on your local machine","description":"In this post you will learn a very efficient way to use Colab when working on a project that will allow you control the files locally on your own computer.","tags":["article","git","colab"],"details":"Improve efficiency when working using Colab together with git.","links":[{"article_link":"https://medium.com/@hershkoy/how-to-use-colab-with-git-on-your-local-machine-1c95586967e","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2197,"title":"Volksdep","description":"An open-source toolbox for deploying and accelerating PyTorch, Onnx and Tensorflow models with TensorRT.","tags":["code","keras","onnx","pytorch","tensorflow","library","tensorrt"],"details":"volksdep is an open-source toolbox for deploying and accelerating PyTorch, Onnx and Tensorflow models with TensorRT.\r\n\r\n**Features**\r\n\r\n* Auto transformation and acceleration\r\nvolksdep can automatically transform and accelerate PyTorch, Onnx and Tensorflow models with TensorRT by writing only some few codes.\r\n* Auto benchmark\r\nvolksdep can automatically generate benchmark with given model.","links":[{"article_link":"","code_link":"https://github.com/Media-Smart/volksdep","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2196,"title":"Superconductor Analysis and Prediction","description":"TensorFlow is used to predict the critical temperature of superconductors. This model gets an r-squared score of 96.11% with the predicted and actual results.","tags":["code","dataset","python","tensorflow","materials","streamlit","demo"],"details":"The objective of this was to understand TensorFlow and to use it in a scientific application in a domain that I understood. I found the data from the UCI ML data repository and I thought this was a great dataset to use.\r\n\r\nThe TensorFlow Neural Network contains 4 hidden layers and is a rather basic. This does achieve an r-squared score 96.11%. This is presented with Streamlit and is interactive to the extent of exploring finding a material that your are interested in and a table is shown with the actual and predicted critical temperatures.\r\n\r\nThere are interactive visualizations as well in the Streamlit app that explores the actual and predicted temperatures and an exploration of the entire dataset with the relevant information.\r\n\r\nThe next steps would be to apply Tensorflow to more datasets with classification, NLP, and recommendation objectives and projects in mind. ","links":[{"article_link":"","code_link":"https://github.com/AymanSulaiman/superconductor-analysis-and-prediction","research_link":"","media_link":"","dataset_link":"https://archive.ics.uci.edu/ml/datasets/Superconductivty+Data","demo_link":"https://superconductor-analysis.herokuapp.com/","other_link":""}]},{"id":2195,"title":"Streamlit Terran Timeline","description":"A face-recognition timeline generator tool for any kind of video!","tags":["code","library","computer-vision","face-detection","facial-recognition","streamlit","youtube","terran"],"details":"Creating face-recognition timelines on videos has never been so easy! Using the power of Terran we can easily build these timelines.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/pento-group/streamlit-terran-timeline","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2194,"title":"Behavioral Testing of NLP Models","description":"Beyond Accuracy: Behavioral Testing of NLP models with CheckList.","tags":["code","paper","research","library","natural-language-processing","unit-tests","testing","checklist"],"details":"Although measuring held-out accuracy has\r\nbeen the primary approach to evaluate generalization, it often overestimates the performance\r\nof NLP models, while alternative approaches\r\nfor evaluating models either focus on individual tasks or on specific behaviors. Inspired\r\nby principles of behavioral testing in software\r\nengineering, we introduce CheckList, a taskagnostic methodology for testing NLP models. CheckList includes a matrix of general\r\nlinguistic capabilities and test types that facilitate comprehensive test ideation, as well as a\r\nsoftware tool to generate a large and diverse\r\nnumber of test cases quickly. We illustrate the\r\nutility of CheckList with tests for three tasks,\r\nidentifying critical failures in both commercial\r\nand state-of-art models. In a user study, a team\r\nresponsible for a commercial sentiment analysis model found new and actionable bugs in\r\nan extensively tested model. In another user\r\nstudy, NLP practitioners with CheckList created twice as many tests, and found almost\r\nthree times as many bugs as users without it.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/marcotcr/checklist","research_link":"https://homes.cs.washington.edu/~marcotcr/acl20_checklist.pdf","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2193,"title":"Effective testing for machine learning systems","description":"Why testing machine learning systems can be different, and discuss some strategies for writing effective tests for machine learning systems.","tags":["article","e2e-tests","unit-tests","testing","regression-tests"],"details":"In this blog post, we'll cover what testing looks like for traditional software development, why testing machine learning systems can be different, and discuss some strategies for writing effective tests for machine learning systems. We'll also clarify the distinction between the closely related roles of evaluation and testing as part of the model development process. By the end of this blog post, I hope you're convinced of both the extra work required to effectively test machine learning systems and the value of doing such work.\r\n\r\n","links":[{"article_link":"https://www.jeremyjordan.me/testing-ml/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2192,"title":"PencilSketcher App - Web App using Streamlit, OpenCV, Python","description":"Built front-end using streamlit and then use Pencil Sketch Code (opencv) to build the back-end function create a full-stack PencilSketcher Web App","tags":["code","tutorial","video","web-services","opencv","streamlit"],"details":"","links":[{"article_link":"","code_link":"https://github.com/amrrs/youtube-r-snippets/blob/master/pencilsketch_webapp.py","research_link":"","media_link":"https://www.youtube.com/watch?v=Q3f693wLkfc","dataset_link":"","demo_link":"","other_link":""}]},{"id":2191,"title":"Image Caption Generation","description":"Image Caption Generation is a challenging task where a textual description is generated given a picture. It needs both methods from Computer Vision and Natural ","tags":["code","tutorial","pytorch","convolutional-neural-networks","deep-learning","computer-vision","image-captioning","natural-language-processing"],"details":"- Quality Code\r\n- Proper project structure\r\n- Documentation\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/msank00/image_caption_gen","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2190,"title":"Practical Data Ethics","description":"Course covering disinformation, bias, ethical foundations, privacy & surveillance, silicon valley ecosystem, and algorithmic colonialism.","tags":["course","surveillance","fairness","bias","ethics","ethical-ml","disinformation"],"details":"**Topics covered**:\r\n\r\n* Disinformation\r\n* Bias & Fairness\r\n* Ethical Foundations & Practical Tools\r\n* Privacy & surveillance\r\n* Our Ecosystem: Metrics, Venture Capital, & Losing the Forest for the Trees\r\n* Algorithmic Colonialism, and Next Steps\r\n\r\nData ethics covers an incredibly broad range of topics, many of which are urgent, making headlines daily, and causing harm to real people right now. A meta-analysis of over 100 syllabi on tech ethics, titled \u201cWhat do we teach when we teach tech ethics?\u201d found that there was huge variation in which topics are covered across tech ethics courses (law & policy, privacy & surveillance, philosophy, justice & human rights, environmental impact, civic responsibility, robots, disinformation, work & labor, design, cybersecurity, research ethics, and more\u2013 far more than any one course could cover). These courses were taught by professors from a variety of fields. The area where there was more unity was in outcomes, with abilities to critique, spot issues, and make arguments being some of the most common desired outcomes for tech ethics course.\r\n\r\nIn this course, we will focus on topics that are both urgent and practical. In keeping with my teaching philosophy, we will begin with two active, real-world areas (disinformation and bias) to provide context and motivation, before stepping back in Lesson 3 to dig into foundations of data ethics and practical tools. From there we will move on to additional subject areas: privacy & surveillance, the role of the Silicon Valley ecosystem (including metrics, venture growth, & hypergrowth), and algorithmic colonialism. I realize this course still just covers a slice of what is a sprawling field, and I hope that it will be a helpful entry point for continued exploration.","links":[{"article_link":"","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"http://ethics.fast.ai/"}]},{"id":2188,"title":"Great Expectations","description":"Always know what to expect from your data.","tags":["code","video","library","unit-tests","pandas","testing","demo","tests","great-expectations","data-quality"],"details":"Great Expectations helps data teams eliminate pipeline debt, through data testing, documentation, and profiling.\r\n\r\nSoftware developers have long known that testing and documentation are essential for managing complex codebases. Great Expectations brings the same confidence, integrity, and acceleration to data science and data engineering teams.\r\n\r\n* **How it works**: https://www.youtube.com/watch?v=YLy4NsioUVI\r\n* **Demo**: https://www.youtube.com/watch?v=uM9DB2ca8T8\r\n\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/great-expectations/great_expectations","research_link":"","media_link":"https://www.youtube.com/watch?v=YLy4NsioUVI","dataset_link":"","demo_link":"https://www.youtube.com/watch?v=uM9DB2ca8T8","other_link":"https://docs.greatexpectations.io/en/latest/"}]},{"id":2186,"title":"AI in Medicine and Imaging - Stanford Symposium 2020","description":"Through the AIMI Symposium we hope to address gaps and barriers in the field and catalyze more evidence-based solutions to improve health for all.","tags":["article","video","health","medicine","computer-vision","medical-imaging","stanford","videos"],"details":"Advancements of machine learning and artificial intelligence into all areas of medicine are now a reality and they hold the potential to transform healthcare and open up a world of incredible promise for everyone. Sponsored by the Stanford Center for Artificial Intelligence in Medicine and Imaging, the \r\n2020 AIMI Symposium is a virtual conference convening experts from Stanford and beyond to advance the field of AI in medicine and imaging. This conference will cover everything from a survey of the latest machine learning approaches, many use cases in depth, unique metrics to healthcare, important challenges and pitfalls, and best practices for designing building and evaluating machine learning in healthcare applications. \r\n\r\nOur goal is to make the best science accessible to a broad audience of academic, clinical, and industry attendees. Through the AIMI Symposium we hope to address gaps and barriers in the field and catalyze more evidence-based solutions to improve health for all.\r\n\r\nTopic covered include:\r\n\r\n* Democratizing Healthcare with AI\r\n* Regulatory Considerations for AI in Healthcare\r\n* Technical Advancements in Clinical ML - What's New in 2020\r\n* Fairness in Clinical Machine Learning\r\n* Bridging Innovation to Application\r\nand more!","links":[{"article_link":"https://aimi.stanford.edu/news-events/aimi-symposium/agenda","code_link":"","research_link":"","media_link":"https://www.youtube.com/playlist?list=PLe6zdIMe5B7IR0oDOobXBDBlYY1eqLYPx","dataset_link":"","demo_link":"","other_link":"https://aimi.stanford.edu/"}]},{"id":2185,"title":"Language Interpretability Tool (LIT)","description":"The Language Interpretability Tool (LIT) is a visual, interactive model-understanding tool for NLP models.","tags":["code","library","interpretability","natural-language-processing"],"details":"The Language Interpretability Tool (LIT) is a visual, interactive model-understanding tool for NLP models.\r\n\r\nLIT is built to answer questions such as:\r\n\r\n* What kind of examples does my model perform poorly on?\r\n* Why did my model make this prediction? Can this prediction be attributed to adversarial behavior, or to undesirable priors in the training set?\r\n* Does my model behave consistently if I change things like textual style, verb tense, or pronoun gender?\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/pair-code/lit/","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2184,"title":"From Hours to Seconds: 100x Faster Boosting, Bagging, & Stacking","description":"100x Faster Boosting, Bagging, and Stacking with RAPIDS cuML and Scikit-learn Machine Learning Model Ensembling.","tags":["article","code","tutorial","scikit-learn","boosting","cuml","rapids","emsembling","bagging","stacking"],"details":"In this post, we\u2019ll walk through how you can now use RAPIDS cuML with scikit-learn\u2019s ensemble model APIs to achieve more than 100x faster boosting, bagging, stacking, and more. This is possible because of the well-defined interfaces and use of duck typing in the scikit-learn codebase. Using cuML estimators as drop-in replacements mean data scientists can have their cake and eat it, too.","links":[{"article_link":"https://medium.com/rapids-ai/100x-faster-machine-learning-model-ensembling-with-rapids-cuml-and-scikit-learn-meta-estimators-d869788ee6b1","code_link":"https://gist.github.com/beckernick/3e94c62a28a6c10c0dda9456ff6cf24b","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2183,"title":"Generating music in the waveform domain","description":"Overview of generative models applied to music generation.","tags":["article","autoencoders","generative-adversarial-networks","variational-autoencoders","audio","music-generation","wavenet","waveforms"],"details":"* Motivation\r\n* Generative models\r\n* Likelihood-based models of waveforms\r\n* Adversarial models of waveforms\r\n* Discussion\r\n* Conclusion\r\n* References","links":[{"article_link":"https://benanne.github.io/2020/03/24/audio-generation.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2182,"title":"CryptoCRIT","description":"CryptoCRIT is an open-source Cryptocurrency project which facilitates a Cryptocurrency wallet for making payments. The associated Cryptocurrency is called CritC","tags":["article","code","paper","research","library","blockchain","cryptocurrency"],"details":"CryptoCRIT is an open-source Cryptocurrency project which facilitates a Cryptocurrency wallet for making payments. The associated Cryptocurrency is called CritCoin.#","links":[{"article_link":"https://theabbie.github.io/blog/CryptoCRIT","code_link":"https://github.com/rgab1508/CryptoCRIT","research_link":"https://www.researchgate.net/project/CryptoCRIT","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2179,"title":"Google Stock Price Prediction","description":"Using ALPHA VANTAGE API to predict google stock price.","tags":["code","flask","python","pandas","pyspark","kafka-python","al","alpha-vantage","boto3"],"details":"# Google Stock Price Prediction\r\n     \r\n  \r\n\r\nUsing ALPHA VANTAGE API to predict google stock price.\r\n\r\n- Using [ALPHA VANTAGE](https://www.alphavantage.co/) to genrate API Key.\r\n\r\n- Using this API key to Download Google Stock Price data for each 1 min interval.\r\n\r\n- [Create S3 bucket](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-example-creating-buckets.html) using boto3. (Boto is the Amazon Web Services (AWS) SDK for Python. It enables Python developers to create, configure, and manage AWS services, such as EC2 and S3. Boto provides an easy to use, object-oriented API, as well as low-level access to AWS services.)\r\n\r\n- After creating [bucket upload](https://boto3.amazonaws.com/v1/documentation/api/latest/guide/s3-uploading-files.html) **stock data** into bucket using boto3.\r\n\r\n- Reading data from S3 and doing some preprocessing.\r\n\r\n- After preprocessing train a Linear Regression model and save model weights.\r\n\r\n- Installing [kafka and zookeeper](https://tecadmin.net/install-apache-kafka-ubuntu/) into system and install [python-kafka](https://pypi.org/project/kafka-python/)\r\n\r\n- Start zookeeper and kafka server into local system and connect python-kafka to local host.\r\n\r\n- **Create a Topic in Kafka**\r\n\r\n Create a topic in kafka using below query. Before create kafka topic you go to kafka folder.\r\n ```\r\n $cd /usr/local/kafka/\r\n\r\n $bin/kafka-topics.sh --create --zookeeper localhost:2181 --replication-factor 1 --partitions 1 --topic stock_prices\r\n ```\r\n The replication-factor describes how many copies of data will be created. As we are running with a single instance keep this value 1.\r\n\r\nSet the partitions options as the number of brokers you want your data to be split between. As we are running with a single broker keep this value 1.\r\n\r\nYou can create multiple topics by running the same command as above. After that, you can see the created topics on Kafka by the running below command:\r\n\r\n ```\r\n bin/kafka-topics.sh --list --zookeeper localhost:2181\r\n ```\r\n\r\n- **Send Messages to Kafka**\r\n\r\nThe **producer** is the process responsible for put data into our Kafka. The Kafka comes with a command-line client that will take input from a file or from standard input and send it out as messages to the Kafka cluster. The default Kafka sends each line as a separate message.\r\n\r\n ```\r\n bin/kafka-console-producer.sh --broker-list localhost:9092 --topic stock_prices\r\n ```\r\n\r\n- **Using Kafka Consumer**\r\n\r\n Kafka also has a command-line consumer to read data from the Kafka cluster and display messages to standard output.\r\n\r\n The first argument is the topic, numtest in our case.\r\n \r\n bootstrap_servers=[\u2018localhost:9092\u2019]: same as our producer\r\n\r\n ```\r\n bin/kafka-console-consumer.sh --bootstrap-server localhost:9092 --topic stock_prices --from-beginning\r\n ```\r\n- **Now using python KafkaProducer to connect the local kafka host**\r\n\r\n bootstrap_servers=[\u2018localhost:9092\u2019]: sets the host and port the producer should contact to bootstrap initial cluster metadata. It is not necessary to set this here, since the default is localhost:9092.\r\n\r\n- **Using KafkaConsumer to predict stocks data**\r\n\r\n Using **KafkaConsumer** to get data from producer. After geting data we load save model which save previously when train the model. Using these model we predict close value.\r\n\r\n- **Create Flask API**\r\n\r\n In flask I have created 3 URL:\r\n\r\n 1. \"/\" for main page which rander stockgraph.html template for showing predicting close and actual close value.\r\n 2. \"/model-train\" this URL is use for train model.\r\n 3. \"/data\" this is for send data to stockgraph.html page for showing graph.\r\n\r\n## How To Run\r\n\r\n- First start zookeeper and kafka server.\r\n- Run producer file. (``` python3 consumer.py ```)\r\n- Run app file. (``` python3 app.py ```)\r\n","links":[{"article_link":"","code_link":"https://github.com/shivamgupta7/Google-Stock-Price-Prediction","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2178,"title":"FasterAI","description":"How to make your network smaller and faster with the use of fastai library.","tags":["article","fastai","knowledge-distillation","model-compression","pruning","batch-normalization","sparsifying","batch-normalization-folding"],"details":"FasterAI is a project that I started to make my smaller and faster with the use of the fastai library. The techniques implemented here can easily be used with plain Pytorch but the idea was to express them in an abstract and easy-to-use manner (\u00e0 la fastai).\r\n\r\nIn this article, we'll explain how to use FasterAI by going through an example use-case.\r\n\r\n* Knowledge Distillation\r\n* Sparsifying\r\n* Pruning\r\n* Batch Normalization Folding\r\n* Batch Normalization Folding\r\n* FC Layers Factorization\r\n* References\r\n\r\n\r\n\r\n","links":[{"article_link":"https://nathanhubens.github.io/posts/deep learning/2020/08/17/FasterAI.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2177,"title":"Universal Data Tool","description":"Collaborate & label any type of data, images, text, or documents, in an easy web interface or desktop app.","tags":["article","code","library","annotation"],"details":"Try it out at [universaldatatool.com](https://universaldatatool.com) or [download it here](https://github.com/UniversalDataTool/universal-data-tool/releases).\r\n\r\nThe Universal Data Tool is a web/desktop app for editing and annotating images, text, audio, documents and to view and edit any data defined in the extensible [.udt.json and .udt.csv standard](https://github.com/UniversalDataTool/udt-format). \r\nFor video tutorials [visit our Youtube channel](https://www.youtube.com/channel/UCgFkrRN7CLt7_iTa2WDjf2g).\r\n\r\n\r\n* [Community Update Video 2](https://youtu.be/3bq9N08oc-U)\r\n* [Community Update Video 1](https://www.youtube.com/watch?v=QW-s4XVK3Ok&feature=youtu.be) [(blog version)](https://universaldatatool.substack.com/p/community-update-1)\r\n","links":[{"article_link":"https://dev.to/wafaa_arbash/label-bounding-boxes-with-the-universal-data-tool-mcc","code_link":"https://github.com/UniversalDataTool/universal-data-tool","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2176,"title":"Audio Class","description":"Web-based tool for straight-forward class annotation of audio files.","tags":["code","flask","library","annotation","audio"],"details":"This project came to life when I was messing around with a prototype of a neural network for audio classification. I needed a way to annotate some scrapped data that I collected, but was too lazy to open each of the hundreds of files and manually write down their respective classifications.\r\n\r\nWhile there are some great audio annotation tools out there with great features such as diarization, waveform visualization, speaker identification, etc, all I needed was a quick and dirty way to separate audio files in classes.\r\n\r\nIf you need complex annotation features, checkout some projects such as Audino, audio-annotator and dynitag. If, like me, you want a simple way to classify your data with minimal setup, AudioClass is here for you :)","links":[{"article_link":"","code_link":"https://github.com/glefundes/audio-class","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2175,"title":"EfficientNet: Rethinking Model Scaling for CNNs","description":"We take a look at the superior performance of EfficientNets compared to their counterparts and understand why we are looking into EfficientNets.","tags":["article","convolutional-neural-networks","efficientnet"],"details":"It brings me great pleasure as I begin writing about EfficientNets for two reasons:\r\n\r\n* At the time of writing, F[ixing the train-test resolution discrepancy: FixEfficientNet](https://arxiv.org/abs/2003.08237) (family of EfficientNet) is the current State of Art on ImageNet with 88.5% top-1 accuracy and 98.7% top-5 accuracy.\r\n* This blog post also sets up the base for future blog posts on [Self-training with Noisy Student improves ImageNet classification](https://arxiv.org/abs/1911.04252), [Fixing the train-test resolution discrepancy ](https://arxiv.org/abs/1906.06423)and [Fixing the train-test resolution discrepancy: FixEfficientNet](https://arxiv.org/abs/2003.08237).","links":[{"article_link":"https://amaarora.github.io/2020/08/13/efficientnet.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2174,"title":"Why I stopped using GAN \u2014 ECCV 2020","description":"In this article, we show how we outperformed GAN with Normalizing Flow.","tags":["article","code","paper","research","gan","normalizing-flow","srflow"],"details":"GAN \u2014 vs \u2014 Normalizing Flow\r\nThe benefits of Normalizing Flow. In this article, we show how we outperformed GAN with Normalizing Flow. We do that based on the application super-resolution. There we describe SRFlow, a super-resolution method that outperforms state-of-the-art GAN approaches. We explain it in detail in our ECCV 2020 paper.\r\n\r\n* Sampling: SRFlow outputs many different images for a single input.\r\n* Stable Training: SRFlow has much fewer hyperparameters than GAN approaches, and we did not encounter training stability issues.\r\n* Convergence: While GANs cannot converge, conditional Normalizing Flows converge monotonic and stable.\r\n* Higher Consistency: When downsampling the super-resolution, one obtains almost the exact input.","links":[{"article_link":"https://medium.com/@CVZurich/why-i-stopped-using-gan-eccv2020-d2b20dcfe1d","code_link":"https://github.com/andreas128/SRFlow","research_link":"http://de.arxiv.org/pdf/2006.14200/","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2173,"title":"Fine-tuning with custom datasets","description":"This tutorial will take you through several examples of using \ud83e\udd17 Transformers models with your own datasets.","tags":["article","code","notebook","tutorial","huggingface","transformers","fine-tuning","natural-language-processing","custom-datasets"],"details":"This tutorial will take you through several examples of using \ud83e\udd17 Transformers models with your own datasets. The guide shows one of many valid workflows for using these models and is meant to be illustrative rather than definitive. We show examples of reading in several data formats, preprocessing the data for several types of tasks, and then preparing the data into PyTorch/TensorFlow Dataset objects which can easily be used either with Trainer/TFTrainer or with native PyTorch/TensorFlow.\r\n\r\n","links":[{"article_link":"https://huggingface.co/transformers/master/custom_datasets.html","code_link":"https://colab.research.google.com/github/huggingface/notebooks/blob/master/transformers_doc/custom_datasets.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2172,"title":"Compression of Deep Learning Models for Text: A Survey","description":"In this survey, we discuss six different types of methods for compression of such models to enable their deployment in real industry NLP projects.","tags":["paper","research","transformers","knowledge-distillation","model-compression","natural-language-processing","pruning","quantization","survey","parameter-sharing","tensor-decomposition","linear-transformers","arxiv:2008.05221"],"details":"In recent years, the fields of natural language processing (NLP) and information retrieval (IR) have made tremendous progress thanks to deep learning models like Recurrent Neural Networks (RNNs), Gated Recurrent Units (GRUs) and Long Short-Term Memory (LSTMs) networks, and Transformer based models like Bidirectional Encoder Representations from Transformers (BERT). But these models are humongous in size. On the other hand, real world applications demand small model size, low response times and low computational power wattage. In this survey, we discuss six different types of methods:\r\n\r\n* Pruning\r\n* Quantization\r\n* Knowledge Distillation\r\n* Parameter Sharing\r\n* Tensor Decomposition\r\n* Linear Transformer\r\n\r\nfor compression of such models to enable their deployment in real industry NLP projects. Given the critical need of building applications with efficient and small models, and the large amount of recently published work in this area, we believe that this survey organizes the plethora of work done by the 'deep learning for NLP' community in the past few years and presents it as a coherent story.\r\n","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2008.05221","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2171,"title":"Chex","description":"Chex is a library of utilities for helping to write reliable JAX code.","tags":["code","jax","library","unit-tests","testing","chex"],"details":"Chex is a library of utilities for helping to write reliable JAX code.\r\n\r\nThis includes utils to help:\r\n\r\n* Instrument your code (e.g. assertions)\r\n* Debug (e.g. transforming pmaps in vmaps within a context manager).\r\n* Test JAX code across many variants (e.g. jitted vs non-jitted).","links":[{"article_link":"","code_link":"https://github.com/deepmind/chex","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2170,"title":"TensorFlow.js + Firebase","description":"Use Firebase Hosting to deploy and host a machine learning model at scale.","tags":["article","tutorial","tensorflow","tensorflow-js","production","firebase","serving"],"details":"So you've created a custom machine learning model with TensorFlow.js but now you need to host it somewhere to use on a website of your choice. There are many options to do this, but today we shall see how easy it is to use [Firebase Hosting](https://firebase.google.com/docs/hosting) which can also give you some extra benefits such as versioning, serving models over a secure connection, and more out of the box.\r\n\r\n#### What you'll build\r\nIn this code lab you will create a full end to end system capable of hosting and running a custom saved TensorFlow.js model along with its related assets such as HTML, CSS, and JavaScript. We will make a very simple lightweight model that can predict a numerical output value given some input value (e.g. what is the price of a house given its square footage), and host it via Firebase Hosting so that it can be used at scale.\r\n\r\n#### What you'll learn\r\n* How to save a custom TensorFlow.js model in the right format\r\n* How to setup a Firebase account for hosting\r\n* How to deploy your assets to Firebase Hosting\r\n* How to deploy new versions of a model.","links":[{"article_link":"https://codelabs.developers.google.com/codelabs/tensorflowjs-firebase-hosting-model/index.html?index=../..index","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2169,"title":"Molemash","description":"A mole moves randomly in the canvas area. A touch of the mole results in a score value by one(1). There are four(4) different levels with different requirement.","tags":["research","python","demo"],"details":"The scope of this project is to develop a simple game called Mole Mash using the MIT App Inventor (https://appinventor.mit.edu/). MIT App Inventor provides a platform to drag and drop visual objects in order to create an application that can run on android devices.\r\nA mole pops up at random positions on a playing field, and the player scores points by hitting the mole before it jumps away. The game features various levels in which the background changes as the player proceeds through the game.\r\n","links":[{"article_link":"","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"http://ai2.appinventor.mit.edu/?galleryId=5567159640391680","other_link":""}]},{"id":2168,"title":"Onceupon.space","description":"NLP experiment in story-telling that creates illustrations (text to sketch) and content (text generation)","tags":["dataset","video","gpt","transformers","natural-language-processing","text-generation","demo"],"details":"Onceupon.space is the Lego for storybooks. It allows users to build their own characters of their stories from the ground up and with the magical help of NLP, express their stories through colorful illustrations.\r\n\r\n1. Text to sketch - An NLP engine that analyses the user's sentence to understand what characters and their qualities. Qualities of characters include metrics like how many? where? what size? what color etc. The NLP engine is deployed on a scalable serverless containers.\r\n2. Text generation engine - The text generation engine is a fine-tuned GPT2 model deployed on a scalable serverless container.\r\nOur system works with the following strategy, initially, the first step selects the best potential set of character from the given text input from which we can possibly generate the questions. The next step(second step) is to find the descriptive attributes around the subject (attributes like how many characters and the size). In the third step, we will convert the user given character to its correct grammatical singular form and check if that particular character is in the dataset. If it is present, the coordinates for the dataset are downloaded and are displayed on th canvas.\r\n\r\nFor text generation, the system sums up the story written so far and feeds it to the GPT2 model deployed on the serverless container with other attributes like output sequence length, temperature, samples to be regenerated, and size of the output samples.","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://devmesh.intel.com/projects/onceupon-space-textgeneration-and-text2sketch","dataset_link":"https://quickdraw.withgoogle.com/","demo_link":"https://onceupon.space","other_link":"https://www.youtube.com/watch?v=o5z3stggmt8&t=1s"}]},{"id":2167,"title":"Insight","description":"Project Insight is designed to create NLP as a service with code base for both front end GUI (streamlit) and backend server (FastAPI) the usage of transformers ","tags":["api","code","docker","fastapi","huggingface","pytorch","attention","bert","transformers","named-entity-recognition","natural-language-processing","sentiment-analysis","text-summarization","transfer-learning","streamlit"],"details":"Project Insight is designed to create NLP as a service with code base for both front end GUI (streamlit) and backend server (FastApi) the usage of transformers models on various downstream NLP task.\r\nThe downstream NLP tasks covered:\r\n\r\n\r\n1. News Classification\r\n2. Entity Recognition\r\n3. Sentiment Analysis\r\n4. Summarization\r\n5. Information Extraction (To Do)\r\n\r\n\r\nThe user can select different models from the drop down to run the inference.\r\nThe users can also directly use the backend fastapi server to have a command line inference.\r\n\r\nFeatures of the solution\r\n\r\n**Python Code Base**: Built using Fastapi and Streamlit making the complete code base in Python.\r\n\r\n**Expandable**: The backend is desinged in a way that it can be expanded with more Transformer based models and it will be available in the front end app automatically.","links":[{"article_link":"","code_link":"https://github.com/abhimishra91/insight","research_link":"","media_link":"https://youtu.be/xlJXtsH6_-s","dataset_link":"","demo_link":"","other_link":""}]},{"id":2166,"title":"Pix2Pix","description":"Tensorflow 2.0 Implementation of the paper Image-to-Image Translation using Conditional GANs by Philip Isola, Jun-Yan Zhu, Tinghui Zhou and Alexei A. Efros.","tags":["code","paper","research","keras","tensorflow","generative-adversarial-networks","computer-vision","pix2pix","activation-functions","arxiv:1611.07004","conditional-gan","mish"],"details":"# Pix2Pix\r\n\r\n[](https://mybinder.org/v2/gh/soumik12345/Pix2Pix/master)\r\n[](https://paperswithcode.com/sota/image-to-image-translation-on-aerial-to-map?p=image-to-image-translation-with-conditional)\r\n[](https://paperswithcode.com/sota/image-to-image-translation-on-cityscapes?p=image-to-image-translation-with-conditional)\r\n[](https://paperswithcode.com/sota/image-to-image-translation-on-cityscapes-1?p=image-to-image-translation-with-conditional)\r\n\r\n\r\nTensorflow 2.0 Implementation of the paper [Image-to-Image Translation using Conditional GANs](https://arxiv.org/abs/1611.07004) by [Philip Isola](https://arxiv.org/search/cs?searchtype=author&query=Isola%2C+P), [Jun-Yan Zhu](https://arxiv.org/search/cs?searchtype=author&query=Zhu%2C+J), [Tinghui Zhou](https://arxiv.org/search/cs?searchtype=author&query=Zhou%2C+T) and [Alexei A. Efros](https://arxiv.org/search/cs?searchtype=author&query=Efros%2C+A+A).\r\n\r\n## Experiments with Standard Architecture\r\n\r\n### Experiment 1\r\n\r\n**Resource Credits:** Trained on Nvidia Quadro M4000 provided by [Paperspace Gradient](https://gradient.paperspace.com/).\r\n\r\n**Dataset:** [Facades](https://people.eecs.berkeley.edu/~tinghuiz/projects/pix2pix/datasets/facades.tar.gz)\r\n\r\n**Result:**\r\n\r\n\r\n\r\n### Experiment 2\r\n\r\n**Resource Credits:** Trained on Nvidia Quadro P5000 provided by [Paperspace Gradient](https://gradient.paperspace.com/).\r\n\r\n**Dataset:** [Maps](https://people.eecs.berkeley.edu/~tinghuiz/projects/pix2pix/datasets/maps.tar.gz)\r\n\r\n**Result:**\r\n\r\n\r\n\r\n### Experiment 3\r\n\r\n**Resource Credits:** Trained on Nvidia Tesla V100 provided by [DeepWrex Technologies](https://deepwrex.com/).\r\n\r\n**Dataset:** [Cityscapes](https://people.eecs.berkeley.edu/~tinghuiz/projects/pix2pix/datasets/cityscapes.tar.gz)\r\n\r\n**Result:**\r\n\r\n\r\n\r\n## Experiments with Mish Activation Function\r\n\r\n### [Experiment 1 Mish\r\n\r\n**Resource Credits:** Trained on Nvidia Quadro P5000 provided by [Paperspace Gradient](https://gradient.paperspace.com/).\r\n\r\n**Dataset:** [Facades](https://people.eecs.berkeley.edu/~tinghuiz/projects/pix2pix/datasets/facades.tar.gz)\r\n\r\n**Generator Architecture:**\r\n\r\n- The Generator is a Unet-Like model with skip connections between encoder and decoder.\r\n- Encoder Block is ```Convolution -> BatchNormalization -> Activation (Mish)```\r\n- Decode Blocks is ```Conv2DTranspose -> BatchNormalization -> Dropout (optional) -> Activation (Mish)```\r\n\r\n**Discriminator:**\r\n\r\n- PatchGAN Discriminator\r\n- Discriminator Block is ```Convolution -> BatchNormalization -> Activation (Mish)```\r\n\r\n**Result:**\r\n\r\n\r\n\r\n### [Experiment 2 Mish](./Pix2Pix_Maps_Mish.ipynb)\r\n\r\n**Resource Credits:** Trained on Nvidia Tesla P100 provided by [Google Colab](https://colab.research.google.com/).\r\n\r\n**Dataset:** [Facades](https://people.eecs.berkeley.edu/~tinghuiz/projects/pix2pix/datasets/maps.tar.gz)\r\n\r\n**Generator Architecture:**\r\n\r\n- The Generator is a Unet-Like model with skip connections between encoder and decoder.\r\n- Encoder Block is ```Convolution -> BatchNormalization -> Activation (Mish)```\r\n- Decode Blocks is ```Conv2DTranspose -> BatchNormalization -> Dropout (optional) -> Activation (Mish)```\r\n\r\n**Discriminator:**\r\n\r\n- PatchGAN Discriminator\r\n- Discriminator Block is ```Convolution -> BatchNormalization -> Activation (ReLU)```\r\n\r\n**Result:**\r\n\r\n\r\n\r\n### Experiment 3 Mish\r\n\r\n**Resource Credits:** Trained on Nvidia Quadro P5000 provided by [Paperspace Gradient](https://gradient.paperspace.com/).\r\n\r\n**Dataset:** [Facades](https://people.eecs.berkeley.edu/~tinghuiz/projects/pix2pix/datasets/maps.tar.gz)\r\n\r\n**Generator Architecture:**\r\n\r\n- The Generator is a Unet-Like model with skip connections between encoder and decoder.\r\n- Encoder Block is ```Convolution -> BatchNormalization -> Activation (Mish)```\r\n- Decode Blocks is ```Conv2DTranspose -> BatchNormalization -> Dropout (optional) -> Activation (Mish)``` for the first three blocks are ```Conv2DTranspose -> BatchNormalization -> Dropout (optional) -> Activation (ReLU)```\r\n\r\n**Discriminator:**\r\n\r\n- PatchGAN Discriminator\r\n- Discriminator Block is ```Convolution -> BatchNormalization -> Activation (ReLU)```\r\n\r\n**Result:**\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/soumik12345/Pix2Pix","research_link":"https://arxiv.org/abs/1611.07004","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2165,"title":"Implementing an Autoencoder in PyTorch","description":"Building an autoencoder model for reconstruction.","tags":["article","code","tutorial","pytorch","autoencoders","variational-autoencoders"],"details":"This is the PyTorch equivalent of my previous article on implementing an autoencoder in TensorFlow 2.0, which you may read through the following [link](http://towardsdatascience.com/implementing-an-autoencoder-in-tensorflow-2-0-5e86126e9f7).","links":[{"article_link":"https://medium.com/pytorch/implementing-an-autoencoder-in-pytorch-19baa22647d1","code_link":"https://gist.github.com/AFAgarap/4f8a8d8edf352271fa06d85ba0361f26","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2164,"title":"Intro to Autoencoders","description":"This tutorial introduces autoencoders with three examples: the basics, image denoising, and anomaly detection.","tags":["article","code","notebook","tutorial","tensorflow","autoencoders","anomaly-detection","computer-vision","denoising","time-series","image-denoising"],"details":"This tutorial introduces autoencoders with three examples: the basics, image denoising, and anomaly detection.\r\n\r\nAn autoencoder is a special type of neural network that is trained to copy its input to its output. For example, given an image of a handwritten digit, an autoencoder first encodes the image into a lower dimensional latent representation, then decodes the latent representation back to an image. An autoencoder learns to compress the data while minimizing the reconstruction error.\r\n\r\nTo learn more about autoencoders, please consider reading chapter 14 from [Deep Learning](https://www.deeplearningbook.org/) by Ian Goodfellow, Yoshua Bengio, and Aaron Courville.","links":[{"article_link":"https://www.tensorflow.org/tutorials/generative/autoencoder","code_link":"https://github.com/tensorflow/docs/blob/master/site/en/tutorials/generative/autoencoder.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2163,"title":"Safe Space - Github Action","description":"Github action that checks the toxicity level of comments and PR reviews to help make repos safe spaces.","tags":["code","tensorflow-js","natural-language-processing","sentiment-analysis","github-actions","demo","toxicity"],"details":"Github action that uses machine learning to detect potential toxic comments added to PRs and issues so authors can have a chance to edit them and keep repos a safe space.\r\n\r\nIt uses the [Tensorflow.js toxicity classification model](https://github.com/tensorflow/tfjs-models/tree/master/toxicity).\r\n\r\nIt currently works when comments are posted on issues and PRs, as well as when pull request reviews are submitted.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/charliegerard/safe-space","research_link":"","media_link":"","dataset_link":"","demo_link":"https://github.com/charliegerard/safe-space/pull/1","other_link":"https://github.com/tensorflow/tfjs-models/tree/master/toxicity"}]},{"id":2161,"title":"ff-net","description":"Feedforward neural network learning in real time.","tags":["article","code","feed-forward-neural-networks","machine-learning","interactive","demo","ff-net"],"details":"A neural net adapting its weights to match a dataset you can modify in real time.","links":[{"article_link":"","code_link":"https://github.com/juniorrojas/ff-net","research_link":"","media_link":"","dataset_link":"","demo_link":"http://juniorrojas.com/ff-net/","other_link":""}]},{"id":2160,"title":"Optax","description":"Optax is a gradient processing and optimization library for JAX.","tags":["code","jax","library","optimization","gradients"],"details":"Optax is a gradient processing and optimization library for JAX.\r\n\r\nOptax is designed to facilitate research by providing building blocks that can be easily recombined in custom ways.\r\n\r\nOur goals are to:\r\n\r\n* provide simple, well-tested, efficient implementations of core components,\r\n* improve research productivity by enabling to easily combine low level ingredients into custom optimiser (or other gradient processing components).\r\n* accelerate adoption of new ideas by making it easy for anyone to contribute.","links":[{"article_link":"","code_link":"https://github.com/deepmind/optax","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2159,"title":"Solaris","description":"CosmiQ Works Geospatial Machine Learning Analysis Toolkit.","tags":["code","library","computer-vision","geospatial","gis","cosmiq"],"details":"This repository provides the source code for the CosmiQ Works solaris project, which provides software tools for:\r\n\r\n* Tiling large-format overhead images and vector labels\r\n* Converting between geospatial raster and vector formats and machine learning-compatible formats\r\n* Performing semantic and instance segmentation, object detection, and related tasks using deep learning models designed specifically for overhead image analysis\r\n* Evaluating performance of deep learning model predictions","links":[{"article_link":"","code_link":"https://github.com/CosmiQ/solaris","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://solaris.readthedocs.io/en/latest/"}]},{"id":2157,"title":"Gspread: Google Sheets API using Python","description":"Complete guide on how to access/edit Google Sheets using Python. Detailed code examples and explanations of gspread library.","tags":["api","article","code","tutorial","python","library","program-development","gspread"],"details":"In this article we will discuss how to access and edit Google Sheets using Python.\r\n\r\n**Table of Contents**\r\n\r\n* Introduction\r\n* Creating a sample Google Sheets document\r\n* Creating Google API credentials\r\n* Opening a Google sheet using Python\r\n* Selecting/creating/deleting a worksheet using Python\r\n* Editing data in a Google sheet using Python\r\n* Conclusion","links":[{"article_link":"https://pyshark.com/google-sheets-api-using-python/","code_link":"https://github.com/burnash/gspread","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://gspread.readthedocs.io/en/latest/"}]},{"id":2156,"title":"Energy Based Models (EBMs): A comprehensive introduction","description":"In this article, I describe the general concept of Energy Based Models (EBMs), and a specific family of EBM called Boltzmann Machine.","tags":["article","research","tutorial","energy","energy-based-models","graphical-models"],"details":"There exists a class of models conveniently represented by Undirected Graphical Models which are practiced relative less than modern methods of Deep Learning (DL) in the research community. They are also characterized as Energy Based Models (EBM), as we shall see, they rely on something called Energy Functions. In the early days of this Deep Learning renaissance, we discovered few extremely powerful models which helped DL to gain momentum. The class of models we are going to discuss has far more theoretical support than modern day Deep Learning, which as we know, largely relied on intuition and trial-and-error. In this article, I will introduce you to the general concept of Energy Based Models (EBMs), their difficulties and how we can get over them. Also, we will look at a specific family of EBM known as Boltmann Machines (BM) which are very well known in the literature.\r\n\r\n","links":[{"article_link":"https://dasayan05.github.io/blog-tut/2020/08/13/energy-based-models-one.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2155,"title":"GPT-3, The model simply knows!","description":"Brief Introduction about the gigantic GPT-3. a new leap in AI and Natural Language processing. ","tags":["article","tutorial","deep-learning","machine-learning","natural-language-processing","conversational-ai","data-science","openai","gpt3","blogpost"],"details":"","links":[{"article_link":"https://blog.datavalley.technology/2020/08/14/gpt-3-the-model-simply-knows/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2151,"title":"Drowsiness Detection System using OpenCV and Flask in Python ","description":"This system provides an overview of a system that detects whether a person is drowsy while driving and if so, alerts him by using voice messages in real-time. ","tags":["article","code","video","css","flask","html","python","computer-vision","opencv","demo","drowsiness-detection"],"details":"We are on our way to convert this to an android application for better reach.","links":[{"article_link":"https://towardsdatascience.com/drowsiness-detection-system-in-real-time-using-opencv-and-flask-in-python-b57f4f1fcb9e","code_link":"https://github.com/fear-the-lord/Drowsiness-Detection","research_link":"","media_link":"https://youtu.be/wG6EM2s9yNg","dataset_link":"","demo_link":"https://www.youtube.com/watch?v=YyIMsBBEukw&t=6s","other_link":""}]},{"id":2150,"title":"Let's Not Chuck ","description":"In the sport of cricket, throwing, commonly referred to as chucking, is an illegal bowling action which occurs when a bowler straightens the bowling arm when de","tags":["article","code","posenet","demo","ml5js"],"details":"","links":[{"article_link":"","code_link":"https://github.com/fear-the-lord/Lets-not-Chuck","research_link":"","media_link":"https://youtu.be/brfo2NRzb78","dataset_link":"","demo_link":"https://fear-the-lord.github.io/Lets-not-Chuck/","other_link":""}]},{"id":2149,"title":"Python Decorators 101","description":"In this course on Python decorators, you\u2019ll learn what they are and how to create and use them. ","tags":["article","course","tutorial","python","decorators"],"details":"In this course on Python decorators, you\u2019ll learn what they are and how to create and use them. Decorators provide a simple syntax for calling higher-order functions in Python. By definition, a decorator is a function that takes another function and extends the behavior of the latter function without explicitly modifying it.","links":[{"article_link":"https://realpython.com/courses/python-decorators-101/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2148,"title":"txtai: AI-powered search engine","description":"AI-powered search engine.","tags":["code","transformers","library","natural-language-processing","search","faiss"],"details":"txtai builds an AI-powered index over sections of text. txtai supports building text indices to perform similarity searches and create extractive question-answering based systems.\r\n\r\n#### Notebooks\r\n\r\n* [Introducing txtai](https://github.com/neuml/txtai/blob/master/examples/01_Introducing_txtai.ipynb) | Overview of the functionality provided by txtai \r\n* [Extractive QA with txtai](https://github.com/neuml/txtai/blob/master/examples/02_Extractive_QA_with_txtai.ipynb) | Extractive question-answering with txtai \r\n* [Build an Embeddings index from a data source](https://github.com/neuml/txtai/blob/master/examples/03_Build_an_Embeddings_index_from_a_data_source.ipynb) | Embeddings index from a data source backed by word embeddings \r\n* [Extractive QA with Elasticsearch](https://github.com/neuml/txtai/blob/master/examples/04_Extractive_QA_with_Elasticsearch.ipynb) | Extractive question-answering with Elasticsearch \r\n\r\n\r\n\r\nNeuML uses txtai and/or the concepts behind it to power all of our Natural Language Processing (NLP) applications. Example applications:\r\n\r\n- [cord19q](https://github.com/neuml/cord19q) - COVID-19 literature analysis\r\n- [paperai](https://github.com/neuml/paperai) - AI-powered literature discovery and review engine for medical/scientific papers\r\n- [neuspo](https://neuspo.com) - a fact-driven, real-time sports event and news site\r\n- [codequestion](https://github.com/neuml/codequestion) - Ask coding questions directly from the terminal\r\n\r\ntxtai is built on the following stack:\r\n\r\n- [sentence-transformers](https://github.com/UKPLab/sentence-transformers)\r\n- [transformers](https://github.com/huggingface/transformers)\r\n- [faiss](https://github.com/facebookresearch/faiss)\r\n- Python 3.6+\r\n","links":[{"article_link":"","code_link":"https://github.com/neuml/txtai","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2147,"title":"Practical Tips and Tricks for Successful Transfer Learning","description":"Training models to learn knowledge and skills from other related tasks that will transfer and boost performance on tasks of interest.","tags":["paper","research","tutorial","video","natural-language-processing","transfer-learning","pretraining","arxiv:2005.00628"],"details":"Yada Pruksachatkun (https://www.yadapruk.com/) presenting on transfer learning, which focuses on training models to learn knowledge and skills from other related tasks that will transfer and boost performance on tasks of interest. Yada is an incoming Applied Scientist at Amazon Alexa working on fairness and bias in NLU. She recently completed graduate school at NYU, where her research on transfer learning was recently presented at 2020 ACL (https://arxiv.org/abs/2005.00628).","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2005.00628","media_link":"https://www.youtube.com/watch?v=-Z6Ygh5zMvs","dataset_link":"","demo_link":"","other_link":""}]},{"id":2145,"title":"Predicting Credit Card Approvals","description":"Project provided by DataCamp. Automating reviews for credit card applications","tags":["code","research","banking","finance"],"details":"Commercial banks receive a lot of applications for credit cards. Many of them get rejected for many reasons, like high loan balances, low income levels, or too many inquiries on an individual's credit report, for example. Manually analyzing these applications is mundane, error-prone, and time-consuming (and time is money!). Luckily, this task can be automated with the power of machine learning and pretty much every commercial bank does so nowadays. In this project, you will build an automatic credit card approval predictor using machine learning techniques, just like the real banks do.","links":[{"article_link":"","code_link":"https://github.com/OmarEltouny78/CreditCardPrediction","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2141,"title":"hloc - the hierarchical localization toolbox","description":"Visual localization made easy.","tags":["code","paper","research","video","convolutional-neural-networks","library","computer-vision","object-localization","localization","hierarchical-localization","arxiv:1812.03506"],"details":"This is `hloc`, a modular toolbox for state-of-the-art 6-DoF visual localization. It implements [Hierarchical Localization](https://arxiv.org/abs/1812.03506), leveraging image retrieval and feature matching, and is fast, accurate, and scalable. This codebase won the indoor/outdoor [localization challenge at CVPR 2020](https://sites.google.com/view/vislocslamcvpr2020/home), in combination with [SuperGlue](https://psarlin.com/superglue/), our graph neural network for feature matching.\r\n\r\nWith `hloc`, you can:\r\n\r\n- Reproduce [our CVPR 2020 winning results](https://www.visuallocalization.net/workshop/cvpr/2020/) on outdoor (Aachen) and indoor (InLoc) datasets\r\n- Run Structure-from-Motion with SuperPoint+SuperGlue to localize with your own datasets\r\n- Evaluate your own local features or image retrieval for visual localization\r\n- Implement new localization pipelines and debug them easily \ud83d\udd25\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/cvg/Hierarchical-Localization/","research_link":"https://arxiv.org/abs/1812.03506","media_link":"https://www.youtube.com/watch?v=aOkLGcspoyY","dataset_link":"","demo_link":"","other_link":""}]},{"id":2140,"title":"EduKC","description":"Our app helps parents and kids to better choose and plan education programs outside of public-school systems using ML and DL to make personalized suggestions.","tags":["article","code","dataset","research","tutorial","angular","keras","latent-dirichlet-allocation","education","recommendation-systems","demo"],"details":"**EduKC**\r\n\r\nOur app helps parents and kids to better choose and plan education resources outside of public-school systems. This app will look like a trip planner: the user provides budget, time, locations, the kids\u2019 gender, age, and interest. The app can make recommendations on afterschool programs, particularly affordable or free programs to lower income families.\r\n\r\nThe family can use this app to choose available and affordable after school programs andmake their weekly or monthly schedule.\r\n\r\n\r\n\r\n[Demo](https://youtu.be/nHUPgjWIf2c) on YouTube","links":[{"article_link":"http://ocel.ai/machine-learning-applications-edukc/","code_link":"https://github.com/srichakradhar/Edu-KC","research_link":"","media_link":"https://drive.google.com/file/d/1ikD4B1K-AvZ9Ubu0ppNj6yw2YPmuIpUC/view?usp=sharing","dataset_link":"https://app.box.com/s/jjegtpjco9pwxwmw54fvhz8ki3gl7o7v","demo_link":"http://edukc.s3-website-us-east-1.amazonaws.com/","other_link":"http://ocel.ai/k-12-educational-camps-during-the-spring-break/"}]},{"id":2138,"title":"Extract Stock Sentiment from News Headlines","description":" In this project, you will generate investing insight by applying sentiment analysis on financial news headlines from Finviz. ","tags":["code","research","finance","natural-language-processing","sentiment-analysis"],"details":"The datasets used in this project are raw HTML files for the Facebook (FB) and Tesla (TSLA) stocks from FINVIZ.com, a popular website dedicated to stock information and news.","links":[{"article_link":"","code_link":"https://github.com/OmarEltouny78/Sentiment-Analysis","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2137,"title":"Unpopular Opinion - Data Scientists Should Be More End-to-End","description":"I believe data scientists can be more effective by being end-to-end.","tags":["article","full-stack","mlops","career"],"details":"IMHO, I believe data scientists can be more effective by being end-to-end. Here, I\u2019ll discuss the [benefits](https://eugeneyan.com/writing/end-to-end-data-science/#from-start-identify-the-problem-to-finish-solve-it) and [counter-arguments](https://eugeneyan.com/writing/end-to-end-data-science/#but-we-need-specialist-experts-too), [how to](https://eugeneyan.com/writing/end-to-end-data-science/#the-best-way-to-pick-it-up-is-via-learning-by-doing) become end-to-end, and the experiences of [Stitch Fix and Netflix](https://eugeneyan.com/writing/end-to-end-data-science/#end-to-end-in-stitch-fix-and-netflix).","links":[{"article_link":"https://eugeneyan.com/writing/end-to-end-data-science/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2136,"title":"Machine Learning Deployment: Shadow Mode","description":"\u201cHow do I test my new model in production?\u201d One answer, and a method I often employ when initially deploying models, is shadow mode.","tags":["article","production","deployment","shadow-mode"],"details":"Deploying a machine learning product so that it can be used is essential to getting value out of it. But it is one of the hardest parts of building the product.\r\n\r\nIn this post I will focus on a small piece of deployment: \u201cHow do I test my new model in production?\u201d One answer, and a method I often employ when initially deploying models, is **shadow mode**.\r\n\r\nShadow mode is a great way to test a few things:\r\n\r\n* **Engineering**: With a shadow model you can test that the \u201cpipeline\u201d is working: the model is getting the inputs it expects, and it is returning results in the correct format. You can also verify that the latency is not too high.\r\n* **Outputs**: You can verify that the distribution of results looks the way you expect (for example, your model is not reporting just a single value for all input).\r\n* **Performance**: You can verify that the shadow model is producing results that are comparable to or better than those of the live model.\r\n","links":[{"article_link":"https://alexgude.com/blog/machine-learning-deployment-shadow-mode/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2135,"title":"Temporal Convolutional Networks for Time-Series","description":"We introduce several novels using TCN, including improving traffic prediction, sound event localization & detection, and probabilistic forecasting.","tags":["article","temporal-cnn","forecasting","time-series","cnn","detection","localization"],"details":"We introduce several novels using TCN, including improving traffic prediction, sound event localization & detection, and probabilistic forecasting.","links":[{"article_link":"https://towardsdatascience.com/temporal-convolutional-networks-the-next-revolution-for-time-series-8990af826567","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2134,"title":"Machine Learning of Sets","description":"We will consider set-to-vector, vector-to-set, and set-to-set problems and provide implementations of simple algorithms in JAX and Haiku.","tags":["article","jax","machine-learning","haiku","iid","sets"],"details":"One of the main assumptions we rely on is that the pairs of (x, y) points are independent and identically distributed (i.i.d.) random variables. Let us unpack this a bit, starting from the end,\r\n\r\n* **random variable**: there exists some stochastic generative process from which the variables were randomly sampled,\r\n* **identically**: all samples come from the same probability distribution,\r\n* **independent**: the generative process has no memory of generated samples, and hence any generated sample does not change the distribution over future generated samples.\r\n\r\nHowever, if a data point is not a vector, matrix, or a sequence of vectors, but it is a set of vectors, these dependencies become less clear. In particular, elements in an input set resemble elements in a dataset (i.e., lack of order), but the critical difference is that they are not independent, therefore breaking the i.i.d. assumption. Accounting for this specific structure in inputs or outputs of an ML model leads to a family of set learning problems, which have recently gained considerable attention in the machine learning community. I thought it would be useful to delve into the machine learning of sets. In the following, we will consider set-to-vector, vector-to-set, and set-to-set problems and provide implementations of simple algorithms in JAX and haiku.","links":[{"article_link":"http://akosiorek.github.io/ml/2020/08/12/machine_learning_of_sets.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2132,"title":"Adversarial robustness as a prior for better transfer learning","description":"We find that adversarially robust models, while less accurate, often perform better than their standard-trained counterparts when used for transfer learning.","tags":["article","code","paper","research","transfer-learning","adversarial-learning","imagenet","arxiv:2007.08489"],"details":"We find that adversarially robust models, while less accurate, often perform better than their standard-trained counterparts when used for transfer learning.\r\n\r\nIn our work we focus on computer vision and consider a standard transfer learning pipeline: \u201cImageNet pretraining.\u201d This pipeline trains a deep neural network on ImageNet, then tweaks this pretrained model for another target task, ranging from image classification of smaller datasets to more complex tasks like object detection and image segmentation.\r\n\r\nRefining the ImageNet pretrained model can be done in several ways. In our work we focus on two common methods:\r\n\r\n* **Fixed-feature transfer**: we replace the last layer of the neural network with a new layer that fits the target task. Then we train the last layer on the target dataset while keeping the rest of the layers fixed.\r\n* **Full-network transfer**: we do the same as in fixed-feature, but instead of fine-tuning the last layer only, we fine-tune the full model.\r\n\r\nThe full-network transfer setting typically outperforms the fixed-feature strategy in practice.\r\n\r\n","links":[{"article_link":"https://www.microsoft.com/en-us/research/blog/adversarial-robustness-as-a-prior-for-better-transfer-learning/","code_link":"https://github.com/microsoft/robust-models-transfer","research_link":"https://arxiv.org/abs/2007.08489","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2131,"title":"How to Trust Your Deep Learning Code","description":"We will focus on how to write reusable unit tests, so that you \u201cDon\u2019t repeat yourself\u201d.","tags":["article","code","tutorial","unit-tests","testing"],"details":"Our example will test the components of a system written in PyTorch that trains a variational autoencoder (VAE) on MNIST (creative, I know). You can find all of the code from this article at https://github.com/tilman151/unittest_dl.","links":[{"article_link":"https://krokotsch.eu/cleancode/2020/08/11/Unit-Tests-for-Deep-Learning.html","code_link":"https://github.com/tilman151/unittest_dl","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2128,"title":"AlphaPy: AutoML for Data Scientists and Speculators","description":"AlphaPy is an automated machine learning (AutoML) Python framework for Data Scientists and Speculators.","tags":["code","keras","scikit-learn","sports","automl","alphapy"],"details":"**AlphaPy** is a machine learning framework for both speculators and\r\ndata scientists. It is written in Python with the ``scikit-learn``,\r\n``pandas``, and ``Keras`` libraries, as well as many other helpful\r\nlibraries for feature engineering and visualization. Here are just\r\nsome of the things you can do with AlphaPy:\r\n\r\n* Run machine learning models using ``scikit-learn``, ``xgboost``, and ``Keras``.\r\n* Generate blended or stacked ensembles.\r\n* Create models for analyzing the markets with *MarketFlow*.\r\n* Predict sporting events with *SportFlow*.\r\n* Develop trading systems and analyze portfolios using *MarketFlow*\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/ScottfreeLLC/AlphaPy","research_link":"","media_link":"https://www.slideshare.net/RobertScott144/alphapy","dataset_link":"","demo_link":"","other_link":"https://alphapy.readthedocs.io/en/latest/"}]},{"id":2127,"title":"Number Prediction","description":"Deep learning model made from scratch,Trained on MNIST dataset","tags":["code","tutorial","deep-learning"],"details":"","links":[{"article_link":"","code_link":"https://github.com/codeanzh/Number-Prediction-ANN","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2126,"title":"Machine Learning Monthly July 2020","description":"A collection of the coolest machine learning resources for July 2020, including: GPT-3, self-supervised learning, AutoML-Zero and more! ","tags":["article","newsletter","tutorials"],"details":"Two things I'm noticing of late:\r\n\r\n1. Self-supervised learning takeover.\r\n2. AutoML takeover.\r\n\r\nBoth of these make sense. Automate the parts which can be automated and train with less data when possible (you won't always have access to massive amounts of labelled data).\r\n\r\nCheck out [Machine Learning Monthly July 2020](https://zerotomastery.io/blog/machine-learning-monthly-july-2020) for a collection of resources related to the above and the [video walkthrough](https://youtu.be/3IKWukTiBfc) for additional commentary.","links":[{"article_link":"https://zerotomastery.io/blog/machine-learning-monthly-july-2020","code_link":"","research_link":"","media_link":"https://youtu.be/3IKWukTiBfc","dataset_link":"","demo_link":"","other_link":""}]},{"id":2124,"title":"Neural Architecture Search","description":"A look at neural architecture search w.r.t search space, search algorithms and evolution strategies.","tags":["article","automl","reinforcement-learning","evolution","neural-architecture-search"],"details":"Neural Architecture Search (NAS) automates network architecture engineering. It aims to learn a network topology that can achieve best performance on a certain task. By dissecting the methods for NAS into three components: search space, search algorithm and child model evolution strategy, this post reviews many interesting ideas for better, faster and more cost-efficient automatic neural architecture search.\r\n\r\nAs I started looking into NAS, I found this nice survey very helpful by Elsken, et al 2019. They characterize NAS as a system with three major components, which is clean & concise, and also commonly adopted in other NAS papers.\r\n\r\n* **Search space**: The NAS search space defines a set of operations (e.g. convolution, fully-connected, pooling) and how operations can be connected to form valid network architectures. The design of search space usually involves human expertise, as well as unavoidably human biases.\r\n* **Search algorithm**: A NAS search algorithm samples a population of network architecture candidates. It receives the child model performance metrics as rewards (e.g. high accuracy, low latency) and optimizes to generate high-performance architecture candidates.\r\n* **Evaluation strategy**: We need to measure, estimate, or predict the performance of a large number of proposed child models in order to obtain feedback for the search algorithm to learn. The process of candidate evaluation could be very expensive and many new methods have been proposed to save time or computation resources.","links":[{"article_link":"https://lilianweng.github.io/lil-log/2020/08/06/neural-architecture-search.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2123,"title":"Otto","description":"Otto makes machine learning an intuitive, natural language experience.","tags":["code","deep-learning","machine-learning","neural-networks","library","automl","assistant"],"details":"# Otto: Your friendly machine learning assistant.\r\n
\r\n\r\n## Machine learning becomes an intuitive, natural language experience\r\nOtto is an intelligent chat application, designed to help aspiring machine learning engineers **go from idea to implementation with minimal domain knowledge**. **[Our website](https://ottoml.online/)** features easy model selection, insightful visualizations, and an intuitive natural language experience guiding you every step of the way. \r\n\r\n### _UPDATE: Otto is a winner at the Facebook AI Challenge!_\r\n\r\nWe're excited to share that Otto has received a **[third-place prize](https://devpost.com/software/otto-v05m26)** at the 2020 Facebook AI Challenge hackathon series for its innovative use of the [Wit.ai](https://wit.ai/) NLP platform. Congratulations to the other winners, and to everyone who participated!\r\n\r\n***\r\n\r\n#### Highlights\r\n\r\n- **Beginner-friendly design.** Otto is made for novices, as it assumes minimal familiarity with machine learning. Users simply describe their end goals to obtain intelligent recommendations, or can choose from sample datasets to harness our models in an instant.\r\n\r\n- **Powerful machine learning tools.** A range of machine learning capabilities are supported, including models for regression, classification and natural language processing, as well as preprocessors tailored to your problem. Play with neural networks, explore data visualizations, and generate ready-made Python code right in your browser!\r\n\r\n- **Educational experience.** Users are walked through each stage of the process, with Otto explaining terminology when needed. Annotated code blocks provide eager learners a high-level understanding of their end-to-end pipeline.\r\n\r\n***\r\n\r\n#### Quick Start\r\n\r\nTo demo some of Otto's core features, try out the following:\r\n\r\n- **Say: _I want to label flower species by petal length_** to watch Otto prefill your pipeline components and visualize a nearest neighbors classification for the popular Iris dataset.\r\n\r\n- **Select: _Regression > Sample Dataset_** to preview sample datasets for regression, and discover the strongest predictors using different best fit lines.\r\n\r\n- **Say: _Detect fraudulent credit card activity_** and select the Custom Dataset option to experience Otto-matic model recommendation and an interactive neural network designer.\r\n\r\n- **Say: _I'd like to interpret the mood of a review_** to query Wit-powered natural language models for live results.\r\n\r\nAnd feel free to get creative! Come up with your own machine learning goals and see where Otto takes you.\r\n\r\n#### Stages\r\n\r\nBelow is a step-by-step breakdown of how Otto works.\r\n\r\n##### Task \r\n\r\nOne of the biggest obstacles faced by those just getting started with ML is the abundance of jargon, from \u201closs functions\u201d to \u201ccontour boundaries\u201c \u2014 beginners can't be expected to decide what model to use based on cryptic terminology, let alone develop one from scratch! **Otto narrows down your options by inferring the high-level task at hand from a simple objective statement**.\r\n\r\n\r\n\r\nTask inference is powered by a Wit application (_Otto-Task_) trained on 300 such statements (e.g. \u201cI want to detect loan applications as fraudulent\u201d, \u201chelp me forecast stock prices\u201d, or \u201clet's summarize an article into a paragraph\u201d) derived from real-world machine learning research. _Otto-Task_ attempts to categorize the task intent as regression, classification, or natural language processing, and additionally extracts a subject entity embodying a streamlined form of the objective in order to filter out extraneous words. \r\n\r\nThe subject is parsed for keyword matches (\u201ctweets\u201d, \u201chousing\u201d, etc) against our database of sample datasets. If a relevant dataset is found, Otto pulls the optimal task, model, and preprocessors for the dataset and pre-selects them for the user throughout the pipeline-building process. Otherwise, Otto issues a task recommendation based on the recognized intent. And if no intent was identified, the user is provided with some tips to help them pick the best task themselves.\r\n\r\n##### Dataset\r\n\r\nUsers are recommended a specific sample dataset matching their subject, or otherwise offered to preview and choose one themselves. **Sample data allows beginners to prototype models quickly and easily**, without the complexity of finding a dataset and figuring out the relevant features among dozens. Users may also opt to with their own data, which they can include later on in the generated code. \r\n\r\n\r\n
\r\n
\r\n\r\n##### Model\r\n\r\nIf the user opted for custom data, **Otto leverages Wit to perform the key step of selecting a classifier or regressor**. A Wit client (_Otto-Model_) parses a brief user description of their data for key phrases indicating the desirability of a particular model. _Otto-Model_ includes around 15 phrases and synonyms per model and performs fuzzy string matching, making it an effective and scalable technique for model recommendation.\r\n\r\nA characterization of the classification dataset as \u201csimple\u201d or having \u201cjust a few columns\u201d, would make the K-Nearest Neighbors algorithm a good choice, while a description of the regression data as \u201ccrime rates\u201d or \u201cannual consumer rankings\u201d would suggest a Poisson or ordinal model, respectively. If no phrase is flagged, Otto will default to the most general model available: a Neural Network for classification, or a linear fit for regression. \r\n\r\nIn the case of a natural language task, users can combine multiple models together for a more comprehensive analysis. Otto will recommend both sentiment analysis and entity recognition models, but provides users with information about both in case they'd like to adjust this. Our NLP models are built on a Wit backend (_Otto-NLP_) configured to identify [built-in traits and entities](https://wit.ai/docs/built-in-entities/20180601).\r\n\r\n#### Supported models:\r\n* K-Nearest Neighbors - Draws class regions by looking at surrounding data\r\n* Neural Network - Deep learning model suitable for complex datasets \r\n* Linear Regression - Ordinary linear relationship between variables \r\n* Poisson Regression - Models count data, which tends to follow a Poisson distribution \r\n* Ordinal Regression - Learns rankings (e.g. \"on a scale of 1-5\") \r\n* Sentiment Analysis - Detects polarity, expressions of thanks, and greetings/goodbyes \r\n* Entity Recognition - Extracts structures such as people, times & locations, and works of art\r\n\r\n### Preprocessors\r\n\r\nWhat good is a fancy model if it takes ages to train? In this step, **Otto swoops in with handpicked preprocessors for the user's data and model selections**, abstracting away the intricacies of feature engineering and dimensionality reduction \u2014 machine learning techniques that optimize the data for efficient learning. As always, users can override the recommendations.\r\n\r\n#### Supported preprocessors:\r\n* Principal Component Analysis - Performs dimensionality reduction and/or feature selection \r\n* Normalization - Scales data to have mean centered at 0 and unit variance \r\n* Text Cleaning - Removes emojis, noisy symbols, and leading/trailing whitespace |\r\n\r\n### Visualization\r\n\r\nThe visualization stage activates for neural network design, or to render any models built on sample data.\r\n\r\n#### Neural Network\r\n\r\nSatisfy your curious mind with our fun, interactive network builder! \r\n\r\n\r\n\r\nOtto preconfigures a standard model architecture with [research-based](http://proceedings.mlr.press/v9/glorot10a/glorot10a.pdf) activations and initializers, but users are free to tinker with it layer by layer as they wish. Additionally, Otto can perform instant redesigns with the aid of a dedicated Wit model (**Otto-Net**) that translates user instructions into architecture changes.\r\n\r\n#### Model Visualization (Sample)\r\n\r\nInstantly explore how parameters affect KNN clusters and regression slopes!\r\n\r\n\r\n\r\n\r\n\r\n### Code Display\r\n\r\nAll done! With your data sorted out, preprocessors set, and model configured, Otto gives you a nice view of your work. For convenience, we offer buttons to copy the code to your clipboard, deploy it to a Google Colab notebook, or restart the process. \r\n\r\n\r\n
\r\n
\r\n\r\n***\r\n\r\n## What's Next for Otto?\r\n\r\nOtto's modular design makes it readibly extensible, and its use of Wit means its natural language capabilities can be extended to even more domains. Here are just a few things planned for Otto:\r\n\r\n- **More models**: logistic regression, support vector machines, decision trees\r\n- **New tasks**: data generation (e.g. GANs), speech recognition, clustering\r\n- **Smarter advice**: being able to ask Otto to explain machine learning concepts or describe the difference between options\r\n\r\n### Contributors\r\n\r\nContributions are welcome! Feel free to tackle any of the above items, or anything else. We'll be reviewing issues and PRs opened on this repo.\r\n\r\n## About\r\n\r\n### Creators\r\n\r\n
\r\n\r\n**Kartik Chugh**\r\n\r\nKartik is a second-year at the University of Virginia and currently an intern at Amazon's Alexa team. An avid open-source contributor, he is passionate about API design and developing cool machine learning tools. \r\n\r\n**Sanuj Bhatia**\r\n\r\nSanuj is a software engineer at Facebook who loves building interactive React-based applications. When possible, he likes to introduce and then fix bugs for maximum impact ;)\r\n\r\n### Acknowledgements\r\n\r\nThanks to Sean Velhagen for designing the Otto logo!\r\n\r\n### Why Otto the Owl?\r\n\r\nThere's the alliteration, the portrait of the wise owl that comes to mind, the subtle use of [OttoML](https://en.wikipedia.org/wiki/Automated_machine_learning)..\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/KartikChugh/Otto","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://ottoml.online/"}]},{"id":2122,"title":"Libra","description":"An ergonomic machine learning API designed for non-technical users.\r\n\r\n","tags":["article","code","video","machine-learning","library","automl","demo","libra","low-code"],"details":"# Libra\r\n\r\n**An ergonomic machine learning library for non-technical users. Save time. Blaze through ML.**\r\n\r\n[](https://travis-ci.org/Palashio/libra)\r\n[](https://pepy.tech/project/libra)\r\n[](https://join.slack.com/t/the-libra-team/shared_invite/zt-ek6bpd47-hdIxXlRAenKfy5JNWe8bgw)\r\n\r\n[](https://pypi.org/project/libra/)\r\n[](https://pypi.org/project/libra/)\r\n[](https://libradocs.github.io//)\r\n[]()\r\n\r\n\r\n---\r\n\r\n## Trending Contributors\r\n\r\n[](https://sourcerer.io/fame/anas-awadalla/Palashio/libra/links/0)[](https://sourcerer.io/fame/anas-awadalla/Palashio/libra/links/1)[](https://sourcerer.io/fame/anas-awadalla/Palashio/libra/links/2)[](https://sourcerer.io/fame/anas-awadalla/Palashio/libra/links/3)[](https://sourcerer.io/fame/anas-awadalla/Palashio/libra/links/4)[](https://sourcerer.io/fame/anas-awadalla/Palashio/libra/links/5)[](https://sourcerer.io/fame/anas-awadalla/Palashio/libra/links/6)[](https://sourcerer.io/fame/anas-awadalla/Palashio/libra/links/7)\r\n\r\n\r\n## Installation\r\n\r\nInstall latest release version:\r\n\r\n```\r\npip install -U libra\r\n```\r\n\r\nInstall directory from github:\r\n\r\n```\r\ngit clone https://github.com/Palashio/libra.git\r\ncd libra\r\npip install .\r\n```\r\n\r\nAlternatively you can build and use the docker image locally with:\r\n\r\n```\r\ndocker build . -f docker/libra-normal/Dockerfile -t libra\r\ndocker run -v /path/to/my/data:/data -it --rm libra\r\n```\r\n\r\nOr if you have [nvidia-docker](https://github.com/NVIDIA/nvidia-docker) installed.\r\n\r\n```\r\ndocker build . -f docker/libra-gpu/Dockerfile -t libra-gpu\r\ndocker run -v /path/to/my/data:/data --gpus all -it --rm libra-gpu\r\n```\r\n## Usage: the basics\r\n\r\nThe core functionality of libra works through the `client` object. A new client object should be created for every dataset that you want to produce results for. All information about the models that're built, the plots that are generated, and the metrics are created will be stored in the object.\r\n\r\nYou can then call different queries on that client object, and the dataset you passed to it will be used. \r\n\r\n```python\r\nfrom libra import client\r\n\r\nnewClient = client('path/to/dataset') \r\nnewClient.neural_network_query('please model the median number of households')\r\n```\r\nNow, calling \r\n```python\r\nnewClient.info()\r\n```\r\nwill return a dictionary of all the information that was generated: \r\n\r\n```python\r\ndict_keys(['id', 'model', 'num_classes', 'plots', 'target', 'preprocesser', \r\n 'interpreter', 'test_data', 'losses', 'accuracy'])\r\n```\r\n\r\nOther queries can also be called on the same object, and will be appended to the `models` dictionary.\r\n\r\n```python\r\nnewClient.svm_query('predict the proximity to the ocean')\r\nnewClient.model().keys()\r\n\r\ndict_keys(['regression_ANN', svm'])\r\n```\r\n\r\n## Tutorials\r\n\r\n - Full documentation can be found at [libradocs.github.io](https://libradocs.github.io/). \r\n - A list of resources can be found on our [awesome-libra](https://github.com/Palashio/awesome-libra) repository. \r\n\r\n---\r\n \r\n\r\n## Asking for help\r\nWelcome to the Libra community!\r\n\r\nIf you have any questions, feel free to:\r\n1. [read the docs](https://libradocs.github.io/).\r\n2. [Search through the issues](https://github.com/Palashio/libra/issues?q=is%3Aissue+is%3Aclosed).\r\n3. [Ask on stackoverflow](https://stackoverflow.com/questions/ask?guided=false) with the tag libra.\r\n4. [Join our slack](https://join.slack.com/t/the-libra-team/shared_invite/zt-ek6bpd47-hdIxXlRAenKfy5JNWe8bgw).\r\n\r\n\r\n\r\n## Demos\r\n\r\n\r\n\r\n## Contact\r\n\r\nShoot me an email at [ps9cmk@virginia.edu](mailto:ps9cmk@virginia.edu) if you'd like to get in touch!\r\n","links":[{"article_link":"https://medium.com/@funpalash/machine-learning-in-one-line-of-code-c2c7cdb4983e","code_link":"https://github.com/Palashio/libra","research_link":"","media_link":"https://www.youtube.com/watch?v=N_T_ljj5vc4","dataset_link":"","demo_link":"https://www.youtube.com/watch?v=N_T_ljj5vc4","other_link":"https://libradocs.github.io/"}]},{"id":2121,"title":"DeepR \u2014 Training TensorFlow Models for Production","description":"DeepR is a Python library to build complex pipelines as easily as possible on top of Tensorflow.","tags":["article","code","notebook","tensorflow","library","production","mlflow","demo","hadoop","pipelines","deepr","graphite"],"details":"DeepR is a library for Deep Learning on top of Tensorflow that focuses on production capabilities. It makes it easy to define pipelines (via the Job abstraction), preprocess data (via the Prepro abstraction), design models (via the Layer abstraction) and train them either locally or on a Yarn cluster. It also integrates nicely with MLFlow and Graphite, allowing for production ready logging capabilities.\r\n\r\nIt can be seen as a collection of generic tools and abstractions to be extended for more specific use cases.\r\n\r\nSubmitting jobs and defining flexible pipelines is made possible thanks to a config system based off simple dictionaries and import strings. It is similar to Thinc config system or gin config in a lot of ways.\r\n\r\n","links":[{"article_link":"https://medium.com/criteo-labs/deepr-training-tensorflow-models-for-production-dda34a914c3b?source=friends_link&sk=91949017f33714dba3323956035f76e0","code_link":"https://github.com/criteo/deepr","research_link":"","media_link":"","dataset_link":"","demo_link":"https://colab.research.google.com/github/criteo/deepr/blob/master/docs/movielens/movielens.ipynb","other_link":"https://criteo.github.io/deepr/"}]},{"id":2120,"title":"Model Agnostic Meta Learning (MAML) implemented in Flax","description":"Model Agnostic Meta Learning (MAML) implemented in Flax, the neural network library for JAX.","tags":["code","paper","research","jax","deep-learning","meta-learning","flax","arxiv:1703.03400","maml"],"details":"This repository implements a MAML example for sinusoid regression in Flax. The idea of MAML is to learn the initial weight values of a model that can quickly adapt to new tasks. For more information, check the [paper](https://arxiv.org/abs/1703.03400).\r\n\r\nThis implementation uses only default Flax components like `flax.nn.Model` and `flax.nn.Module`, showing that this kind of optimization-based Meta Learning algorithms can easily be implemented in Flax/JAX.\r\n\r\nIt is based on the [MAML implementation in JAX by Eric Jang](https://blog.evjang.com/2019/02/maml-jax.html) and updated to use Flax components. I have only implemented the sinusoid example so far, but I intend to add the Omniglot example too.\r\n\r\nThere is also an implementation of a model that fits just to one sinusoid, without meta learning, useful to see the difference between the two approaches. This approach is implemented in `main_wo_maml.py`.","links":[{"article_link":"","code_link":"https://github.com/gcucurull/maml_flax","research_link":"https://arxiv.org/abs/1703.03400","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2117,"title":"Structuring Unit Tests in Python","description":"Where to put tests, how to write fixtures and the awesomeness of test parametrization.","tags":["article","tutorial","unit-tests","pytest","testing"],"details":"Testing code is often pretty ugly: A lot of copy & paste, the code is all over the place and hard to understand. In this article you will learn how to structure unit testing code in Python.","links":[{"article_link":"https://medium.com/python-in-plain-english/unit-testing-in-python-structure-57acd51da923","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2116,"title":"Machine Learning Pipelines for Kubeflow.","description":"Kubeflow pipelines are reusable end-to-end ML workflows built using the Kubeflow Pipelines SDK.","tags":["code","tutorial","kuberflow","production","ci-cd","pipelines"],"details":"[Kubeflow](https://www.kubeflow.org/) is a machine learning (ML) toolkit that is dedicated to making deployments of ML workflows on Kubernetes simple, portable, and scalable. \r\n\r\n**Kubeflow pipelines** are reusable end-to-end ML workflows built using the Kubeflow Pipelines SDK.\r\n\r\nThe Kubeflow pipelines service has the following goals:\r\n\r\n* End to end orchestration: enabling and simplifying the orchestration of end to end machine learning pipelines\r\n* Easy experimentation: making it easy for you to try numerous ideas and techniques, and manage your various trials/experiments.\r\n* Easy re-use: enabling you to re-use components and pipelines to quickly cobble together end to end solutions, without having to re-build each time.\r\n\r\n\r\n**Blog posts**\r\n\r\n* [Getting started with Kubeflow Pipelines](https://cloud.google.com/blog/products/ai-machine-learning/getting-started-kubeflow-pipelines) (By Amy Unruh)\r\n* How to create and deploy a Kubeflow Machine Learning Pipeline (By Lak Lakshmanan)\r\n * [Part 1: How to create and deploy a Kubeflow Machine Learning Pipeline](https://towardsdatascience.com/how-to-create-and-deploy-a-kubeflow-machine-learning-pipeline-part-1-efea7a4b650f) \r\n * [Part 2: How to deploy Jupyter notebooks as components of a Kubeflow ML pipeline](https://towardsdatascience.com/how-to-deploy-jupyter-notebooks-as-components-of-a-kubeflow-ml-pipeline-part-2-b1df77f4e5b3)\r\n * [Part 3: How to carry out CI/CD in Machine Learning (\u201cMLOps\u201d) using Kubeflow ML pipelines](https://medium.com/google-cloud/how-to-carry-out-ci-cd-in-machine-learning-mlops-using-kubeflow-ml-pipelines-part-3-bdaf68082112)","links":[{"article_link":"","code_link":"https://github.com/kubeflow/pipelines","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2115,"title":"GPU-Accelerated Single-Cell Genomics Analysis with RAPIDS","description":"Examples of single-cell genomic analysis accelerated with RAPIDS","tags":["code","clustering","dimensionality-reduction","genomics","rapids","gene-ranking"],"details":"We use RAPIDS to accelerate the analysis of a ~70,000-cell single-cell RNA sequencing dataset from human lung cells. This example includes preprocessing, dimension reduction, clustering, visualization and gene ranking.","links":[{"article_link":"","code_link":"https://github.com/clara-parabricks/rapids-single-cell-examples","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2114,"title":"tsaug","description":"A Python package for time series augmentation.","tags":["code","library","data-augmentation","time-series","tsaug"],"details":"tsaug is a Python package for time series augmentation. It offers a set of augmentation methods for time series, as well as a simple API to connect multiple augmenters into a pipeline.\r\n\r\nA first-time user may start with two examples:\r\n\r\n- [Augment a batch of multivariate time series](https://tsaug.readthedocs.io/en/stable/quickstart.html#augment-a-batch-of-multivariate-time-series)\r\n- [Augment a 2-channel audio sequence](https://tsaug.readthedocs.io/en/stable/quickstart.html#augment-a-2-channel-audio-sequence)\r\n\r\nExamples of every individual augmenter can be found [here](https://tsaug.readthedocs.io/en/stable/notebook/Examples%20of%20augmenters.html)\r\n\r\nFor full references of implemented augmentation methods, please refer to [References](https://tsaug.readthedocs.io/en/stable/references.html).","links":[{"article_link":"","code_link":"https://github.com/arundo/tsaug","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://tsaug.readthedocs.io/en/stable/"}]},{"id":2113,"title":"GAN-BERT","description":"Enhancing the BERT training with Semi-supervised Generative Adversarial Networks.","tags":["code","paper","research","video","attention","bert","generative-adversarial-networks","transformers","natural-language-processing","semi-supervised-learning"],"details":"GAN-BERT is an extension of BERT which uses a Generative Adversial setting to implement an effective semi-supervised learning schema. It allows training BERT with datasets composed of a limited amount of labeled examples and larger subsets of unlabeled material. GAN-BERT can be used in sequence classification tasks (also involings text pairs).","links":[{"article_link":"","code_link":"https://github.com/crux82/ganbert","research_link":"https://www.aclweb.org/anthology/2020.acl-main.191/","media_link":"https://www.youtube.com/watch?v=vAQsGi6NctY","dataset_link":"","demo_link":"","other_link":""}]},{"id":2112,"title":"Search for visual datasets","description":"By task, application, class, label or format.","tags":["library","computer-vision","datasets"],"details":"Bifrost Data Search makes it easy for data scientists, developers and engineers everywhere to find the data you need! Search from almost 2000 open-source datasets with previews and in-depth analysis. 100% free.","links":[{"article_link":"","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://datasets.bifrost.ai/"}]},{"id":2111,"title":"InvoiceNet","description":"Deep neural network to extract intelligent information from PDF invoice documents.\r\n","tags":["code","library","computer-vision","optical-character-recognition","text-extraction"],"details":"Deep neural network to extract intelligent information from PDF invoice documents.","links":[{"article_link":"","code_link":"https://github.com/naiveHobo/InvoiceNet","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2109,"title":"Live demo : State-of-the-art MCQ Generator from any content","description":"Demo for state-of-the-art MCQ (Multiple Choice Questions) generator from any content built using T5 transformer, HuggingFace, and Sense2vec\r\n","tags":["huggingface","transformers","natural-language-processing","question-generation","t5"],"details":"**Demo**\r\n\r\nhttp://questgen-mcq-demo-aug-2020.s3-website.us-east-2.amazonaws.com/","links":[{"article_link":"","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"http://questgen-mcq-demo-aug-2020.s3-website.us-east-2.amazonaws.com/"}]},{"id":2106,"title":"Fast NST for Videos (+ person segmentation) \ud83c\udfa5 + \u26a1\ud83d\udcbb + \ud83c\udfa8 = \u2764\ufe0f","description":"Create NST videos and pick separate styles for the person in the video and for the background.","tags":["code","tutorial","video","computer-vision","style-transfer","neural-style-transfer"],"details":"Create naive (no temporal loss) NST for videos with person segmentation. Just place your videos in data/, run and you get your stylized and segmented videos.","links":[{"article_link":"","code_link":"https://github.com/gordicaleksa/pytorch-naive-video-nst","research_link":"","media_link":"https://www.youtube.com/watch?v=S78LQebx6jo&list=PLBoQnSflObcmbfshq9oNs41vODgXG-608","dataset_link":"","demo_link":"","other_link":""}]},{"id":2104,"title":"PyTorch Lightning 101 video series","description":"PyTorch Lightning Masterclass from basic PyTorch to advanced Lightnig models","tags":["code","research","tutorial","video","pytorch","deep-learning","machine-learning","distributed-training","pytorch-lightning"],"details":"In this 101 series William Falcon, PyTorch Lightning creator, and Alfredo Canziani, Computer Science professor at NYU, walk you through everything you need to know to scale your models the Lightning way. \r\nTune in to learn about implementing models in PyTorch, converting to Lightning, and using more advanced features that will make it easier for you to run even the most complex models, lightning speed.\r\nMake sure to subscribe, new episodes are coming very soon...","links":[{"article_link":"","code_link":"https://github.com/PyTorchLightning/pytorch-lightning","research_link":"","media_link":"https://www.youtube.com/playlist?list=PLaMu-SDt_RB5NUm67hU2pdE75j6KaIOv2","dataset_link":"","demo_link":"","other_link":""}]},{"id":2103,"title":"scikit-survival","description":"scikit-survival is a Python module for survival analysis built on top of scikit-learn. ","tags":["code","python","scikit-learn","machine-learning","library","survival-analysis"],"details":"The objective in survival analysis (also referred to as time-to-event or reliability analysis) is to establish a connection between covariates and the time of an event. What makes survival analysis differ from traditional machine learning is the fact that parts of the training data can only be partially observed \u2013 they are censored.\r\n\r\nFor instance, in a clinical study, patients are often monitored for a particular time period, and events occurring in this particular period are recorded. If a patient experiences an event, the exact time of the event can be recorded \u2013 the patient\u2019s record is uncensored. In contrast, right censored records refer to patients that remained event-free during the study period and it is unknown whether an event has or has not occurred after the study ended. Consequently, survival analysis demands for models that take this unique characteristic of such a dataset into account.","links":[{"article_link":"","code_link":"https://github.com/sebp/scikit-survival","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2102,"title":"lifelib: Actuarial models in Python","description":"An open-source library of life actuarial models written in Python.","tags":["code","python","actuarial","actuary"],"details":"An open-source library of life actuarial models written in Python. You can run the models right out of the box, customize them in any way you want, or create your own models from scratch.","links":[{"article_link":"","code_link":"https://github.com/fumitoh/lifelib","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2100,"title":"A 2020 guide to Semantic Segmentation","description":"Concept of image segmentation, discuss the relevant use-cases, different neural network architectures involved in achieving the results, metrics and datasets.","tags":["article","code","computer-vision","semantic-segmentation","segmentation"],"details":"Deep learning has been very successful when working with images as data and is currently at a stage where it works better than humans on multiple use-cases. The most important problems that humans have been interested in solving with computer vision are image classification, object detection and segmentation in the increasing order of their difficulty.\r\n\r\nIn the plain old task of image classification we are just interested in getting the labels of all the objects that are present in an image. In object detection we come further a step and try to know along with what all objects that are present in an image, the location at which the objects are present with the help of bounding boxes. Image segmentation takes it to a new level by trying to find out accurately the exact boundary of the objects in the image.\r\n\r\n\r\n\r\nIn this article we will go through this concept of image segmentation, discuss the relevant use-cases, different neural network architectures involved in achieving the results, metrics and datasets to explore.","links":[{"article_link":"https://nanonets.com/blog/semantic-image-segmentation-2020/","code_link":"https://github.com/mrgloom/awesome-semantic-segmentation","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2099,"title":"PyTorch implementation of deep convolutional GANs","description":"This is a concise implementation of deep convolutional generative adversarial neural networks using PyTorch library","tags":["code","paper","research","pytorch","convolutional-neural-networks","generative-adversarial-networks","unsupervised-learning","arxiv:1511.06434"],"details":"","links":[{"article_link":"","code_link":"https://github.com/bipinKrishnan/Paper2code_DCGAN","research_link":"https://arxiv.org/abs/1511.06434","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2098,"title":"Digital Image Processing in Python","description":"Play around with pixel values with Python programming language.","tags":["article","code","research","tutorial","python","machine-learning","computer-vision","image-clustering"],"details":"","links":[{"article_link":"https://innat.github.io/innat.github.io/","code_link":"https://github.com/innat/DIP-In-Python","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2097,"title":"Machine Learning Resource ","description":"A concise resource repository for machine learning bookmarks. Concise but yet to comprehensive for machine learning resources and related stuff.","tags":["code","research","python","deep-learning","machine-learning"],"details":"","links":[{"article_link":"","code_link":"https://github.com/innat/ML-Bookmarks","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2064,"title":"Short Text Matching Hyperparameter Tuning","description":"This scenario shows how to tune a Frequently Asked Questions (FAQ) matching model that can be deployed as a web service to provide predictions for user question","tags":["code","azure","scikit-learn","hyperparameter-optimization"],"details":"","links":[{"article_link":"","code_link":"https://github.com/microsoft/MLHyperparameterTuning","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2063,"title":"Scikit-learn Advanced Features | Data Science","description":"It demonstrates some useful scikit-learn concepts in transforming features, pipelining, grid search, and much more.","tags":["article","tutorial","python","scikit-learn","machine-learning","feature-engineering","data-science","pipeline","grid-search"],"details":"","links":[{"article_link":"https://blog.datavalley.technology/2020/08/06/scikit-learn-advanced-features-data-science/?fbclid=IwAR2Kr0nxMqUUW7grC4DRN9Bm8H4XsJVhLe74umD9AX5diYQ4LoUApsrgBFU","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2062,"title":"Predict Vehicle Speed From Dash Cam Video","description":"A series of experiments attempting to predict vehicle speed from dash cam videos using optical flow and neural networks.","tags":["article","code","pytorch","autonomous-vehicles","computer-vision","computer-vis"],"details":"","links":[{"article_link":"https://antoninodimaggio.com/predict-vehicle-speed-using-dense-optical-flow.html","code_link":"https://github.com/antoninodimaggio/Voof","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2061,"title":"Detectron 2 Demo from Facebook","description":"This Project contains the process of getting started with Facebook FAIR's detectron2 project on windows 10 without any Nvidia GPU.","tags":["code","tutorial","computer-vision","image-classification","object-detection","segmentation","detectron"],"details":"### Facebook's Detectron2 Demo (Windows 10)\r\n\r\nThis repo contains the process of getting started with Facebook FAIR's detectron2 project on windows 10 without any Nvidia GPU.\r\n\r\n**Configuration and Installation steps**\r\n\r\nTo install Detectron2 you need to have Pytorch and Torchvision installed along with Pycocotools.\r\n\r\nTo install Pycocotools On Windows, you must have the Visual C++ 2015 build tools on your path. If you don't, make sure to install them from [here](https://go.microsoft.com/fwlink/?LinkId=691126):\r\n\r\nThen, run `visualcppbuildtools_full.exe` and select default options:\r\n\r\nAfter installing add them to your environment variables and run the command below:\r\n\r\n```\r\npip install git+https://github.com/philferriere/cocoapi.git#subdirectory=PythonAPI\r\n```\r\n\r\nThis will install pycocotools into your opreating system.\r\n\r\nAfter that install the requirements specified in the requirement file.\r\n\r\n```\r\npip install -r requirement.txt\r\n```\r\n\r\nTo build the Detectron2 you need fvcore \r\n\r\n```\r\ngit clone https://github.com/facebookresearch/fvcore\r\ncd fvcore\r\npython setup.py install \r\n```\r\n\r\nWhen all the requirements are installed clone the official repository of Detectron2 project from [here](https://github.com/facebookresearch/detectron2)\r\nor you can clone it by the process given below\r\n\r\n```\r\ngit clone https://github.com/facebookresearch/detectron2.git\r\ncd detectron2\r\npython setup.py build develop\r\n```\r\n\r\nAfter doing that all you need are pretrained models and pretrained weights.\r\n\r\nYou can get pre trained Mask RCNN model from [here](https://mega.nz/#!0nhxGKSA!GUOEjejGvy5sU5MZa8TFZUY0r4VT5al4Y_q0jZSiXW0) and pre trained weights from [here](https://mega.nz/#!cnZkQazC!Qp25xoks1OShLnXk_kIA6oniJ3q_yj7NYCU4fnZGRBs)\r\nPlace these models and weights in the working directory of the python script.\r\n\r\nAt Last you need to download the Base RCNN model from [here](https://mega.nz/#!xmAElA7A!fOHCnMQh6WzO1mcmktpyDh5D16AmqgC4fYp3tNwye_4)\r\nand you need to place this file out of the current working directory in the previous directory to use this base model.\r\n\r\nAfter configuring this just run the python script given in the code put your image name or path in the script and run this.\r\n\r\n\r\n----------------------------------------------------------------------------------------------------------------------------------------\r\n\r\n\r\n**Author**\r\nYou can get in touch with me on my LinkedIn Profile:\r\n\r\n#### Saad Hassan\r\n[](https://www.linkedin.com/in/saadhaxxan)\r\n\r\nYou can also follow my GitHub Profile to stay updated about my latest projects: [](https://github.com/saadhaxxan)\r\n\r\nIf you liked the repo then kindly support it by giving it a star \u2b50!\r\n\r\n**Contributions Welcome**\r\n[](#)\r\n\r\nIf you find any bug in the code or have any improvements in mind then feel free to generate a pull request.\r\n\r\n**Issues**\r\n[](https://www.github.com/saadhaxxan/Detectron2_Demo_Windows_10/issues)\r\n\r\nIf you face any issue, you can create a new issue in the Issues Tab and I will be glad to help you out.\r\n\r\n**License**\r\n[](../master/LICENSE)\r\n\r\nCopyright (c) 2020 SAAD HASSAN \r\n","links":[{"article_link":"","code_link":"https://github.com/saadhaxxan/Detectron2_Demo_Windows_10","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2060,"title":"einops","description":"Flexible and powerful tensor operations for readable and reliable code. Supports numpy, pytorch, tensorflow, and others.","tags":["article","code","pytorch","tensorflow","library","numpy","einops"],"details":"Tutorials are the most convenient way to see `einops` in action (and right now works as a documentation)\r\n\r\n- part 1: [einops fundamentals](https://github.com/arogozhnikov/einops/blob/master/docs/1-einops-basics.ipynb) \r\n- part 2: [einops for deep learning](https://github.com/arogozhnikov/einops/blob/master/docs/2-einops-for-deep-learning.ipynb)\r\n- part 3: [real code fragments improved with einops](https://arogozhnikov.github.io/einops/pytorch-examples.html) (so far only for pytorch)\r\n\r\n","links":[{"article_link":"https://arogozhnikov.github.io/einops/pytorch-examples.html","code_link":"https://github.com/arogozhnikov/einops","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2059,"title":"How to Detect Data-Copying in Generative Models","description":"I propose some new definitions and test statistics for conceptualizing and measuring overfitting by generative models.","tags":["article","code","paper","research","autoencoders","generative-adversarial-networks","variational-autoencoders","generative-modeling","data-copying","over-representation","arxiv:2004.05675"],"details":"Detecting overfitting in generative models is an important challenge in machine learning. In this work, we formalize a form of overfitting that we call {\\em{data-copying}} -- where the generative model memorizes and outputs training samples or small variations thereof. We provide a three sample non-parametric test for detecting data-copying that uses the training set, a separate sample from the target distribution, and a generated sample from the model, and study the performance of our test on several canonical models and datasets.\r\n\r\n","links":[{"article_link":"https://ucsdml.github.io/jekyll/update/2020/08/03/how-to-detect-data-copying-in-generative-models.html","code_link":"https://github.com/casey-meehan/data-copying","research_link":"https://arxiv.org/abs/2004.05675","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2058,"title":"Hyperparameter Optimization for AllenNLP Using Optuna","description":"\ud83d\ude80 A demonstration of hyperparameter optimization using Optuna for models implemented with AllenNLP.\r\n\r\n","tags":["article","code","tutorial","library","allennlp","hyperparameter-optimization","allenai","optuna"],"details":"In this article, I introduced how to combine AllenNLP and Optuna, a neural network library for natural language processing, to optimize hyperparameters, which is easy to use with a few modifications to AllenNLP\u2019s Jsonnet file. As a demo, I worked on a polarity analysis of IMDb review data.","links":[{"article_link":"https://medium.com/p/54b4bfecd78b","code_link":"https://github.com/himkt/optuna-allennlp","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2057,"title":"Data Science Meets Devops: MLOps with Jupyter, Git, & Kubernetes","description":"An end-to-end example of deploying a machine learning product using Jupyter, Papermill, Tekton, GitOps and Kubeflow.","tags":["article","tutorial","devops","production","kubeflow","mlops","papermill","end-to-end","gitops","tekton"],"details":"Building ML products is a team effort. In order to move a model from a proof of concept to a shipped product, data scientists and devops engineers need to collaborate. To foster this collaboration, we believe it is important to allow data scientists and devops engineers to use their preferred tools. Concretely, we wanted to support the following tools for Data Scientists, Devops Engineers, and SREs:\r\n\r\n* Jupyter notebooks for developing models.\r\n* GitOps for continuous integration and deployment.\r\n* Kubernetes and managed cloud services for underlying infrastructure.\r\n\r\nTo maximize each team\u2019s autonomy and reduce dependencies on tools, our CI/CD process follows a decentralized approach. Rather than explicitly define a DAG that connects the steps, our approach relies on a series of controllers that can be defined and administered independently. We think this maps naturally to enterprises where responsibilities might be split across teams; a data engineering team might be responsible for turning weblogs into features, a modeling team might be responsible for producing models from the features, and a deployments team might be responsible for rolling those models into production.","links":[{"article_link":"https://blog.kubeflow.org/mlops/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2056,"title":"Fast Sentence Embeddings (fse)","description":"Fast Sentence Embeddings is a Python library that serves as an addition to Gensim.","tags":["code","library","embeddings","natural-language-processing","sentence-embeddings","gensim","demo","fse"],"details":"Fast Sentence Embeddings is a Python library that serves as an addition to Gensim. This library is intended to compute *sentence vectors* for large collections of sentences or documents. \r\n\r\nFind the corresponding blog post(s) here:\r\n\r\n- [Visualizing 100,000 Amazon Products](https://towardsdatascience.com/vis-amz-83dea6fcb059)\r\n- [Sentence Embeddings. Fast, please!](https://towardsdatascience.com/fse-2b1ffa791cf9)\r\n\r\n- **Announcment: Please understand, that I am at the end of my PhD and I do not have many free minutes to fix issues or add features.**\r\n\r\n**fse** implements three algorithms for sentence embeddings. You can choose\r\nbetween *unweighted sentence averages*, *smooth inverse frequency averages*, and *unsupervised smooth inverse frequency averages*. \r\n\r\nKey features of **fse** are: \r\n\r\n**[X]** Up to 500.000 sentences / second (1)\r\n\r\n**[X]** Supports Average, SIF, and uSIF Embeddings\r\n\r\n**[X]** Full support for Gensims Word2Vec and all other compatible classes\r\n\r\n**[X]** Full support for Gensims FastText with out-of-vocabulary words\r\n\r\n**[X]** Induction of word frequencies for pre-trained embeddings\r\n\r\n**[X]** Incredibly fast Cython core routines \r\n\r\n**[X]** Dedicated input file formats for easy usage (including disk streaming)\r\n\r\n**[X]** Ram-to-disk training for large corpora\r\n\r\n**[X]** Disk-to-disk training for even larger corpora\r\n\r\n**[X]** Many fail-safe checks for easy usage\r\n\r\n**[X]** Simple interface for developing your own models\r\n\r\n**[X]** Extensive documentation of all functions\r\n\r\n**[X]** Optimized Input Classes\r\n\r\n(1) May vary significantly from system to system (i.e. by using swap memory) and processing.\r\nI regularly observe 300k-500k sentences/s for preprocessed data on my Macbook (2016).\r\nVisit **Tutorial.ipynb** for an example.\r\n\r\nThings I will work on next:\r\n\r\n**[ ]** MaxPooling / Hierarchical Pooling Embedding\r\n\r\n**[ ]** Approximate Nearest Neighbor Search for SentenceVectors","links":[{"article_link":"","code_link":"https://github.com/oborchers/Fast_Sentence_Embeddings","research_link":"","media_link":"","dataset_link":"","demo_link":"https://towardsdatascience.com/vis-amz-83dea6fcb059","other_link":"https://towardsdatascience.com/fse-2b1ffa791cf9"}]},{"id":2055,"title":"Batch Normalization in Keras - Ablation Study","description":"Use BatchNormalization with Keras and observe the effect it has with the change in batch size, learning rates and add dropout.","tags":["article","code","notebook","keras","batch-normalization","wandb","ablation-studies"],"details":"","links":[{"article_link":"https://app.wandb.ai/authors/ayusht/reports/Batch-Normalization-in-Keras-An-Example--VmlldzoxNzI5NjQ","code_link":"https://colab.research.google.com/drive/1znvd2wt7oLDBskS6gBLhscAI1V-D9REb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2054,"title":"Dropout in PyTorch \u2013 An Example","description":"An example of adding Dropout to a PyTorch model, and observe the effect dropout has on the model's performance by tracking our models in Weights & Biases.","tags":["article","code","notebook","pytorch","computer-vision","image-classification","wandb","dropout"],"details":"","links":[{"article_link":"https://app.wandb.ai/authors/ayusht/reports/Dropout-in-PyTorch-An-Example--VmlldzoxNTgwOTE","code_link":"https://colab.research.google.com/drive/1uX4QhQ4levE1FMvFRlqzvYOeK-MBqtcu","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2053,"title":"Image Classification with Keras","description":"Build a pipeline to train an image classifier in Keras and tune hyperparameters to optimize the performance of our classifier.","tags":["article","code","notebook","keras","computer-vision","image-classification","wandb"],"details":"","links":[{"article_link":"https://app.wandb.ai/authors/ayusht/reports/Image-Classification-with-Keras--VmlldzoxNTgxNjc","code_link":"https://colab.research.google.com/drive/1s4UyRlzGwuMpD7ZuB8Lc7J5z2JL7drYu","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2052,"title":"Use GPUs with Keras","description":"This tutorial walks you through the Keras APIs that let you use and have more control over your GPU.","tags":["article","code","notebook","tutorial","keras","wandb","gpu"],"details":"","links":[{"article_link":"https://app.wandb.ai/authors/ayusht/reports/Use-GPUs-with-Keras--VmlldzoxNjEyNjE","code_link":"https://colab.research.google.com/drive/1BPO5n8wkcMXDlijasBbfXpI7HuBWDkUb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2051,"title":"MobyDick word frequency","description":"Getting the count of the words in Moby Dick story using both web scraping and NLP","tags":["code","notebook","research","natural-language-processing","data-science"],"details":"","links":[{"article_link":"","code_link":"https://github.com/OmarEltouny78/NLP-WebScrapper-MobyDick/blob/master/Moby.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2048,"title":"SadedeGel: An extraction based Turkish news summarizer","description":"\"Sadede Gel\" in Turkish, means \"cut to the chase\". ","tags":["code","notebook","research","attention","bert","transformers","library","natural-language-processing","text-summarization","unsupervised-learning","demo"],"details":"## **SadedeGel**\r\n\r\nThe library and its sub-projects are developed for **Open Source Hackathon Program** hosted by [Turkey Open Source Platform](https://www.turkiyeacikkaynakplatformu.com)\r\n\r\nThough the library is developed for Turkish language, the support and documentation is provided in English to accommodate non-native researchers and enthusiasts. \r\n\r\nSadedeGel library mainly revolves around the task of extractive summarization. It wraps and provides tools for an end-to-end workflow for such task. \r\n\r\n* Dataset formation with scraper.\r\n* Label generation.\r\n* ML based sentence Boundary detection.\r\n* Summarizers.\r\n* Evaluator.\r\n* Server.\r\n* Chrome Extension.\r\n\r\nThe workflow is distributed to libraries below.\r\n\r\n* [SadedeGel Main Library](#sadedegel-main-library)\r\n* [SadedeGel Scraper](#sadedegel-scraper)\r\n* [SadedeGel Annotator](#sadedegel-annotator)\r\n* [SadedeGel Chrome Extension](#sadedegel-chrome-extension)\r\n\r\n### **SadedeGel Main Library**\r\n\r\n[GitHub Link](https://github.com/GlobalMaksimum/sadedegel)\r\n\r\nFeatures:\r\n\r\n* Several news datasets\r\n* ML based sentence boundary detector (SBD) trained for Turkish language (sadedegel.dataset)\r\n* Various baseline summarizers\r\n* Various unsupervised/supervised summarizers. (Embeddings generated with [BERTurk](https://github.com/stefan-it/turkish-bert))\r\n\r\n\r\n\r\nDetailed description of the metric and summarizer perfomances can be found at ```sadedegel.summarize``` [submodule](https://github.com/GlobalMaksimum/sadedegel/tree/master/sadedegel/summarize).\r\n\r\n### **SadedeGel Scraper**\r\n\r\nThis web scraper is developed to meet the data requirements of SadedeGel library. \r\n\r\n[GitHub Link](https://github.com/GlobalMaksimum/sadedegel-scraper)\r\n\r\nIt scrapes data from news websites and stores them as .txt files. \r\n\r\n* Gets author urls of given news website\r\n* Gets article urls of each author\r\n* Scrapes data from the article and write to a .txt file\r\n\r\n\r\n### **SadedeGel Annotator**\r\n\r\n[GitHub Link](https://github.com/GlobalMaksimum/sadedegel-annotator)\r\n\r\n\r\nSadedegel Annotator enables the user to summarize texts by eliminating sentences in rounds. At each round, user identifies the sentences that contain the least important information and selects them to be extracted from the text. For each sentence, the round it is eliminated in implies its level of importance.\r\n\r\n\r\n\r\nGiven this **supervised labeling** approach, we use a ranking metric (Normalized Discounted Cumulative Gain) to evaluate different summarizers over independent dataset(s).\r\n\r\nNormalized Discounted Cumulative Gain is a very intuitive metric by its definition. It simply measures an algorithm's success based on the ratio of two things\r\n\r\n* Algorithm's choice of best k sentences among M sentences (total relevance score obtained with this k sentence).\r\n* Best k sentences among M sentences with respect to ground truth human annotation (Best possible total relevance score that can be obtained with k sentences).\r\n\r\n**Note:** Supervised label is the importance label assigned by the human annotator. In order to obtain labels for a very large corpus SadedeGel also uses **self-supervised labeling** where importance label of a sentence is its **```Rouge1('f1')```** overlap score with respect to the rest of the document. Rouge1 label of each sentence is calculated and stored when:\r\n\r\nNow you have an annotated Turkish News Dataset for extractive summarization task.\r\n\r\n### **SadedeGel Chrome Extension**\r\n\r\nSadedeGel Chrome Extension is a handy usage of SadedeGel library.\r\n\r\n[GitHub Link](https://github.com/GlobalMaksimum/sadedegel-chrome-extension)\r\n\r\nIt summarizes articles on authors page of supported news websites:\r\n\r\n* [hurriyet.com.tr](https://www.hurriyet.com.tr/yazarlar/)\r\n* [milliyet.com.tr](https://www.milliyet.com.tr/yazarlar/)\r\n* [sozcu.com.tr](https://www.sozcu.com.tr/kategori/yazarlar/)\r\n* [haberturk.com](https://www.haberturk.com/htyazarlar)\r\n* [sabah.com.tr](https://www.sabah.com.tr/yazarlar)\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/GlobalMaksimum/sadedegel","research_link":"","media_link":"","dataset_link":"","demo_link":"https://mybinder.org/v2/gh/GlobalMaksimum/sadedegel.git/master?filepath=notebook/Basics.ipynb","other_link":"https://sadedegel.ai/"}]},{"id":2047,"title":"Test-Time Data Augmentation","description":"Tutorial on how to properly implement test-time image data augmentation in a production environment with limited computational resources.","tags":["article","code","notebook","tutorial","keras","tensorflow","deep-learning","data-augmentation","production"],"details":"Proper *test-time data augmentation in production* usually does not apply the same augmentation pipeline as during training. In production, the *computational budget is usually limited* and we only have time to run inference on a few augmented images.\r\n\r\nTherefore, the random data augmentation that works well during model training is not ideal. It is important to get the *highest accuracy boost with only a few augmented samples*. In practice this means that the best test-time data augmentation has to be found using experimentation\r\n\r\nRun the Colab notebook to experiment for yourself and learn how to find the best augmentation parameters.","links":[{"article_link":"https://stepup.ai/test_time_data_augmentation/","code_link":"https://github.com/dufourpascal/stepupai/blob/master/tutorials/data_augmentation/test_time_data_augmentation.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2046,"title":"Sparkle: Combating Medication Non-adherence with ML","description":"Introducing Sparkle \u2728: a multi-platform medication monitoring system designed to promote medication adherence for ordinary people.","tags":["code","video","health","library","medicine","gradient-boosting"],"details":"# Sparkle: Mission Control For Medication Adherence\r\n\r\nWelcome to Sparkle \u2728! To learn more about us, feel free to peruse the sections below. Or if you're eager to jump right in, you can visit our website [sparklemed.com](https://www.sparklemed.com) and experience Sparkle firsthand.\r\n\r\n## What _Is_ Sparkle?\r\n\r\nSparkle grew out of an Apache Spark based research project, which used distributed machine learning and wearable technology to detect low pill counts in prescription containers, with the goal of automating the delivery of refillment medication. It has since grown into a comprehensive medication adherence platform for doctors and patients alike that seeks to provide an intelligent solution to the issue of medication adherence. \r\n\r\nWhy? It's estimated that in developed countries approximately 50% of patients with chronic illnesses do not take their medication as prescribed. In the United States alone, hospitalizations due to medication non-adherence cost an estimated 289 billion dollars annually. \r\n\r\nSparkle's mission is to eliminate medication non-adherence by providing a comprehensive multi-platform medication monitoring system.\r\n\r\n\r\n## How Does It Work?\r\n\r\nOur system joins patients and doctors in a single feedback loop in which:\r\n\r\n* Doctors upload patient medication information to our internal online portal, with end-to-end encryption of patient data.\r\n* Patient prescription schedules are automatically propagated to our mobile iOS and watchOS applications.\r\n* Patients are automatically notified on their AppleWatch when it's time to take their medication. No configuration required.\r\n* Pill intakes are recorded via AppleWatch sensors and sent to our web API, where intakes are verified and the number of pills remaining is estimated via a Gradient Boosted model.\r\n* Our online portal is updated with patient intakes. Doctors can view the adherence rates of individual patients and are immediately notified of any non-adhering patients so that they can intervene and help patients resume their prescribed course of treatment.\r\n\r\n\r\n## Why Sparkle?\r\n\r\nSparkle provides a comprehensive medication monitoring system that is unlike anything on the market to date. Whereas other medication adherence applications require users to manually input a detailed intake schedule for each prescription they take, Sparkle reverses this paradigm and leverages the patient information that doctors must already record in online medical record systems to ease the burden of medication adherence for patients at no added cost to medical professionals.\r\n\r\n\r\n## See Sparkle In Action\r\n\r\nWant to learn more more about Sparkle? Watch the video below for a live demo of how our iOS, watchOS, and web applications work together, or visit [our website](https://www.sparklemed.com) to experience Sparkle firsthand.\r\n\r\n[](https://www.youtube.com/watch?v=3HuoyBIA94o \"\")\r\n\r\n\r\n## About Sparkle\r\n\r\nSparkle was created and developed with :heart: over the course of seven weeks as part of the Product Analytics class at the University of San Francisco's Masters in Data Science Program.\r\n\r\nWant to learn more about our team? Feel free to reach out using the links below! \r\n\r\n[Andy Cheon](https://www.linkedin.com/in/acheon/) | [Stephanie Jung](https://www.linkedin.com/in/yeojujung/) | [Collin Prather](https://www.linkedin.com/in/collin-prather/) | [Matthew Sarmiento](https://www.linkedin.com/in/msarmi9/) | [Kevin Wong](https://www.linkedin.com/in/kevinbw/)","links":[{"article_link":"","code_link":"https://github.com/msarmi9/Sparkle","research_link":"","media_link":"https://www.youtube.com/watch?v=3HuoyBIA94o","dataset_link":"","demo_link":"","other_link":"https://www.sparklemed.com/"}]},{"id":2045,"title":"Evaluation Metrics For Information Retrieval","description":"Learn about common metrics used to evaluate performance of information retrieval systems","tags":["article","tutorial","document-ranking","information-retrieval","metrics","natural-language-processing"],"details":"- Learn about evaluation metrics through two toy problem setup in information retrieval","links":[{"article_link":"https://amitness.com/2020/08/information-retrieval-evaluation/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2044,"title":"Neural Nets Aren\u2019t Black Boxes","description":"If you think neural nets are black boxes, you\u2019re not alone. Let\u2019s break this misconception down piece by piece as we build our own neural net from scratch.","tags":["article","code","tutorial","deep-learning","library"],"details":"In this post we'll write our own feedforward network from scratch in numpy, starting with binary logistic regression. We'll begin by deriving the back-prop equations for our particular scenario and in doing so we'll realize that what we've done generalizes immediately to networks with arbitrary layers and activations.\r\n\r\nThis post is the first of a series of posts in which we'll build our own DNN, CNN, and RNN in numpy. You can find the source code for this post at the [tinytorch repo](https://msarmi9.github.io/neural-nets-are-not-black-boxes/).","links":[{"article_link":"https://msarmi9.github.io/neural-nets-are-not-black-boxes/","code_link":"https://github.com/msarmi9/tinytorch","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2043,"title":"DeLighT: Very Deep and Light-weight Transformers","description":"Similar or better performance than transformer-based models with significantly fewer parameters","tags":["code","paper","research","transformers","model-compression","natural-language-processing","delight","dextra","arxiv:2008.00623"],"details":"In this repository, we share the source code of our paper DeLight, that delivers similar or better performance than \r\ntransformer-based models with significantly fewer parameters. DeLighT more efficiently allocates parameters both (1) \r\nwithin each Transformer block using DExTra, a deep and light-weight transformation and (2) across blocks using \r\nblock-wise scaling, that allows for shallower and narrower DeLighT blocks near the input and wider and deeper \r\nDeLighT blocks near the output. Overall, DeLighT networks are 2.5 to 4 times deeper than standard transformer models \r\nand yet have fewer parameters and operations. For details, see our papers: [DeFINE](https://openreview.net/pdf?id=rJeXS04FPH) and \r\nand [DeLighT](https://arxiv.org/pdf/2008.00623.pdf).\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/sacmehta/delight","research_link":"https://arxiv.org/abs/2008.00623","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2042,"title":"ONNX T5","description":"Summarization, translation, Q&A, text generation and more at blazing speed using a T5 version implemented in ONNX.","tags":["article","code","paper","research","onnx","pytorch","transformers","library","natural-language-processing","t5","serving","arxiv:1910.10683"],"details":"Summarization, translation, Q&A, text generation and more at blazing speed using a T5 version implemented in ONNX. This package is still in alpha stage, therefore some functionalities such as beam searches are still in development.\r\n\r\n\r\n\r\n","links":[{"article_link":"https://kta.io/posts/onnx_t5","code_link":"https://github.com/abelriboulot/onnxt5","research_link":"https://arxiv.org/abs/1910.10683","media_link":"","dataset_link":"","demo_link":"","other_link":"https://github.com/microsoft/onnxruntime"}]},{"id":2041,"title":"Fawkes vs Nic or Not","description":"Testing facial recognition against facial cloaking with Fawkes","tags":["article","tensorflow-js","facial-recognition"],"details":"Testing Fawkes facial cloaking against TensorFlow.js facial recognition with Nic or Not.com\r\n\r\n","links":[{"article_link":"https://shift.infinite.red/ai-face-off-fawkes-vs-nicornot-ef6b50b4ccb8","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://twitter.com/GantLaborde/status/1290711313262542851?s=20"}]},{"id":2040,"title":"A Barebones Image Retrieval System","description":"This project presents a simple framework to retrieve images similar to a query image.","tags":["code","tutorial","tensorflow","computer-vision","few-shot-learning","image-similarity-search","representation-learning","big-transfer","image-retrieval"],"details":"This project presents a simple framework to retrieve images similar to a query image. The framework is as follows:\r\n\r\n- Train a CNN model (A) on a set of labeled images with Triplet Loss (I used this one).\r\n- Use the trained CNN model (A) to extract features from the validation set.\r\n- Train a kNN model (B) on these extracted features with k set to the number of neighbors wanted.\r\n- Grab an image (I) from the validation set and extract its features using the same CNN model (A).\r\n- Use the same kNN model (B) to calculate the nearest neighbors of I.","links":[{"article_link":"","code_link":"https://github.com/sayakpaul/A-Barebones-Image-Retrieval-System","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2039,"title":"Tensorflow2 Object Detection Tutorial","description":"In this tutorial, we will be going step by step the complete training process of Tensorflow2 Object Detection. ","tags":["article","code","tutorial","tensorflow","tensorflow-js","convolutional-neural-networks","computer-vision","object-detection","tensorflow-lite"],"details":"In this tutorial we will be going to the detailed training process of a **custom object detection** model using **Tensorflow2.x** in Google Colab. All steps are mentioned with screenshots for easy reference.\r\nAt the end anyone can easily build an object detection model.\r\n\r\nAfter building a model one can easily build a web app or use the model in edge devices or mobiles.","links":[{"article_link":"https://sourangshupal.github.io/Tensorflow2-Object-Detection-Tutorial/","code_link":"https://github.com/sourangshupal/Tensorflow2-Object-Detection-Tutorial/blob/master/README.md","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2038,"title":"Curated papers & articles on DS & ML in production","description":"Learn how organizations & business solved machine learning problems, including problem statement, research, methodology, and results.","tags":["code","paper","machine-learning","production","data-science"],"details":"Figuring out how to implement your ML project? Learn from how other organizations have done it:\r\n\r\n* How the problem is framed \ud83d\udd0e(e.g., personalization as recsys vs. search vs. sequences)\r\n* What machine learning techniques worked \u2705 (and sometimes, what didn't \u274c)\r\n* Why it works, the science behind it with research, literature, and references \ud83d\udcc2\r\n* What real-world results were achieved (so you can better assess ROI \u23f0\ud83d\udcb0\ud83d\udcc8)","links":[{"article_link":"","code_link":"https://github.com/eugeneyan/applied-ml","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2037,"title":"Exploring Pruning as an Alternative to Knowledge Distillation","description":"Summary of Poor Man\u2019s BERT: Smaller and Faster Transformer Models.","tags":["article","research","knowledge-distillation","model-compression","pruning"],"details":"**Pruning techniques**\r\n\r\nTo thoroughly examine the effect of dropping transformer layers, the authors propose five different strategies:\r\n\r\n1. Top-layer dropping. Remove the last layers of the network. Previous work has shown that later layers in the network specialize for the pre-training objective, which might not be helpful during the fine-tuning stage of training.\r\n2. Bottom-layer dropping. Remove the initial layers from the network. This form of pruning is included for completeness, even though previous work have shown that initial layers model the local interaction between tokens.\r\n3. Alternate dropping. Removes every other layer, either the even or odd ones, counting from the end of the network. These techniques aim to answer whether adjacent layers learn similar enough transforms for one of them to be removed.\r\n4. Symmetric dropping. Remove layers from the center of the network. The motivation is that these layers learn less important features compared to the bottom and top layers.\r\n5. Contribution-based dropping. Removes layers based on how much they modify their input. This is measured by averaging the cosine similarity between input and output embeddings. It seems reasonable to remove layers where this similarity is high, as that would indicate small changes.","links":[{"article_link":"https://medium.com/dair-ai/poor-mans-bert-why-pruning-is-better-than-knowledge-distillation-\ufe0f-f9652a1dc2bd","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2035,"title":"Act - GitHub Actions locally","description":"Run your GitHub Actions locally.","tags":["code","library","mlops","github-actions","demo","ci-cd"],"details":"Run your [GitHub Actions](https://developer.github.com/actions/) locally! Why would you want to do this? Two reasons:\r\n\r\n* **Fast Feedback** - Rather than having to commit/push every time you want to test out the changes you are making to your `.github/workflows/` files (or for any changes to embedded GitHub actions), you can use `act` to run the actions locally. The [environment variables](https://help.github.com/en/actions/configuring-and-managing-workflows/using-environment-variables#default-environment-variables) and [filesystem](https://help.github.com/en/actions/reference/virtual-environments-for-github-hosted-runners#filesystems-on-github-hosted-runners) are all configured to match what GitHub provides.\r\n* **Local Task Runner** - I love [make](). However, I also hate repeating myself. With `act`, you can use the GitHub Actions defined in your `.github/workflows/` to replace your `Makefile`!\r\n\r\n\r\nWhen you run act it reads in your GitHub Actions from .github/workflows/ and determines the set of actions that need to be run. It uses the Docker API to either pull or build the necessary images, as defined in your workflow files and finally determines the execution path based on the dependencies that were defined. Once it has the execution path, it then uses the Docker API to run containers for each action based on the images prepared earlier. The environment variables and filesystem are all configured to match what GitHub provides.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/nektos/act","research_link":"","media_link":"","dataset_link":"","demo_link":"https://github.com/cplee/github-actions-demo","other_link":""}]},{"id":2034,"title":"Finding Similar Documents with Transformers","description":"How transformers can help us distill text documents into points in N-dimensional vector spaces.","tags":["code","notebook","tutorial","transformers","natural-language-processing","similarity-search","semantic-search","elastic-search","document-similarity"],"details":"In this blogpost we've learned how transformers, the current state of the art in Natural Language Processing, can help us distill text documents into points in N-dimensional vector spaces.\r\n\r\nBy searching by distance to points in that space, we can discover documents similar to each other, as well as similar to user-crafted queries, creating a semantic search engine in a few lines of Python.\r\n\r\nAs a next step, I encourage you to try different models and languages (you can find them all in HuggingFace's Model Hub) and also, try using ElasticSearch dense_vectors to index your documents there and take advantage of multi-faceted, production-ready search in vector space.","links":[{"article_link":"","code_link":"https://colab.research.google.com/drive/1DfJtwWBmgB2dbTHxzBA4NqnjDP6ux4BF","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2033,"title":"FARM: Framework for Adapting Representation Models","description":"\ud83c\udfe1 Fast & easy transfer learning for NLP. Harvesting language models for the industry.","tags":["article","code","video","huggingface","transformers","library","language-modeling","natural-language-processing","transfer-learning","demo"],"details":"FARM makes Transfer Learning with BERT & Co simple, fast and enterprise-ready. It's built upon transformers and provides additional features to simplify the life of developers: Parallelized preprocessing, highly modular design, multi-task learning, experiment tracking, easy debugging and close integration with AWS SageMaker.\r\n\r\nWith FARM you can build fast proof-of-concepts for tasks like text classification, NER or question answering and transfer them easily into production.\r\n\r\n#### Core Features \r\n\r\n* Easy fine-tuning of language models to your task and domain language\r\n* Speed: AMP optimizers (~35% faster) and parallel preprocessing (16 CPU cores => ~16x faster)\r\n* Modular design of language models and prediction heads\r\n* Switch between heads or combine them for multitask learning\r\n* Full Compatibility with HuggingFace Transformers' models and model hub\r\n* Smooth upgrading to newer language models\r\n* Integration of custom datasets via Processor class\r\n* Powerful experiment tracking & execution\r\n* Checkpointing & Caching to resume training and reduce costs with spot instances\r\n* Simple deployment and visualization to showcase your model","links":[{"article_link":"https://medium.com/voice-tech-podcast/https-medium-com-deepset-ai-transfer-learning-entering-a-new-era-in-nlp-db523d9e667b","code_link":"https://github.com/deepset-ai/FARM","research_link":"","media_link":"https://www.youtube.com/watch?v=hoDgtvE-u9E","dataset_link":"","demo_link":"https://demos.deepset.ai/","other_link":"https://farm.deepset.ai/"}]},{"id":2032,"title":"Object tracking in 75 lines of code","description":"Object tracking is straightforward conceptually. And if you have a good detector, simple methods can be pretty effective.","tags":["article","code","tutorial","pytorch","computer-vision","object-tracking"],"details":"Tracking objects in video is a thoroughly studied problem in computer vision that has important applications in industries like sports, retail and security. There are several possible approaches to this problem, but a popular one that\u2019s both simple to implement and effective in practice is called tracking-by-detection.\r\n\r\nThe tracking-by-detection paradigm relies heavily on high quality object detectors. This means it can leverage advances in deep learning that have dramatically improved the performance of these models.\r\n\r\nHere\u2019s the algorithm. For each frame:\r\n\r\n* Run the detector to find the objects in the image.\r\n* Extract features for the objects you care about.\r\n* Compute the pairwise cost between each object from the previous frame and each object in the current frame.\r\n* Assign matches between the two frames in a way that minimizes the overall cost.","links":[{"article_link":"https://jbencook.com/simple-pytorch-object-tracking/","code_link":"https://github.com/jbencook/pytorch-object-tracking","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2031,"title":"NeuralQA - API and Visual Interface for Extractive QA","description":"A Usable Library for Question Answering on Large Datasets with BERT","tags":["code","attention","bert","transformers","library","natural-language-processing","question-answering","visualization"],"details":"NeuralQA provides an easy to use api and visual interface for Extractive Question Answering (QA), on large datasets. The QA process is comprised of two main stages - Passage retrieval (Retriever) is implemented using ElasticSearch and Document Reading (Reader) is implemented using pretrained BERT models via the Huggingface Transformers api.\r\n\r\n\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/victordibia/neuralqa","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2030,"title":"A Few Favorite Recipes in Computer Vision & Deep Learning","description":"This blog post enlists a few of my favorite recipes in deep learning in the context of computer vision (as of August 2020).","tags":["article","research","deep-learning","computer-vision","representation-learning","self-supervised-learning","simclr","contrastive-learning"],"details":"In this blog post, I will expand on this tweet to convey why these are my favorite recipes among other things.\r\n\r\nThe training frameworks I mentioned can be classified into two broad categories:\r\n\r\n* **supervised learning** ([Supervised Contrastive Learning](https://arxiv.org/abs/2004.11362) and [BigTransfer](https://arxiv.org/abs/1912.11370))\r\n* **self-supervised learning** (SimCLRv2 [only the SimCLR part]).","links":[{"article_link":"https://sayak.dev/visual-representation-learning/self-supervised-learning/computer-vision/2020/08/02/favorite-recipes-vision.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2029,"title":"Self-supervised representation learning on videos","description":"Everything you need to know about video-based approaches on self-supervised learning","tags":["article","video","representation-learning","self-supervised-learning"],"details":"Nowadays, transfer learning from pretrained models on Imagenet is the ultimate standard in computer vision. Self-supervised learning dominates natural language processing, but this doesn\u2019t mean that there are no significant use-cases for computer vision that it should be considered. There are indeed a lot of cool self-supervised tasks that one can devise when she/he is dealing with images, such as jigsaw puzzles [6], image colorization, image inpainting, or even unsupervised image synthesis.\r\n\r\nBut what happens when the time dimension comes into play? How can you approach the video-based tasks that you would like to solve?\r\n\r\nSo, let\u2019s start from the beginning, one concept at a time. What is self-supervised learning? And how is it different from transfer learning? What is a pretext task?\r\n","links":[{"article_link":"https://theaisummer.com/self-supervised-learning-videos/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://theaisummer.com/"}]},{"id":2028,"title":"Which machine learning algorithm to choose?","description":"in this article, we show you structured methodology and guidelines which will help you to select the best algorithm for your use.","tags":["article","machine-learning","regression","classification"],"details":"","links":[{"article_link":"https://blog.datavalley.technology/2020/07/14/so-which-machine-learning-algorithm-to-use/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2027,"title":"Nearest Celebrity Face","description":"Implementation of FaceNet: A Unified Embedding for Face Recognition and Clustering to find the celebrity whose face matches the closest to yours. The input face","tags":["article","code","deep-learning","siamese-networks","computer-vision"],"details":"# Overview\r\n\r\n# Nearest-Celebrity-Face\r\n\r\n[](https://paperswithcode.com/sota/face-verification-on-ijb-c?p=facenet-a-unified-embedding-for-face)\r\n[](https://paperswithcode.com/sota/face-verification-on-labeled-faces-in-the?p=facenet-a-unified-embedding-for-face)\r\n[](https://paperswithcode.com/sota/face-verification-on-megaface?p=facenet-a-unified-embedding-for-face)\r\n[](https://paperswithcode.com/sota/face-identification-on-megaface?p=facenet-a-unified-embedding-for-face)\r\n[](https://paperswithcode.com/sota/face-verification-on-youtube-faces-db?p=facenet-a-unified-embedding-for-face)\r\n\r\n### Overview\r\nImplementation of [FaceNet: A Unified Embedding for Face Recognition and Clustering\r\n](https://arxiv.org/abs/1503.03832v3) to find the celebrity whose face matches the closest to yours.\r\nThe input face is encoded with a pretrained inception model into a vector and then its geometric distance is calculated with the encoded vectors of all the images present in the dataset and the image with the least distance is selected.\r\n\r\n**Article Link:** [https://soumik12345.github.io/geekyrakshit-blog/computervision/deeplearning/facenet/inception/keras/nearestcelebrityface/python/tensorflow/2019/08/07/nearest-celebrity-face.html](https://soumik12345.github.io/geekyrakshit-blog/computervision/deeplearning/facenet/inception/keras/nearestcelebrityface/python/tensorflow/2019/08/07/nearest-celebrity-face.html)\r\n\r\n### Installation\r\n1. Create a new conda environment using `conda create --name nearest_celeb_face`\r\n2. Activate the `activate nearest_celeb_face` if you are on Windows and `source activate nearest_celeb_face` if you are on Linux\r\n3. Clone the repository using `git clone https://github.com/soumik12345/Nearest-Celebrity-Face`\r\n4. Enter the root directory using `cd Nearest-Celebrity-Face`\r\n5. Install the required dependencies using `pip install -r requirements.txt`\r\n\r\n### Usage\r\nThe `TestCases` folder contains two folders `Actual` that contains full sized images of individuals and `Preprocessed` containing the faces manually cropped out of the full sized images. Any number of testcases can be added provided that one image each is present in the `Actual` and `Preprocessed` folders with the exact same filename and the preprocessed image should have the face manually cropped out for best performance. Refer to the already cropped images for further detail on how to crop. Once the tescases are setup, run `python main.py` or `python3 main.py` to run the program.\r\n\r\n### Sample Outputs\r\n\r\n\r\n\r\n\r\n\r\n\r\n\r\n### Citation\r\n```\r\n@article{1503.03832,\r\n Author = {Florian Schroff and Dmitry Kalenichenko and James Philbin},\r\n Title = {FaceNet: A Unified Embedding for Face Recognition and Clustering},\r\n Year = {2015},\r\n Eprint = {arXiv:1503.03832},\r\n Doi = {10.1109/CVPR.2015.7298682},\r\n}\r\n```","links":[{"article_link":"https://soumik12345.github.io/geekyrakshit-blog/computervision/deeplearning/facenet/inception/keras/nearestcelebrityface/python/tensorflow/2019/08/07/nearest-celebrity-face.html","code_link":"https://github.com/soumik12345/Nearest-Celebrity-Face","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2026,"title":"Efficient Serverless Deployment of PyTorch Models on Azure","description":"A tutorial for serving models cost-effectively at scale using Azure Functions and ONNX Runtime.","tags":["article","tutorial","azure","onnx","pytorch","production","serving"],"details":"We will walk through the steps to take a PyTorch model and deploy it into the Azure Functions serverless infrastructure, running the model prediction in the highly efficient ONNX Runtime execution environment. While the steps illustrated below are specific to a model that was built using the popular fast.ai (a convenience library built on PyTorch), the pattern itself is quite generic and can be applied to deploying any PyTorch model.\r\nThe main steps to get your models into production on Azure serverless infrastructure using the ONNX Runtime execution engine (after you have trained your model are):\r\n\r\n1. Export model\r\n1. Test model deployment locally\r\n1. Deploy model to the Azure Functions","links":[{"article_link":"https://medium.com/pytorch/efficient-serverless-deployment-of-pytorch-models-on-azure-dc9c2b6bfee7","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2025,"title":"Haystack \u2014 Neural Question Answering At Scale","description":"\ud83d\udd0d Transformers at scale for question answering & search\r\n\r\n","tags":["article","code","huggingface","transformers","library","natural-language-processing","question-answering","search","elastic-search","scale","haystack"],"details":"### Introduction\r\n\r\nThe performance of **modern Question Answering Models** (BERT, ALBERT ...) has seen drastic improvements within the last year enabling many new opportunities for accessing information more efficiently. However, those models are designed to find answers within rather small text passages. **Haystack lets you scale QA models** to large collections of documents! While QA is the focussed use case for Haystack, we will address further options around neural search in the future (re-ranking, most-similar search ...).\r\n\r\nHaystack is designed in a modular way and lets you use any models trained with [FARM](https://github.com/deepset-ai/FARM) or [Transformers](https://github.com/huggingface/transformers).\r\n\r\n### Core Features\r\n\r\n- **Powerful ML models**: Utilize all latest transformer based models (BERT, ALBERT, RoBERTa ...)\r\n- **Modular & future-proof**: Easily switch to newer models once they get published.\r\n- **Developer friendly**: Easy to debug, extend and modify.\r\n- **Scalable**: Production-ready deployments via Elasticsearch backend & REST API\r\n- **Customizable**: Fine-tune models to your own domain & improve them continuously via user feedback\r\n\r\n### Components\r\n\r\n\r\n\r\n1. **DocumentStore**: Database storing the documents for our search. We recommend Elasticsearch, but have also more light-weight options for fast prototyping (SQL or In-Memory).\r\n2. **Retriever**: Fast, simple algorithm that identifies candidate passages from a large collection of documents. Algorithms include TF-IDF or BM25, custom Elasticsearch queries, and embedding-based approaches. The Retriever helps to narrow down the scope for Reader to smaller units of text where a given question could be answered.\r\n3. **Reader**: Powerful neural model that reads through texts in detail to find an answer. Use diverse models like BERT, RoBERTa or XLNet trained via [FARM](https://github.com/deepset-ai/FARM) or [Transformers](https://github.com/huggingface/transformers) on SQuAD like tasks. The Reader takes multiple passages of text as input and returns top-n answers with corresponding confidence scores. You can just load a pretrained model from [Hugging Face's model hub](https://huggingface.co/models) or fine-tune it to your own domain data.\r\n4. **Finder**: Glues together a Reader and a Retriever as a pipeline to provide an easy-to-use question answering interface.\r\n5. **REST API**: Exposes a simple API for running QA search, collecting feedback and monitoring requests\r\n6. **Haystack Annotate**: Create custom QA labels, [Hosted version](https://annotate.deepset.ai/login) (Beta), Docker images (coming soon)\r\n\r\n### Resources\r\n\r\n- Tutorial 1 - Basic QA Pipeline: [Jupyter notebook](https://github.com/deepset-ai/haystack/blob/master/tutorials/Tutorial1_Basic_QA_Pipeline.ipynb) or [Colab](https://colab.research.google.com/github/deepset-ai/haystack/blob/master/tutorials/Tutorial1_Basic_QA_Pipeline.ipynb)\r\n- Tutorial 2 - Fine-tuning a model on own data: [Jupyter notebook](https://github.com/deepset-ai/haystack/blob/master/tutorials/Tutorial2_Finetune_a_model_on_your_data.ipynb) or [Colab](https://colab.research.google.com/github/deepset-ai/haystack/blob/master/tutorials/Tutorial2_Finetune_a_model_on_your_data.ipynb)\r\n- Tutorial 3 - Basic QA Pipeline without Elasticsearch: [Jupyter notebook](https://github.com/deepset-ai/haystack/blob/master/tutorials/Tutorial3_Basic_QA_Pipeline_without_Elasticsearch.ipynb) or [Colab](https://colab.research.google.com/github/deepset-ai/haystack/blob/master/tutorials/Tutorial3_Basic_QA_Pipeline_without_Elasticsearch.ipynb)\r\n- Tutorial 4 - FAQ-style QA: [Jupyter notebook](https://github.com/deepset-ai/haystack/blob/master/tutorials/Tutorial4_FAQ_style_QA.ipynb) or [Colab](https://colab.research.google.com/github/deepset-ai/haystack/blob/master/tutorials/Tutorial4_FAQ_style_QA.ipynb)\r\n- Tutorial 5 - Evaluation of the whole QA-Pipeline: [Jupyter noteboook](https://github.com/deepset-ai/haystack/blob/master/tutorials/Tutorial5_Evaluation.ipynb) or [Colab](https://colab.research.google.com/github/deepset-ai/haystack/blob/master/tutorials/Tutorial5_Evaluation.ipynb)\r\n- Tutorial 6 - Better Retrievers via \"Dense Passage Retrieval\": [Jupyter noteboook](https://github.com/deepset-ai/haystack/blob/master/tutorials/Tutorial6_Better_Retrieval_via_DPR.ipynb) or [Colab](https://colab.research.google.com/github/deepset-ai/haystack/blob/master/tutorials/Tutorial6_Better_Retrieval_via_DPR.ipynb)","links":[{"article_link":"https://medium.com/deepset-ai/haystack-question-answering-at-scale-c2c980e7c657","code_link":"https://github.com/deepset-ai/haystack","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2024,"title":"DeText: A Deep Neural Text Understanding Framework","description":"DeText: A Deep Neural Text Understanding Framework for Ranking and Classification Tasks.","tags":["code","library","natural-language-processing","natural-language-understanding","detext"],"details":"### What is it\r\n**DeText** is a **De**ep **Text** understanding framework for NLP related ranking, classification, and language generation tasks. It leverages semantic matching using deep neural networks to \r\nunderstand member intents in search and recommender systems. \r\nAs a general NLP framework, currently DeText can be applied to many tasks, \r\nincluding search & recommendation ranking, multi-class classification and query understanding tasks.\r\n\r\n### Highlight\r\nDesign principles for DeText framework:\r\n* Natural language understanding powered by state-of-the-art deep neural networks\r\n * Automatic feature extraction with deep models\r\n * End-to-end training\r\n * Interaction modeling between ranking sources and targets\r\n* A general framework with great flexibility to meet requirement of different production applications.\r\n * Flexible deep model types\r\n * Multiple loss function choices\r\n * User defined source/target fields\r\n * Configurable network structure (layer sizes and #layers)\r\n * Tunable hyperparameters\r\n...\r\n \r\n* Reaching a good balance between effectiveness and efficiency to meet the industry requirements.\r\n\r\n## The framework\r\nThe DeText framework contains multiple components:\r\n\r\n**Word embedding layer**. It converts the sequence of words into a d by n matrix.\r\n\r\n**CNN/BERT/LSTM for text encoding layer**. It takes into the word embedding matrix as input, and maps the text data into a fixed length embedding. It is worth noting that we adopt the representation based methods over the interaction based methods. The main reason is the computational complexity: The time complexity of interaction based methods is at least O(mnd), which is one order higher than the representation based methods max(O(md), O(nd).\r\n\r\n**Interaction layer**. It generates deep features based on the text embeddings. Many options are provided, such as concatenation, cosine similarity, etc.\r\n\r\n**Wide & Deep Feature Processing**. We combine the traditional features with the interaction features (deep features) in a wide & deep fashion.\r\n\r\n**MLP layer**. The MLP layer is to combine wide features and deep features. \r\n\r\nIt is an end-to-end model where all the parameters are jointly updated to optimize the click probability.\r\n\r\n \r\n\r\n### Model Flexibility\r\nDeText is a general ranking framework that offers great flexibility for clients to build customized networks for their own use cases:\r\n\r\n**LTR/classification layer**: in-house LTR loss implementation, or tf-ranking LTR loss, multi-class classification support.\r\n\r\n**MLP layer**: customizable number of layers and number of dimensions.\r\n\r\n**Interaction layer**: support Cosine Similarity, Outer Product, Hadamard Product, and Concatenation.\r\n\r\n**Text embedding layer**: support CNN, BERT, LSTM-Language-Model with customized parameters on filters, layers, dimensions, etc.\r\n\r\n**Continuous feature normalization**: element-wise scaling, value normalization.\r\n\r\n**Categorical feature processing**: modeled as entity embedding.\r\n\r\nAll these can be customized via hyper-parameters in the DeText template. Note that tf-ranking is supported in the DeText framework, i.e., users can choose the LTR loss and metrics defined in DeText.","links":[{"article_link":"","code_link":"https://github.com/linkedin/detext","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2023,"title":"Why You Should Do NLP Beyond English","description":"7000+ languages are spoken around the world but NLP research has mostly focused on English. This post outlines why you should work on languages other than Eng.","tags":["article","natural-language-processing","languages","non-english"],"details":"Natural language processing (NLP) research predominantly focuses on developing methods that work well for English despite the many positive benefits of working on other languages. These benefits range from an outsized societal impact to modelling a wealth of linguistic features to avoiding overfitting as well as interesting challenges for machine learning (ML).","links":[{"article_link":"https://ruder.io/nlp-beyond-english/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2022,"title":"Simple Transformers","description":"Transformers for Classification, NER, QA, Language Modeling, Language Generation, T5, Multi-Modal, and Conversational AI.","tags":["code","transformers","library","language-modeling","multi-modal","named-entity-recognition","natural-language-processing","question-answering","t5","conversational-ai","language-generation"],"details":"This library is based on the [Transformers](https://github.com/huggingface/transformers) library by HuggingFace. Simple Transformers lets you quickly train and evaluate Transformer models. Only 3 lines of code are needed to initialize a model, train the model, and evaluate a model.\r\n\r\nSupports\r\n\r\n- Sequence Classification\r\n- Token Classification (NER)\r\n- Question Answering\r\n- Language Model Fine-Tuning\r\n- Language Model Training\r\n- Language Generation\r\n- T5 Model\r\n- Seq2Seq Tasks\r\n- Multi-Modal Classification\r\n- Conversational AI.\r\n- Text Representation Generation.","links":[{"article_link":"","code_link":"https://github.com/ThilinaRajapakse/simpletransformers","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://simpletransformers.ai/"}]},{"id":2021,"title":"Handling the missing values in Data: The Easy Way","description":"Most of the Machine Learning Algorithms cannot work with missing values in the features. Let's see the possible options we have to deal with it.","tags":["article","code","dataset","tutorial","scikit-learn","missing-data"],"details":"","links":[{"article_link":"https://towardsdatascience.com/handling-the-missing-values-in-data-the-easy-way-9ea5983f8ba4","code_link":"https://github.com/akashp1712/ml-akash/blob/master/Articles/imputer/imputer.py","research_link":"","media_link":"","dataset_link":"https://github.com/akashp1712/ml-akash/blob/master/Articles/imputer/melb_data.csv","demo_link":"","other_link":""}]},{"id":2020,"title":"Text Summarization using TF-IDF Algorithm","description":"This Article explains the TF-IDF algorithm and shows the implemtnation from scratch to summarize the text.","tags":["article","code","natural-language-processing","text-summarization","demo","tf-idf"],"details":"","links":[{"article_link":"https://towardsdatascience.com/text-summarization-using-tf-idf-e64a0644ace3","code_link":"https://github.com/akashp1712/nlp-akash/blob/master/text-summarization/TF_IDF_Summarization.py","research_link":"","media_link":"","dataset_link":"","demo_link":"https://share.streamlit.io/akashp1712/streamlit-apps/main/text_summarization_streamlit.py","other_link":""}]},{"id":2018,"title":"Training CNN with Mixed Precision in PyTorch 1.6","description":"Simple Example on MNIST dataset illustrating Mixed Precision Training.\r\n","tags":["code","tutorial","pytorch","convolutional-neural-networks","deep-learning"],"details":"- Simple Example on MNIST dataset illustrating Mixed Precision Training.\r\n- Demonstrates the new inbuilt Mixed Precision Training. \r\n- Shows tricks like Gradient Penalty, and combining this procedure with normal training.\r\n- Shows how to train EfficientNet with these tricks.","links":[{"article_link":"","code_link":"https://www.kaggle.com/okeaditya/mixed-precision-training-using-pytorch-1-6","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2017,"title":"AutoML clone","description":"AutoMl clone that lets you build and deploy ML models with 0 lines of code","tags":["code","fastai","keras","convolutional-neural-networks","machine-learning","automl","fastap"],"details":"**Objectives**\r\n\r\n* Build and deploy ML model without code\r\n\r\n**Features**\r\n\r\n* Scrap High quality dataset from web\r\n* Edit Datasets\r\n* Train Ml Models\r\n* Test Ml Models\r\n* Deploy ML models\r\n\r\n**Roadmap**\r\n\r\n* Deploy To GCP cloud Functions\r\n* Export to TFlite\r\n* Export to TFjs\r\n* NLP models\r\n","links":[{"article_link":"","code_link":"https://github.com/AbdulRashidReshamwala/TAP_TAP_ML","research_link":"","media_link":"https://youtu.be/jKqy1bwYJN8","dataset_link":"","demo_link":"","other_link":""}]},{"id":2016,"title":"Meme Classifier Using TFlite and flutter","description":"Meme classifier using fine tuned mobilenet. This app showcases how you can perform low latency realtime classification apps using TFlite","tags":["code","video","tensorflow","convolutional-neural-networks","computer-vision","image-classification","transfer-learning","tensorflow-lite","demo"],"details":"**Meme Classifier**\r\n\r\nTechnologies used:\r\n\r\n* TFlite\r\n* keras\r\n* flutter\r\n\r\nObjectives:\r\n\r\n* Showcase transfer learning\r\n* Converting model to tflite format\r\n* Performing On device realtime inference\r\n\r\nNext Steps:\r\n\r\n* Building modular system to download multiple model","links":[{"article_link":"","code_link":"https://github.com/AbdulRashidReshamwala/mobilnet-realtime-detection","research_link":"","media_link":"https://www.youtube.com/watch?v=V_UyfkKM2BY","dataset_link":"","demo_link":"https://github.com/AbdulRashidReshamwala/mobilnet-realtime-detection/blob/master/app.apk","other_link":""}]},{"id":2015,"title":"How to Derive Convolution From First Principles","description":"I derive the convolution from first principles and show that it naturally emerges from translational symmetry.","tags":["article","convolutional-neural-networks"],"details":"**TL;DR**: Have you even wondered what is so special about convolution? In this post, I derive the convolution from first principles and show that it naturally emerges from translational symmetry.\r\n","links":[{"article_link":"https://medium.com/@michael.bronstein/deriving-convolution-from-first-principles-4ff124888028","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2014,"title":"Fourier Feature Mapping Networks","description":"Tensorflow 2.2 implementation of Fourier Feature Mapping Networks ","tags":["code","paper","research","tensorflow","neural-networks","multilayer-perceptrons","fourier-features","arxiv:2006.10739"],"details":"Tensorflow 2.2 implementation of Fourier Feature Mapping networks described in the paper : [Fourier Features Let Networks Learn High Frequency Functions in Low Dimensions](https://arxiv.org/abs/2006.10739). Please check the Github Repository for implementation details and Weights & Biases Reports.","links":[{"article_link":"","code_link":"https://github.com/Samyak2/fourier-dnn.git","research_link":"https://arxiv.org/abs/2006.10739","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2013,"title":"DeepClas4Bio","description":"DeepClas4Bio is a project that aims to facilitate the interoperability of bioimaging tools with deep learning frameworks.","tags":["code","paper","research","computer-vision","image-classification","interoperability","imagej","bioimage"],"details":"","links":[{"article_link":"","code_link":"https://github.com/adines/DeepClas4Bio","research_link":"https://doi.org/10.1016/j.compbiomed.2019.03.026","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2012,"title":"LabelStoma: stomata detection using YOLO","description":"LabelStoma is a graphical image tool for automatically detecting stomata in images. ","tags":["code","research","computer-vision","object-detection"],"details":"","links":[{"article_link":"","code_link":"https://github.com/ancasag/labelStoma","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2011,"title":"UFOD: A Unified Framework for Object Detection","description":"UFOD is an open-source framework that enables the training and comparison of object detection models on custom datasets using different underlying frameworks an","tags":["code","automl","computer-vision","object-detection"],"details":"","links":[{"article_link":"","code_link":"https://github.com/ManuGar/UFOD","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2010,"title":"FrImCla: A framework for image classification","description":"\r\nFrImCla is an open-source framework for Image Classification using traditional and deep learning techniques. It supports a wide variety of deep learning and c","tags":["code","paper","research","computer-vision","image-classification","transfer-learning"],"details":"","links":[{"article_link":"","code_link":"https://github.com/ManuGar/FrImCla","research_link":"https://doi.org/10.1109/ACCESS.2020.2980798","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2009,"title":"ATLASS: AutoML using Transfer and Semi-Supervised Learning","description":"This repository includes the code, application, and notebooks for the work \"AutoML using Transfer and Semi-Supervised Learning\". The tools presented here can be","tags":["code","paper","research","automl","computer-vision","image-classification","semi-supervised-learning","transfer-learning"],"details":"","links":[{"article_link":"","code_link":"https://github.com/adines/ATLASS/","research_link":"https://github.com/adines/ATLASS/blob/master/assets/draft.pdf","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2008,"title":"Extension to block NSFW content using AI","description":"NSFW Filter is an extension that blocks NSFW content from your browser.\r\nIt uses a computer vision model to detect NSFW content and hides it from the user.","tags":["code","javascript","tensorflow","tensorflow-js","convolutional-neural-networks","deep-learning","machine-learning","web-services","computer-vision","transfer-learning","demo"],"details":"[NSFW Filter](https://github.com/navendu-pottekkat/nsfw-filter) is an extension to block NSFW content from your browsers.\r\n\r\nIt uses a Computer Vision-CNN model- to detect NSFW content from web pages and hides them from the user.\r\n\r\nNSFW Filter is completely open-source and it always will be. \r\n\r\nWe are a passionate team of developers from around the World trying to find the solutions for unsolved problems.\r\n\r\nAny contributions to the project can be made through the [GitHub repo](https://github.com/navendu-pottekkat/nsfw-filter).\r\n\r\nYou can share your feedback through our [Slack channel](https://join.slack.com/t/nsfwfilter/shared_invite/zt-gfx0dewg-Hc0~3gu4jXcCDYWQxu3lZA).","links":[{"article_link":"","code_link":"https://github.com/navendu-pottekkat/nsfw-filter","research_link":"","media_link":"","dataset_link":"","demo_link":"https://github.com/navendu-pottekkat/nsfw-filter/blob/master/DEMO.md","other_link":""}]},{"id":2007,"title":"CLoDSA: A Tool for Augmentation in Computer Vision tasks","description":"CLoDSA is an open-source image augmentation library for object classification, localization, detection, semantic segmentation and instance segmentation. It supp","tags":["code","paper","research","library","computer-vision","data-augmentation","object-classification","object-detection","segmentation"],"details":"CLoDSA is an open-source image augmentation library for object classification, localization, detection, semantic segmentation and instance segmentation. It supports a wide variety of augmentation techniques and allows the user to easily combine them. It can also be applied to lists of images like videos or z-stacks. \r\n\r\n#### Notebooks (colab)\r\n\r\n* [Augmenting a dataset for instance segmentation using COCO format](https://colab.research.google.com/github/joheras/CLoDSA/blob/master/notebooks/CLODSA_Instance_Segmentation.ipynb).\r\n* [Augmenting a dataset for detection using COCO format](https://colab.research.google.com/github/joheras/CLoDSA/blob/master/notebooks/CLODSA_COCO_Detection.ipynb).\r\n* [Augmenting a dataset for instance segmentation using COCO format and ignoring some of the classes](https://colab.research.google.com/github/joheras/CLoDSA/blob/master/notebooks/CLODSA_Instance_Segmentation_Ignore_Classes.ipynb).\r\n* [Augmenting a dataset for instance segmentation](https://colab.research.google.com/github/joheras/CLoDSA/blob/master/notebooks/CLODSA_Instance_Segmentation_JSON.ipynb).\r\n* [Augmenting a dataset for semantic segmentation](https://colab.research.google.com/github/joheras/CLoDSA/blob/master/notebooks/CLODSA_Nuclei.ipynb).\r\n* [Augmenting a dataset for object detection](https://colab.research.google.com/github/joheras/CLoDSA/blob/master/notebooks/CLODSA_Plants.ipynb).\r\n* [Augmenting a dataset for object detection using YOLO format](https://colab.research.google.com/github/joheras/CLoDSA/blob/master/notebooks/CLODSA_YOLO.ipynb).\r\n* [Augmenting a dataset for image classification](https://colab.research.google.com/github/joheras/CLoDSA/blob/master/notebooks/CLODSA_Melanoma.ipynb).\r\n* [Online augmentation for image classification using Keras](https://colab.research.google.com/github/joheras/CLoDSA/blob/master/notebooks/CLODSA_Keras.ipynb).\r\n* [Augmenting a dataset for image classification modifying the class](https://colab.research.google.com/github/joheras/CLoDSA/blob/master/notebooks/CLODSA_left_right.ipynb).\r\n* [Augmenting a dataset for video classification of action recognition](https://colab.research.google.com/github/joheras/CLoDSA/blob/master/notebooks/CLODSA_Video_Classification.ipynb).\r\n* [Augmenting a dataset for video detection](https://colab.research.google.com/github/joheras/CLoDSA/blob/master/notebooks/CLODSA_Video_Detection.ipynb).\r\n* [Augmenting a dataset of stacks of images for segmentation](https://colab.research.google.com/github/joheras/CLoDSA/blob/master/notebooks/CLODSA_Stack_Segmentation.ipynb).\r\n","links":[{"article_link":"","code_link":"https://github.com/joheras/clodsa","research_link":"https://bmcbioinformatics.biomedcentral.com/articles/10.1186/s12859-019-2931-1","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2006,"title":"Deep Learning Techniques for NLP in Healthcare","description":"A talk discussing the recent advancements of deep learning to facilitate the adaption of NLP in the healthcare domain.","tags":["tutorial","video","deep-learning","health","natural-language-processing"],"details":"My Talk on recent advancements of Deep learning to facilitate the adaption of NLP in the healthcare domain organized by TensorFlow User Group and MUST Research Club.","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=zCyAbwZk-qM","dataset_link":"","demo_link":"","other_link":"https://drive.google.com/file/d/195Fz8krHwagMNnEwOiMNNViDJ1dIdsWB/view?usp=sharing"}]},{"id":2005,"title":"Social Distance Detection","description":"If people are very close to each other, a red bounding box is displayed around them indicating that they are not maintaining social distance.","tags":["code","tutorial","video","python","computer-vision","opencv","inference","social-distancing"],"details":"1. The camera needs calibration so we can map the pixel distance correctly to the real world distance\r\n2. The code here is quite light weight and could run on an embedded device like\u00a0Jetson TX2\u00a0connected to a camera.\r\n3. If there is a social distancing violation an action can be triggered. ","links":[{"article_link":"","code_link":"https://github.com/swayam01/Social-Distance-Algorithm","research_link":"","media_link":"https://github.com/swayam01/Social-Distance-Algorithm/blob/master/presentation.pptx","dataset_link":"","demo_link":"","other_link":"https://www.youtube.com/watch?v=AiDQQ-GgEQ8&t"}]},{"id":2004,"title":"Cancer Diagnosis using ML Techniques","description":"In this project we will be discussing how to predict the effect of Genetic Variants to enable Personalized Medicine for various types of cancer using ML algos.\r\n","tags":["article","code","dataset","logistic-regression","machine-learning","random-forests","regression","support-vector-machines","k-nearest-neighbors","decision-tree","cancer"],"details":"","links":[{"article_link":"https://medium.com/analytics-vidhya/personalized-cancer-diagnosis-3d6f09a6b8c9","code_link":"https://github.com/tulasiram58827/Cancer-Diagnosis","research_link":"","media_link":"","dataset_link":"https://www.kaggle.com/c/msk-redefining-cancer-treatment/data","demo_link":"","other_link":""}]},{"id":2003,"title":"What's New in PyTorch 1.6","description":"A brief overview of new and interesting features in PyTorch 1.6\r\nIt contains byte-sized and working examples to show these features.","tags":["code","tutorial","pytorch","library"],"details":"Display of new features in PyTorch 1.6\r\n\r\nNotebook displays some of the new features of PyTorch\r\n\r\n1. Mixed Precision Training using `torch.amp`\r\n2. New Model Profiling tool.\r\n3. Graph Quantization Updates.\r\n4. Numeric Suite for Quantization ","links":[{"article_link":"","code_link":"https://www.kaggle.com/okeaditya/what-s-new-in-pytorch-1-6","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2002,"title":"Multi-target in Albumentations","description":"Many images, many masks, bounding boxes, and key points. How to transform them in sync?","tags":["article","library","computer-vision","data-augmentation","image-augmentation","albumentations","multi-target"],"details":"Albumentations work the best with the standard tasks of classification, segmentation, object, and keypoint detection. But there are situations when your samples consist of a set of different objects.\r\n\r\n* Multi-target functionality specifically designed for this situation.\r\n* Possible use cases.\r\n* Siamese networks\r\n* Sequential frames in the video.\r\n* Image2image.\r\n* Multilabel segmentation.\r\n* Instance segmentation.\r\n* Panoptic segmentation.","links":[{"article_link":"https://towardsdatascience.com/multi-target-in-albumentations-16a777e9006e?source=friends_link&sk=8c3579aa48cfea5e5c703bda6fe5451c","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://albumentations.ai/"}]},{"id":2001,"title":"Deep Learning's Most Important Ideas - A Brief Historical Review","description":"Review well-adopted deep learning ideas that have stood the test of time.","tags":["article","deep-learning","history"],"details":"The goal of this post is to review well-adopted ideas that have stood the test of time. I will present a small set of techniques that cover a lot of basic knowledge necessary to understand modern Deep Learning research. If you're new to the field, these are a great starting point.\r\n\r\n","links":[{"article_link":"https://dennybritz.com/blog/deep-learning-most-important-ideas/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":2000,"title":"The Ultimate Guide to the Pandas Library for Data Science in Pyth","description":"The fundamentals of pandas that you can use to build data-driven Python applications today.","tags":["article","tutorial","pandas"],"details":"**Table of contents**:\r\n\r\n* Introduction to Pandas\r\n* Pandas Series\r\n* Pandas DataFrames\r\n* How to Deal With Missing Data in Pandas DataFrames\r\n* The Pandas groupby Method\r\n* What is the Pandas groupby Feature?\r\n* The Pandas concat Method\r\n* The Pandas merge Method\r\n* The Pandas join Method\r\n* Other Common Operations in Pandas\r\n* Local Data Input and Output (I/O) in Pandas\r\n* Remote Data Input and Output (I/O) in Pandas\r\n* Final Thoughts & Special Offer","links":[{"article_link":"https://www.freecodecamp.org/news/the-ultimate-guide-to-the-pandas-library-for-data-science-in-python/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1999,"title":"Small differences in BLEU are meaningless","description":"Only big differences in metric scores are meaningful in MT.","tags":["article","paper","research","language-modeling","metrics","natural-language-processing","bleu","arxiv:2006.06264"],"details":"Small differences in evaluation metrics such as BLEU are probably meaningless. Which is striking since ACL and other \u201cselective\u201d and \u201cprestigious\u201d venues are happy to accept papers on the basis of small improvements in metric scores.","links":[{"article_link":"https://ehudreiter.com/2020/07/28/small-differences-in-bleu-are-meaningless/","code_link":"","research_link":"https://arxiv.org/abs/2006.06264","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1998,"title":"Test Internet Speed using Python","description":"In this article we discuss how to test internet speed using Python as well as covered the features of the speetest-cli library.","tags":["article","tutorial","python","program-development"],"details":"","links":[{"article_link":"In this article we discussed how to test internet speed using Python as well as covered the features of the speetest-cli library and showed how some parameters can be adjusted.","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1997,"title":"Image Classification by @carrycooldude","description":"Image Classification using TFLite and ImageNet by @carrycooldude","tags":["code","dataset","tensorflow","convolutional-neural-networks","computer-vision","image-classification","tensorflow-lite","imagenet"],"details":"**Image Classification using TFLite and ImageNet by @carrycooldude **","links":[{"article_link":"","code_link":"https://github.com/carrycooldude/imageClassification","research_link":"","media_link":"https://drive.google.com/file/d/1Dmuw5kUAX-AsiBWl4N1RpNECgnheKCrK/view?usp=sharing","dataset_link":"http://www.image-net.org/","demo_link":"","other_link":"http://www.image-net.org/"}]},{"id":1996,"title":"Classify Song Genres from Audio Data","description":"My first machine learning project has been uploaded on GitHub.\r\nI started simple with a supervised learning to classify Rock and HipHop songs","tags":["code","dataset","notebook","music","audio","audio-classification","exploratory-data-analysis"],"details":"Objective\r\nUsing a dataset comprised of songs of two music genres (Hip-Hop and Rock),train a classifier to distinguish between the two genres based only on track information derived from Echonest\r\nNext Steps:\r\nA recommendation system for Music\r\n","links":[{"article_link":"","code_link":"https://github.com/OmarEltouny78/SupervisedMusicPrediction/blob/master/notebook.ipynb","research_link":"","media_link":"","dataset_link":"datasets/fma-rock-vs-hiphop.csv","demo_link":"","other_link":""}]},{"id":1995,"title":"Cartoonize your world!","description":"A demo web application to showcase the capability of \"white box cartoonization\" on image and videos.","tags":["code","paper","research","deep-learning","demo","gans","cartoon"],"details":"","links":[{"article_link":"","code_link":"https://github.com/experience-ml/cartoonize","research_link":"https://openaccess.thecvf.com/content_CVPR_2020/papers/Wang_Learning_to_Cartoonize_Using_White-Box_Cartoon_Representations_CVPR_2020_paper.pdf","media_link":"https://youtu.be/GqduSLcmhto","dataset_link":"","demo_link":"https://cartoonize-lkqov62dia-de.a.run.app/","other_link":""}]},{"id":1994,"title":"Understanding the Effectivity of Ensembles in Deep Learning","description":"The report explores the ideas presented in Deep Ensembles: A Loss Landscape Perspective by Stanislav Fort, Huiyi Hu, and Balaji Lakshminarayanan.","tags":["article","code","research","tutorial","deep-learning","neural-networks","computer-vision","wandb","ensembles"],"details":"The report explores the ideas presented in [Deep Ensembles: A Loss Landscape Perspective](https://arxiv.org/abs/1912.02757) by Stanislav Fort, Huiyi Hu, and Balaji Lakshminarayanan.\r\n\r\nIn the paper, the authors investigate the question - ***why deep ensembles work better than single deep neural networks?***\r\n\r\nIn their investigation, the authors figure out:\r\n\r\n- Different snapshots (i.e., model from epoch 1, model from epoch 2, and so on) of the same model exhibit functional similarity. Hence, their ensemble is less likely to explore the different modes of local minima in the optimization space.\r\n- Different solutions of the same model (i.e., trained with different random initializations each time) exhibit functional dissimilarity. Hence, their ensemble is more likely to explore the different modes of local minima in the optimization space.\r\n\r\nAlong with this fascinating finding, they present several different things that are useful to understand the dynamics of deep neural networks in general.\r\n\r\nThanks to Yannic Kilcher for [his amazing explanation video](https://www.youtube.com/watch?v=5IRlUVrEVL8) of the paper which helped us pursue our experiments.\r\n\r\nThanks to Balaji Lakshminarayanan for providing feedback on the initial draft of the report and also for rectifying our mistake on the tSNE projections.","links":[{"article_link":"https://app.wandb.ai/authors/loss-landscape/reports/Understanding-the-effectivity-of-ensembles-in-deep-learning-(tentative)--VmlldzoxODAxNjA","code_link":"https://github.com/ayulockin/LossLandscape","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1993,"title":"Real-time text detection with EAST in TFLite","description":"Demonstrates the conversion process from the original EAST model to TFLite and how to use it on static images and also on real-time video feeds. ","tags":["article","code","notebook","video","tensorflow","computer-vision","object-detection","tflite"],"details":"The real-time results (see [here](https://www.youtube.com/watch?v=CpywwaAmHPs)) are coming from my humble MacBook Air (13 inch 2017) so please excuse the latency there. ","links":[{"article_link":"https://tfhub.dev/sayakpaul/lite-model/east-text-detector/dr/1","code_link":"https://github.com/sayakpaul/Adventures-in-TensorFlow-Lite/blob/master/EAST_TFLite.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://www.youtube.com/watch?v=CpywwaAmHPs"}]},{"id":1992,"title":"Time series forecasting","description":"A thorough introduction to time series forecasting using TensorFlow.","tags":["article","code","notebook","tutorial","keras","tensorflow","forecasting","time-series"],"details":"This tutorial is an introduction to time series forecasting using TensorFlow. It builds a few different styles of models including Convolutional and Recurrent Neural Networks (CNNs and RNNs).\r\n\r\nThis is covered in two main parts, with subsections:\r\n\r\nForecast for a single timestep:\r\n\r\n* A single feature.\r\n* All features.\r\n\r\nForecast multiple steps:\r\n\r\n* Single-shot: Make the predictions all at once.\r\n* Autoregressive: Make one prediction at a time and feed the output back to the model.","links":[{"article_link":"https://www.tensorflow.org/tutorials/structured_data/time_series","code_link":"https://github.com/tensorflow/docs/blob/master/site/en/tutorials/structured_data/time_series.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1991,"title":"2020 Machine Learning Roadmap","description":"A beginner mind map (and presentation) connecting many of the most foundational concepts in machine learning.","tags":["code","tutorial","machine-learning","data-science","beginner","introduction"],"details":"\r\n\r\nA roadmap connecting many of the most important concepts in machine learning, how to learn them and what tools to use to perform them.\r\n\r\nNamely:\r\n\r\n1. \ud83e\udd14 **Machine Learning Problems** - what does a machine learning problem look like?\r\n2. \u267b\ufe0f **Machine Learning Process** - once you\u2019ve found a problem, what steps might you take to solve it?\r\n3. \ud83d\udee0 **Machine Learning Tools** - what should you use to build your solution?\r\n4. \ud83e\uddee **Machine Learning Mathematics** - what exactly is happening under the hood of all the machine learning code you're writing?\r\n5. \ud83d\udcda **Machines Learning Resources** - okay, this is cool, how can I learn all of this?\r\n\r\nSee the [full interactive version](https://dbourke.link/mlmap).\r\n\r\n[Watch a feature-length film video walkthrough](https://youtu.be/pHiMN_gy9mk) (yes, really, it's longer than most movies).\r\n\r\nMany of the materials in this roadmap were inspired by [Daniel Formoso](https://github.com/dformoso)'s [machine learning mindmaps](https://github.com/dformoso/machine-learning-mindmap), so if you enjoyed this one, go and check out his. He also has a mindmap specifically for [deep learning](https://github.com/dformoso/deeplearning-mindmap) too.","links":[{"article_link":"","code_link":"https://github.com/mrdbourke/machine-learning-roadmap","research_link":"","media_link":"https://youtu.be/pHiMN_gy9mk","dataset_link":"","demo_link":"","other_link":"https://dbourke.link/mlmap"}]},{"id":1990,"title":"scikit-learn-lambda","description":"A cost-efficient toolkit for deploying scikit-learn models for realtime HTTP inference on AWS Lambda.","tags":["article","code","aws","scikit-learn","serverless"],"details":"# scikit-learn-lambda\r\n\r\n[](https://app.circleci.com/pipelines/github/model-zoo/scikit-learn-lambda) [](https://badge.fury.io/py/scikit-learn-lambda) [](https://opensource.org/licenses/Apache-2.0)\r\n\r\nscikit-learn-lambda is a toolkit for deploying scikit-learn models for realtime inference on AWS Lambda.\r\n\r\n## Why use scikit-learn-lambda?\r\n\r\n* **Get started quickly** - `scikit-learn-lambda` handles the boilerplate code for you,\r\n simply drop in a `joblib` or `pickle` model file and deploy.\r\n* **Cost efficient** - The equivalent architecture on [AWS\r\n SageMaker](https://aws.amazon.com/sagemaker/) will cost you ~$50 per endpoint per month.\r\n Deploying on AWS Lambda allows you to pay-per-request and not worry about\r\n the number of models you're deploying to production.\r\n* **Built-in autoscaling** - Deploying on [Elastic Container\r\n Service](https://aws.amazon.com/ecs/) or [Kubernetes](https://kubernetes.io/)\r\n requires configuring and maintaining autoscaling groups. AWS Lambda abstracts\r\n this complexity away for you.\r\n\r\nRead more in our blogpost: [Saving 95% on infrastructure costs using AWS Lambda for scikit-learn predictions](https://modelzoo.dev/blog/lambda.html).\r\n\r\n## Overview\r\n\r\nscikit-learn-lambda provides three components:\r\n\r\n1) `scikit-learn-lambda`: A Python package that includes a handler for serving\r\n `scikit-learn` predictions via AWS Lambda, designed for use with API Gateway.\r\n2) A repository of Lambda layers for various versions of Python (3.6 - 3.8)\r\n and `scikit-learn` (0.22+).\r\n3) Example Serverless template configuration for deploying a model to an HTTP\r\n endpoint.\r\n\r\n## Quickstart (Serverless)\r\n\r\nYou have two options for deploying a model with Serverless framework.\r\n\r\n* Package your model as part of the deployment package upload to AWS Lambda.\r\nThis option will require your model file to be under ~50 MB, but achieve the best\r\ncold-start latency.\r\n\r\n* Store your model into Amazon S3 and load it from there on AWS Lambda\r\ninitialization. This option has no model size constraints.\r\n\r\n#### Prerequisites\r\n\r\n* [Install Serverless](https://www.serverless.com/framework/docs/providers/aws/guide/installation/)\r\n* [Configure your AWS credentials](https://www.serverless.com/framework/docs/providers/aws/guide/credentials/)\r\n\r\n#### Package your model with the code (~50 MB limit)\r\n\r\n1) Copy your model joblib file to `scikit-learn-lambda/model.joblib`, the same\r\ndirectory that `serverless.yaml` is in.\r\n\r\n```\r\n$ cp testdata/svm.joblib scikit-learn-lambda/model.joblib\r\n```\r\n\r\n2) Deploy your model with Serverless framework.\r\n\r\n```\r\n$ serverless deploy\r\n```\r\n\r\n3) Test the your endpoint with some example data:\r\n\r\n```\r\n$ curl --header \"Content-Type: application/json\" \\\r\n --request POST \\\r\n --data '{\"input\":[[0, 0, 0, 0]]}' \\\r\n https://.execute-api.us-west-2.amazonaws.com/dev/predict\r\n$ {\"prediction\": [0]}\r\n```\r\n\r\n#### Customize the Python runtime version or scikit-learn version.\r\n\r\nIt is a good idea to match your Python version and scikit-learn version with\r\nthe environment that was used to train and serialize the model.\r\n\r\nThe default template is configured to use *Python 3.7* and *scikit-learn\r\n0.23.1*. To use a different version, change the layer ARN in the serverless\r\ntemplate. We have prebuilt and published a set of AWS Lambda you can get\r\nstarted with quickly. For production usage, we recommend that you use our\r\nprovided scripts to build and host your own AWS Lambda layer -- see\r\n[Layers](#layers).\r\n\r\n```\r\nfunction:\r\n scikitLearnLambda:\r\n ...\r\n layers:\r\n - \"\"\r\n```\r\n\r\nWhen changing the Python runtime version, make sure to also edit the `runtime`\r\nin `serverless`:\r\n\r\n```\r\nprovider:\r\n ...\r\n runtime: \"\"\r\n```\r\n\r\n## Layers\r\n\r\nTo get around a the [50 MB (zipped) deployment package\r\nlimit](https://docs.aws.amazon.com/lambda/latest/dg/gettingstarted-limits.html),\r\nit is useful to create a distinct layer for the `scikit-learn` dependency. This\r\nfrees up more room in your deployment package for your model or other\r\ndependencies.\r\n\r\n`scikit-learn-lambda` comes with a pre-built set of AWS Lambda layers that include\r\n`scikit-learn` and `joblib` that you can use out of the box on `us-west-2`.\r\nThese layers are hosted on the Model Zoo AWS account with public permissions\r\nfor any AWS account to use. We also provide a script `tools/build-layers.sh`\r\nthat allows you to build and upload layers owned by your own AWS account.\r\n\r\n#### Prebuilt Layers\r\n\r\nWe have published a set of layers for combinations of Python 3.6 - 3.8 and\r\nscikit-learn 0.22 - 0.24 to different US regions. These are published to\r\n`layers.csv`:\r\n\r\n[`layers.csv`](https://github.com/model-zoo/scikit-learn-lambda/blob/master/layers.csv)\r\n\r\n#### Build your own layers\r\n\r\n`tools/build-layers.sh` is a bash script that can be used to build one or more\r\nAWS Lambda Layers with the `scikit-learn` and `joblib` dependencies.\r\n\r\n_This script assumes you have jq, Docker, and the AWS cli installed on your machine._\r\n\r\n**Example 1**: Build layer for Python 3.7 and scikit-learn 0.23.0.\r\n\r\n ./build-layers.sh --scikit-learn=0.23.0 --python=3.7\r\n\r\n**Example 2**: Build layer for Python 3.7 and scikit-learn 0.23.0 and\r\npublish to us-west-2.\r\n\r\n ./build-layers.sh --python=3.7 --scikit-learn==0.23.0 --region=us-west-2\r\n\r\n ./build-layers.sh\r\n\r\n## Expected HTTP Schema\r\n\r\n`scikit-learn-lambda` is designed to be used with [Lambda Proxy Integrations in\r\nAPI\r\nGateway](https://docs.aws.amazon.com/apigateway/latest/developerguide/set-up-lambda-proxy-integrations.html).\r\nWhen using the provided serverless template, the HTTP endpoint will expect a\r\nPOST request with a `Content-Type` of `application/json`.\r\n\r\nThe expected input fields are:\r\n\r\n* `input` (`string`): The list of array-like values to predict. The shape\r\n should match the value that is typically fed into a `model.predict` call.\r\n* `return_prediction` (`boolean`): Will return `prediction` in output if true.\r\n This field is optional and defaults to true.\r\n* `return_probabilities` (`boolean`): Will return `probabilities` in output if\r\n true. This field is optional and defaults to false.\r\n\r\nOne of `return_prediction` or `return_probabilities` or both must be true.\r\n\r\nThe return response will be JSON-encoded with the following fields:\r\n\r\n* `prediction`: A list of array-like prediction from `model.predict()`, one for\r\n every sample in the batch. Present if `return_prediction` is true.\r\n* `probabilities`: A list of dictionaries mapping string class names to\r\n probabilities from `model.predict_proba()`, one for every sample in the\r\nbatch. Present if `return_probabilities` is true.\r\n\r\n#### Examples\r\n\r\n```\r\n$ curl --header \"Content-Type: application/json\" \\\r\n --request POST \\\r\n --data '{\"input\":[[0, 0, 0, 0]]}' \\\r\n https://.execute-api.us-west-2.amazonaws.com/mlp-250-250-250/predict\r\n{\"prediction\": [0]}\r\n```\r\n\r\n```\r\n$ curl --header \"Content-Type: application/json\" \\\r\n --request POST \\\r\n --data '{\"input\":[[0, 0, 0, 0]], \"return_probabilities\": true}' \\\r\n https://.execute-api.us-west-2.amazonaws.com/mlp-250-250-250/predict\r\n{\"prediction\": [0], \"probabilities\": [{\"0\": 0.3722170997279803, \"1\": 0.29998954257031885, \"2\": 0.32779335770170076}]}\r\n```\r\n\r\n## Cost Benchmarks\r\n\r\n[https://modelzoo.dev/lambda-vs-sagemaker-cost/](https://modelzoo.dev/lambda-vs-sagemaker-cost/)\r\n\r\nWe've created this interactive visualization to help us understand the cost per month under various usage scenarios. It also includes a comparison to SageMaker inference endpoint costs.","links":[{"article_link":"https://modelzoo.dev/blog/lambda.html","code_link":"https://github.com/model-zoo/scikit-learn-lambda","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1989,"title":"Interpretability in ML: A Broad Overview","description":"An overview of the sub-field of machine learning interpretability, with example models and graphics.","tags":["article","code","machine-learning","interpretability","ai-safety"],"details":"This blog post is my attempt to give an overview of the sub-field of machine learning interpretability. This post isn't comprehensive, but my goal is to review conceptual frameworks, existing research, and future directions. Also features a [GitHub repo](https://github.com/owenshen24/interp-exp) with code used to produce the simple interpretability examples used in the post.","links":[{"article_link":"https://mlu.red/muse/52906366310.html","code_link":"https://github.com/owenshen24/interp-exp","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1988,"title":"Self-Supervised Learning - PyTorch Lightning","description":"This bolts module houses a collection of all self-supervised learning models.","tags":["code","pytorch","library","self-supervised-learning","pytorch-lightning","simclr","contrastive-learning","moco"],"details":"This bolts module houses a collection of all self-supervised learning models.\r\n\r\nSelf-supervised learning extracts representations of an input by solving a pretext task. In this package, we implement many of the current state-of-the-art self-supervised algorithms.\r\n\r\nSelf-supervised models are trained with unlabeled datasets","links":[{"article_link":"","code_link":"https://pytorch-lightning-bolts.readthedocs.io/en/latest/self_supervised_models.html","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1987,"title":"SimCLR in Keras","description":"Tensorflow-Keras Implementation of SimCLR","tags":["code","dataset","paper","research","keras","tensorflow","self-supervised-learning","simclr","contrastive-learning","demo","arxiv:2002.05709","keras-models","t-sne"],"details":"A Tensorflow-Keras Implementation of SimCLRv1 which allows to improve the feature representation quality of your base_model by the means of the Simple Framework for Contrastive Learning of Visual Representations (SimCLR). The provided code should allow to apply the framework to any Keras model with only minor changes.\r\n\r\n\r\n\r\nThe given implementation allowed for an top-1 accuracy increase of 17% on the linear classifier trained, with 5% of the data. Furthermore, the t-SNE plot demonstrates a clear clustering of the features according to their class, after training with the SimCLR framework.","links":[{"article_link":"","code_link":"https://github.com/mwdhont/SimCLRv1-keras-tensorflow","research_link":"https://arxiv.org/abs/2002.05709","media_link":"","dataset_link":"https://github.com/garythung/trashnet","demo_link":"https://drive.google.com/file/d/1Npf8sE0dlyV0-SAISnsrGsJBjRDZM-EQ/view?usp=sharing","other_link":""}]},{"id":1986,"title":"Behavioral Testing of NLP models with CheckList","description":"An overview of the \u201cCheckList\u201d framework for fine-grained evaluation of NLP models","tags":["article","tutorial","natural-language-processing","nlp"],"details":"- Understand how you can evaluate NLP models beyond just performance metrics\r\n- Understand \"CheckList\" framework and how you can write blackbox tests to know exactly where your NLP model is weak and where it's strong\r\n- Be familiar with a suite of linguistic capability tests for NLP models","links":[{"article_link":"https://amitness.com/2020/07/checklist/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1985,"title":"Temporal Graph Networks","description":"In this post, we describe Temporal Graph Network, a generic framework for deep learning on dynamic graphs.","tags":["article","code","paper","research","tutorial","graph-neural-networks","graphs","temporal-graph-networks","arxiv:2006.10637"],"details":"Many real-world problems involving networks of transactions of various nature and social interactions and engagements are dynamic and can be modelled as graphs where nodes and edges appear over time. In this post, we describe Temporal Graph Network, a generic framework for deep learning on dynamic graphs.\r\n\r\nIn a nutshell, a TGN encoder acts by creating compressed representations of the nodes based on their interactions and updates them upon each event. To accomplish this, a TGN has the following main components: memory, message function, memory updater, embedding.","links":[{"article_link":"https://towardsdatascience.com/temporal-graph-networks-ab8f327f2efe","code_link":"https://github.com/twitter-research/tgn","research_link":"https://arxiv.org/abs/2006.10637","media_link":"","dataset_link":"","demo_link":"","other_link":"https://ogb.stanford.edu/docs/team/"}]},{"id":1984,"title":"How GPT3 Works - Visualizations and Animations","description":"A compilation of my threads explaining GPT3. ","tags":["article","tutorial","gpt","transformers","natural-language-processing","illustrated","gpt-3"],"details":"How GPT3 works. A visual thread.\r\n\r\nA trained language model generates text.\r\n\r\nWe can optionally pass it some text as input, which influences its output. \r\n\r\nThe output is generated from what the model \"learned\" during its training period where it scanned vast amounts of text.","links":[{"article_link":"https://jalammar.github.io/how-gpt3-works-visualizations-animations/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1983,"title":"CoreML Model Zoo","description":"Collection of unified and converted pre-trained models.","tags":["code","coreml","library","computer-vision","image-classification","object-detection","pretraining","model-hub"],"details":"This is a collection of Machine Learning models converted into the CoreML framework. These models can run on Apple devices under one of the following operating systems: iOS, macOS, tvOS, watchOS.\r\n\r\nAll the models in the repo:\r\n\r\n* have pre-trained weights\r\n* are intended mainly for inference\r\n* are optimized for mobile devices","links":[{"article_link":"","code_link":"https://github.com/vladimir-chernykh/coreml-model-zoo","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1982,"title":"AutoQP: Genetic Programming for Quantum Programing","description":"Automatically writing of quantum code using genetic programming. This code is the actual implementation of research AutoQP.","tags":["code","paper","research","genetic-algorithm","qiskit","quantum-computing","ibm-quantum-computers"],"details":"","links":[{"article_link":"","code_link":"https://github.com/usamaahsan93/AutoQP","research_link":"https://ieeexplore.ieee.org/document/9044554/","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1981,"title":"Deploying FastAPI app to Heroku","description":"A detailed walkthrough on Creating a simple FastAPI app and deploying it to Heroku.","tags":["article","code","tutorial","fastapi","python","devops","heroku","demo"],"details":"A detailed walkthrough on Creating a simple FastAPI app and deploying it to Heroku.","links":[{"article_link":"https://www.tutlinks.com/create-and-deploy-fastapi-app-to-heroku/","code_link":"https://github.com/windson/fastapi/tree/fastapi-deploy-heroku","research_link":"","media_link":"https://youtu.be/H7zAJf20Moc","dataset_link":"","demo_link":"https://youtu.be/H7zAJf20Moc","other_link":""}]},{"id":1980,"title":"Understanding & Implementing SimCLR - an ELI5 guide","description":"I explain the SimCLR and its contrastive loss function step by step, build image embeddings and then show how to use them to train image classifier on top.","tags":["article","code","dataset","notebook","tutorial","pytorch","deep-learning","computer-vision","embeddings","self-supervised-learning","unsupervised-learning","simclr"],"details":"I explore SimCLR pre-training framework proposed by Google in arXiv:2002.05709 paper. I explain the SimCLR and its contrastive loss function step by step, starting from naive implementation followed by faster, vectorized one. Then I show how to use SimCLR\u2019s pretraining routine to first build image embeddings using EfficientNet network architecture and finally how to build classifier on top of it.\r\n\r\nThis post covers:\r\n\r\n* understanding the SimCLR framework\r\n* from scratch explanation & implementation of SimCLR\u2019s loss function (NT-Xent) in PyTorch\r\n* pre-training image embeddings using EfficientNet architecture\r\n* training classifier by using transfer learning from the pre-trained embeddings","links":[{"article_link":"https://zablo.net/blog/post/understanding-implementing-simclr-guide-eli5-pytorch/","code_link":"https://github.com/marrrcin/pytorch-simclr-efficientnet","research_link":"","media_link":"","dataset_link":"https://ai.stanford.edu/~acoates/stl10/","demo_link":"","other_link":""}]},{"id":1978,"title":"How to Set Up a Python Project For Automation and Collaboration","description":"How to set up a Python repo with unit tests, code coverage, lint checking, type checking, Makefile wrapper, and automated build with GitHub Actions.","tags":["article","code","tutorial","git","python","unit-tests","testing"],"details":"As your Python project gets larger in scope, it can become difficult to manage.\r\n\r\n* How can we automate checks (e.g., unit testing, type-checking, linting)?\r\n* How can we minimise collaboration overhead (e.g., code reviews, consistency)?\r\n* How can we maximise developer experience by adding the least extra steps?\r\n\r\nIn this article, I\u2019ll share an approach that works well for me. When we\u2019re done, we\u2019ll have an automated workflow of:\r\n\r\n* Units tests\r\n* Coverage reports\r\n* Lint checks\r\n* Type checks \r\n* Run in local with a single command (make check)\r\n* Run on remote repository with each git push","links":[{"article_link":"https://eugeneyan.com/writing/setting-up-python-project-for-automation-and-collaboration/","code_link":"https://github.com/eugeneyan/python-collab-template/","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1977,"title":"LabelDetection: simplifying the use and construction of deep dete","description":"LabelDetection is a graphical tool that aims to facilitate all the steps required in the pipeline to construct and use a deep-learning base object detection mod","tags":["code","notebook","annotation","computer-vision","object-detection"],"details":"","links":[{"article_link":"","code_link":"https://github.com/ancasag/LabelDetection","research_link":"","media_link":"https://youtu.be/Lqf-IH1CaBE","dataset_link":"","demo_link":"","other_link":""}]},{"id":1976,"title":"Close-Domain fine-tuning for table detection","description":"In this project, we show the benefits of using models trained on a close domain, using the TableBank dataset, for fine-tuning table detection models. In additio","tags":["code","paper","research","computer-vision","object-detection","arxiv:1912.05846"],"details":"","links":[{"article_link":"","code_link":"https://github.com/holms-ur/fine-tuning","research_link":"https://arxiv.org/abs/1912.05846","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1975,"title":"Ensemble methods for object detection","description":"In this repository, we provide the code for ensembling the output of object detection models, and applying test-time augmentation for object detection. This lib","tags":["code","paper","research","deep-learning","library","computer-vision","object-detection"],"details":"","links":[{"article_link":"","code_link":"https://github.com/ancasag/ensembleObjectDetection","research_link":"https://drive.google.com/file/d/1ku8X8lHs6lethEa5Adhj7frzV44NTbl4/view?usp=sharing","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1974,"title":"How to Set Up a HTML App with FastAPI, Jinja, Forms & Templates","description":"I couldn\u2019t find any guides on how to serve HTML with FastAPI. Thus, I wrote this simple article to plug the hole on the internet.","tags":["article","code","tutorial","fastapi","html","jinja","templates"],"details":"I usually use Flask to build and deploy REST/web apps. Flask is simple to use and apps are easy to spin up with minimal code. Today, I decided to try FastAPI for my new web app, inspired by @tiangolo\u2019s recent talk.\r\n\r\nThe switch was easier than expected. FastAPI has great documentation and this article by @amitness was useful. Nonetheless, I couldn\u2019t find any guides on how to serve HTML with FastAPI. Thus, I wrote this simple article to plug the hole on the internet.","links":[{"article_link":"https://eugeneyan.com/writing/how-to-set-up-html-app-with-fastapi-jinja-forms-templates/","code_link":"https://github.com/eugeneyan/fastapi-html","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1973,"title":"PyGLN: Gated Linear Network implementations (NumPy, PT/TF, JAX)","description":"Gated Linear Network implementations for NumPy, PyTorch, TensorFlow and JAX.","tags":["article","code","paper","research","jax","pytorch","tensorflow","library","gated-linear-networks","arxiv:1910.01526"],"details":"This paper presents a new family of backpropagation-free neural architectures, Gated Linear Networks (GLNs). What distinguishes GLNs from contemporary neural networks is the distributed and local nature of their credit assignment mechanism; each neuron directly predicts the target, forgoing the ability to learn feature representations in favor of rapid online learning. Individual neurons can model nonlinear functions via the use of data-dependent gating in conjunction with online convex optimization. We show that this architecture gives rise to universal learning capabilities in the limit, with effective model capacity increasing as a function of network size in a manner comparable with deep ReLU networks. Furthermore, we demonstrate that the GLN learning mechanism possesses extraordinary resilience to catastrophic forgetting, performing comparably to a MLP with dropout and Elastic Weight Consolidation on standard benchmarks. These desirable theoretical and empirical properties position GLNs as a complementary technique to contemporary offline deep learning methods.","links":[{"article_link":"https://aiwabdn.github.io/pygln/","code_link":"https://github.com/aiwabdn/pygln","research_link":"https://arxiv.org/abs/1910.01526","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1972,"title":"Evolution of Representations in the Transformer","description":"The evolution of representations of individual tokens in Transformers trained with different training objectives (MT, LM, MLM - BERT-style).","tags":["article","paper","research","tutorial","attention","bert","transformers","language-modeling","natural-language-processing","representation-learning","representations","arxiv:1909.01380"],"details":"We look at the evolution of representations of individual tokens in Transformers trained with different training objectives (MT, LM, MLM - BERT-style) from the Information Bottleneck perspective and show, that:\r\n\r\n* LMs gradually forget past when forming predictions about future;\r\n* for MLMs, the evolution proceeds in two stages of context encoding and token reconstruction;\r\n* MT representations get refined with context, but less processing is happening.","links":[{"article_link":"https://lena-voita.github.io/posts/emnlp19_evolution.html","code_link":"","research_link":"https://arxiv.org/abs/1909.01380","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1971,"title":"Attention based YOLO: Object Detection","description":"An easy to follow, YOLO implementation with keras lib. Used a attention based architecture to extract more fine grained information about object.","tags":["code","keras","tensorflow","attention","computer-vision","object-detection","yolo"],"details":"To extract the fine grained information of the object such as boundaries, background etc this project use the spatial and channel wise attention on top of a simple pre-trained model with in the YOLO framework.","links":[{"article_link":"","code_link":"https://github.com/ankishb/MLProjects/tree/master/simple-conditional-object-detection","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://github.com/experiencor/keras-yolo2"}]},{"id":1970,"title":"Shortcuts: How Neural Networks Love to Cheat","description":"Neural Nets can often succeed on datasets, while failing to actually do the intended task. How?","tags":["article","neural-networks","memorization"],"details":"Concept of \"Shortcuts\" as a unifying way of thinking about such failures. Shortcut learning accounts for some of the most iconic differences between current ML models and human intelligence - but ironically, it is exactly this preference for \u201ccheating\u201d that can make neural networks seem almost human: Who has never cut corners by memorizing exam material, instead of investing time to truly understand? Who has never tried to find a loophole in a regulation, instead of adhering to its spirit? In the end, neural networks perhaps aren\u2019t that different from (lazy) humans after all ...","links":[{"article_link":"https://thegradient.pub/shortcuts-neural-networks-love-to-cheat/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1969,"title":"Pydeck","description":"Large-scale interactive data visualization in Python","tags":["code","library","visualization","pydeck"],"details":"The pydeck library is a set of Python bindings for making spatial visualizations with deck.gl, optimized for a Jupyter environment. \r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/visgl/deck.gl/tree/master/bindings/pydeck","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://pydeck.gl/"}]},{"id":1968,"title":"Sentiment Analysis With Transformers","description":"Sentiment analysis neural network trained by fine-tuning BERT, ALBERT, or DistilBERT on the Stanford Sentiment Treebank.","tags":["code","tutorial","attention","bert","transformers","natural-language-processing","sentiment-analysis","stanford-sentiment-treebank"],"details":"Sentiment analysis neural network trained by fine-tuning BERT, ALBERT, or DistilBERT on the Stanford Sentiment Treebank.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/barissayil/SentimentAnalysis","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1967,"title":"AutoGOAL","description":"A Python framework for Automated Machine Learning (AutoML), hyperparameter tunning and program synthesis in general.","tags":["article","code","paper","research","python","deep-learning","machine-learning","regression","library","automl","computer-vision","image-classification","natural-language-processing","streamlit","demo","tabular"],"details":"AutoGOAL is a Python library for automatically finding the best way to solve a given task. It has been designed mainly for Automated Machine Learning (aka AutoML) but it can be used in any scenario where you have several possible ways to solve a given task.\r\n\r\nTechnically speaking, AutoGOAL is a framework for program synthesis, i.e., finding the best program to solve a given problem, provided that the user can describe the space of all possible programs. AutoGOAL provides a set of low-level components to define different spaces and efficiently search in them. In the specific context of machine learning, AutoGOAL also provides high-level components that can be used as a black-box in almost any type of problem and dataset format.\r\n\r\nOverall architecture of the AutoGOAL framework:\r\n\r\n","links":[{"article_link":"https://dev.to/apiad/introduction-to-automated-machine-learning-in-python-with-autogoal-45n4","code_link":"https://github.com/autogoal/autogoal","research_link":"https://www.automl.org/wp-content/uploads/2020/07/AutoML_2020_paper_20.pdf","media_link":"","dataset_link":"","demo_link":"https://autogoal.github.io/demo","other_link":"https://autogoal.github.io"}]},{"id":1966,"title":"Experimental Exploratory Data Analysis for a Classification Task","description":"Expand the traditional EDA in a wider pipeline looking for the impact of each action into the behaviour of models. Exploratory Data & Models Analysis","tags":["article","code","tutorial","logistic-regression","machine-learning","neural-networks","random-forests","regression","classification","gradient-boosting","decision-tree","exploratory-data-analysis"],"details":"","links":[{"article_link":"https://data-service-alliance.ch/about-us/blog/blog/an-experimental-exploratory-data-analysis-for-a-classification-task-pre-conference-workshop-25-06-2020","code_link":"https://github.com/claudio1975/SDS2020","research_link":"","media_link":"https://github.com/claudio1975/SDS2020/blob/master/EEDA_Presentation.pptx","dataset_link":"","demo_link":"","other_link":""}]},{"id":1965,"title":"model-logger","description":"Model-Logger is a Python library for storing model's profile and rapid inter model comparison.","tags":["code","notebook","library","experiment-tracking","logging","model-comparison","model-logger"],"details":"model-logger is a Python library for storing model's profile and rapid inter model comparision. Powered by dash and SQLITE3, It's compact ,light weight ,interactive yet powerful tool to gain useful insights.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/SohamPathak/modellogger.github.io","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://colab.research.google.com/github/SohamPathak/modellogger.github.io/blob/master/assets/sample/model-logger.ipynb"}]},{"id":1964,"title":"MLOps Tutorial Series","description":"How to create an automatic model training & testing setup using GitHub Actions and Continuous Machine Learning (CML).","tags":["code","tutorial","video","production","github-actions","ml-ops","cml","ci-cd"],"details":"Learn how to use one of the most powerful ideas from the DevOps revolution, continuous integration, in your data science and machine learning projects. This hands-on tutorial shows you how to create an automatic model training & testing setup using GitHub Actions and Continuous Machine Learning (CML), two free and open-source tools in the Git ecosystem. Designed for total beginners!\r\n\r\n1. [Intro to Continuous Integration for ML](https://www.youtube.com/watch?v=9BgIDqAzfuA)\r\n2. [When data is too big for Git](https://www.youtube.com/watch?v=kZKAuShWF0s)\r\n3. [Track ML models with Git & GitHub Actions](https://www.youtube.com/watch?v=xPncjKH6SPk)\r\n4. [GitHub Actions with your own GPUs](https://www.youtube.com/watch?v=rVq-SCNyxVc)\r\n\r\n**Using CML with DVC**\r\n\r\nIn many ML projects, data isn't stored in a Git repository and needs to be downloaded from external sources. DVC is a common way to bring data to your CML runner. DVC also lets you visualize how metrics differ between commits to make reports like this:\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/andronovhopf/wine","research_link":"","media_link":"https://www.youtube.com/watch?v=9BgIDqAzfuA&list=PL7WG7YrwYcnDBDuCkFbcyjnZQrdskFsBz","dataset_link":"","demo_link":"","other_link":"https://github.com/iterative/cml"}]},{"id":1963,"title":"Modern Data Augmentation Techniques for Computer Vision","description":"A bunch of modern data augmentation techniques for computer vision covering cutout, mixup, cutmix and augmix.","tags":["article","code","research","tutorial","data-augmentation","wandb","cutout","mixup","cutmix","augmix","model-robustness"],"details":"Here is a quick outline of what you should expect from this report:\r\n\r\n1. Theoretical know-how of some modern data augmentations along with there implementations in TensorFlow 2.x.\r\n2. Some interesting ablation studies.\r\n3. Comparative study between these techniques.\r\n4. Benchmarking of models trained with the augmentations techniques on the CIFAR-10-C dataset.\r\n\r\n\r\n","links":[{"article_link":"https://app.wandb.ai/authors/tfaugmentation/reports/Modern-Data-Augmentation-Techniques-for-Computer-Vision--VmlldzoxODA3NTQ","code_link":"https://github.com/ayulockin/DataAugmentationTF","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1962,"title":"3D Image Inpainting Report","description":"In this report, I introduce some key components of the 3D Photography using Context-aware Layered Depth Inpainting paper and look at stunning 3D images.","tags":["article","code","paper","research","wandb","inpainting","3d-image-inpainting"],"details":"","links":[{"article_link":"https://app.wandb.ai/authors/3D-Inpainting/reports/3D-Image-Inpainting--VmlldzoxNzIwNTY","code_link":"https://github.com/ayulockin/3d-photo-inpainting","research_link":"https://shihmengli.github.io/3D-Photo-Inpainting/","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1961,"title":"Python Template for All Projects","description":"A template that gives the batteries required to package code, CI checks, auto build and deploy docs, easy PyPi publishing support and docker files.","tags":["code","docker","python","library","devops","mlops","ci-cd"],"details":"#### Why this project ?\r\n\r\n- Most people find it hard to package their python code and do not know how to set up the repository for it.\r\n- If the repository is setup in a wrong way, it would become hard to package and deploy the code later on as well.\r\n- This serves as a template to quickly have these things setup in your repository. \r\n- Machine Learning projects created from this template can easily be deployed and shipped. It becomes hassle free and easy to debug too.\r\n\r\n### Features: -\r\n1. Black code format check.\r\n2. CI CD tests for Python Packaging.\r\n3. PyPI release tests and release.\r\n4. Automatic Doc building and generation.\r\n\r\nBuild your code and project with confidence right from the first commit.\r\n\r\nSimplifies the tasks of taking code from project to production. Use the template and start building great stuff !!!\r\n\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/oke-aditya/template_python","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://oke-aditya.github.io/template_python/"}]},{"id":1960,"title":"Deploy Machine Learning Models with Django","description":"This web service makes Machine Learning models available with REST API. It is different from most of the tutorials available on the internet.","tags":["api","code","tutorial","django","machine-learning"],"details":"This web service makes Machine Learning models available with REST API. It is different from most of the tutorials available on the internet:\r\n\r\n- it keeps information about many ML models in the web service. There can be several ML models available at the same endpoint with different versions. What is more, there can be many endpoint addresses defined.\r\n- it stores information about requests sent to the ML models, this can be used later for model testing and audit.\r\n- it has tests for ML code and server code,\r\n- it can run A/B tests between different versions of ML models.","links":[{"article_link":"","code_link":"https://github.com/pplonski/my_ml_service","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://www.deploymachinelearning.com/"}]},{"id":1959,"title":"TeachEasy: Web app for Text Summarization & Q/A generation","description":"An intuitive Streamlit based web app for Text Summarization and Question Answer generation so as to reduce the work for School teachers.","tags":["code","natural-language-processing","paraphrase-identification","question-answering","question-generation","text-summarization","streamlit"],"details":"TeachEasy helps in Summarization of a given Text paragraph covering all the important data present in the text. Moreover, it also offers you to generate new Questions from the text with option of paraphrasing the questions. \r\nAnswers of the generated as well as externally asked questions are also generated. \r\n\r\n**Input**: A paragraph from which you want the Questions and Summarization.\r\n\r\n**Usage areas**: TeachEasy can be really helpful for School Teachers in preparing the Question Papers and maintaining summary notes of the Chapters in Online teaching classes.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/parthplc/TeachEasy","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1958,"title":"Automated Machine Learning","description":"\u2728 Automated Machine Learning Python package designed to save time for a data scientist \ud83d\ude0e ","tags":["code","machine-learning","library"],"details":"The mljar-supervised is an Automated Machine Learning Python package that works with tabular data. It is designed to save time for a data scientist sunglasses. It abstracts the common way to preprocess the data, construct the machine learning models, and perform hyper-parameters tuning to find the best model trophy. It is no black-box as you can see exactly how the ML pipeline is constructed (with a detailed Markdown report for each ML model).","links":[{"article_link":"","code_link":"https://github.com/mljar/mljar-supervised","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1957,"title":"The Beginner's Guide to Dimensionality Reduction","description":"Explore the methods that data scientists use to visualize high-dimensional data.","tags":["code","tutorial","dimensionality-reduction","tsne","principal-component-analysis","interactive","umap"],"details":"This guide will teach you how to think about these embeddings, and provide a comparison of some of the most popular dimensionality reduction algorithms used today.","links":[{"article_link":"","code_link":"https://github.com/mathisonian/dimensionality-reduction","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://idyll.pub/post/dimensionality-reduction-293e465c2a3443e8941b016d/"}]},{"id":1956,"title":"Video Prediction using ConvLSTM Autoencoder (PyTorch)","description":"A simple implementation of the Convolutional-LSTM model.","tags":["article","tutorial","pytorch","autoencoders","convolutional-neural-networks","lstm","pytorch-lightning","video-prediction"],"details":"In this guide, I will show you how to code a ConvLSTM autoencoder (seq2seq) model for frame prediction using the MovingMNIST dataset. This framework can easily be extended for any other dataset as long as it complies with the standard pytorch Dataset configuration.","links":[{"article_link":"https://holmdk.github.io/2020/04/02/video_prediction.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1955,"title":"Shape and Viewpoint without Keypoints","description":"Recover the 3D shape, pose and texture from a single image, trained on an image collection without any ground truth 3D shape, multi-view, camera viewpoints.","tags":["article","code","paper","research","3d","computer-vision","unsupervised-learning","pascal-3d","arxiv:2007.10982"],"details":"We present a learning framework that learns to recover the 3D shape, pose and texture from a single image, trained on an image collection without any ground truth 3D shape, multi-view, camera viewpoints or keypoint supervision. We approach this highly under-constrained problem in a \"analysis by synthesis\" framework where the goal is to predict the likely shape, texture and camera viewpoint that could produce the image with various learned category-specific priors. Our particular contribution in this paper is a representation of the distribution over cameras, which we call \"camera-multiplex\". Instead of picking a point estimate, we maintain a set of camera hypotheses that are optimized during training to best explain the image given the current shape and texture. We call our approach Unsupervised Category-Specific Mesh Reconstruction (U-CMR), and present qualitative and quantitative results on CUB, Pascal 3D and new web-scraped datasets. We obtain state-of-the-art camera prediction results and show that we can learn to predict diverse shapes and textures across objects using an image collection without any keypoint annotations or 3D ground truth.\r\n\r\n\r\n","links":[{"article_link":"https://shubham-goel.github.io/ucmr/","code_link":"https://github.com/shubham-goel/ucmr","research_link":"https://arxiv.org/abs/2007.10982","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1954,"title":"Azure ML","description":"MLOps using Azure ML.","tags":["code","azure","library","mlops","serving","ci-cd"],"details":"MLOps empowers data scientists and app developers to help bring ML models to production. MLOps enables you to track / version / audit / certify / re-use every asset in your ML lifecycle and provides orchestration services to streamline managing this lifecycle.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/microsoft/MLOps","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1953,"title":"BentoML","description":"BentoML is an open-source framework for high-performance ML model serving.","tags":["code","library","production","serving","bentoml","ci-cd"],"details":"What does BentoML do?\r\n\r\n* Create API endpoint serving trained models with just a few lines of code\r\n* Support all major machine learning training frameworks\r\n* High-Performance online API serving with adaptive micro-batching support\r\n* Model Registry for teams, providing Web UI dashboard and CLI/API access\r\n* Flexible deployment orchestration with DevOps best practices baked-in, supporting Docker, Kubernetes, Kubeflow, Knative, AWS Lambda, SageMaker, Azure ML, GCP and more.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/bentoml/BentoML","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://docs.bentoml.org/en/latest/"}]},{"id":1952,"title":"TensorFlow Serving","description":"A flexible, high-performance serving system for machine learning models, designed for production environments. ","tags":["code","tensorflow","library","production","serving","tensorflow-serving"],"details":"### Servables\r\n\r\nServables are the central abstraction in TensorFlow Serving. They are the underlying objects that clients use to perform computation (for example, a lookup or inference).\r\n\r\nThe size and granularity of a Servable is flexible. A single Servable might include anything from a single shard of a lookup table to a single model to a tuple of inference models. Servables can be of any type and interface, enabling flexibility and future improvements such as:\r\n\r\n* streaming results\r\n* experimental APIs\r\n* asynchronous modes of operation\r\n* Servables do not manage their own lifecycle","links":[{"article_link":"","code_link":"https://www.tensorflow.org/tfx/tutorials/serving/rest_simple","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://www.tensorflow.org/tfx/guide/serving"}]},{"id":1951,"title":"Audio and Speech Pre-trained Models","description":"A collection of Audio and Speech pre-trained models.\r\n\r\n","tags":["code","library","audio","speech","speech-recognition","pretraining","model-hub"],"details":"A pre-trained model is a model created by some one else to solve a similar problem. Instead of building a model from scratch to solve a similar problem, we can use the model trained on other problem as a starting point. A pre-trained model may not be 100% accurate in your application.\r\n\r\n#### TensorFlow\r\n\r\n* [**Wavenet**]( https://github.com/ibab/tensorflow-wavenet) - This is a TensorFlow implementation of the WaveNet generative neural network architecture for audio generation.\r\n* [**Lip Reading**]( https://github.com/astorfi/lip-reading-deeplearning) - Cross Audio-Visual Recognition using 3D Architectures in TensorFlow\r\n* [**MusicGenreClassification**]( https://github.com/mlachmish/MusicGenreClassification) - Academic research in the field of Deep Learning (Deep Neural Networks) and Sound Processing, Tel Aviv University. \r\n* [**Audioset**](https://github.com/tensorflow/models/tree/master/research/audioset) - Models and supporting code for use with AudioSet. \r\n* [**DeepSpeech**]( https://github.com/tensorflow/models/tree/master/research/deep_speech) - Automatic speech recognition.\r\n\r\n\r\n#### Keras\r\n\r\n* [**Ultrasound nerve segmentation**]( https://github.com/jocicmarko/ultrasound-nerve-segmentation) - This tutorial shows how to use Keras library to build deep neural network for ultrasound image nerve segmentation.\r\n\r\n#### PyTorch\r\n\r\n* [**espnet**]( https://github.com/espnet/espnet) - End-to-End Speech Processing Toolkit espnet.github.io/espnet \r\n* [**TTS**]( https://github.com/mozilla/TTS) - Deep learning for Text2Speech\r\n* [**Neural Sequence labeling model**]( https://github.com/jiesutd/NCRFpp) - Sequence labeling models are quite popular in many NLP tasks, such as Named Entity Recognition (NER), part-of-speech (POS) tagging and word segmentation.\r\n* [**waveglow**]( https://github.com/NVIDIA/waveglow) - A Flow-based Generative Network for Speech Synthesis.\r\n* [**deepvoice3_pytorch**]( https://github.com/r9y9/deepvoice3_pytorch) - PyTorch implementation of convolutional networks-based text-to-speech synthesis models.\r\n* [**deepspeech2**]( https://github.com/SeanNaren/deepspeech.pytorch) - Implementation of DeepSpeech2 using Baidu Warp-CTC. Creates a network based on the DeepSpeech2 architecture, trained with the CTC activation function.\r\n* [**loop**]( https://github.com/facebookarchive/loop) - A method to generate speech across multiple speakers.\r\n* [**audio**]( https://github.com/pytorch/audio) | Simple audio I/O for pytorch. \r\n* [**speech**]( https://github.com/awni/speech) - PyTorch ASR Implementation.\r\n* [**samplernn-pytorch**]( https://github.com/deepsound-project/samplernn-pytorch) - PyTorch implementation of SampleRNN: An Unconditional End-to-End Neural Audio Generation Model.\r\n* [**torch_waveglow**]( https://github.com/npuichigo/waveglow) - A PyTorch implementation of the WaveGlow: A Flow-based Generative Network for Speech Synthesis.\r\n","links":[{"article_link":"","code_link":"https://github.com/balavenkatesh3322/audio-pretrained-model","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1950,"title":"GPT-3: A Hitchhiker's Guide","description":"Post to guide your thinking on GPT-3.","tags":["article","gpt","transformers","language-modeling","natural-language-processing","gpt-3"],"details":"* Give you a glance into how the A.I. research community is thinking about GPT-3.\r\n* Provide short summaries of the best technical write-ups on GPT-3.\r\n* Provide a list of the best video explanations of GPT-3.\r\n* Show some cool demos by people with early beta access to the GPT-3 API.","links":[{"article_link":"https://lambdalabs.com/blog/gpt-3/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1949,"title":"Phonet","description":"Keras-based python framework to compute phonological posterior probabilities from audio files.","tags":["article","code","paper","research","keras","pytorch","healthcare","speech","phoneme-recognition"],"details":"This toolkit compute posteriors probabilities of phonological classes from audio files for several groups of phonemes according to the mode and manner of articulation.","links":[{"article_link":"https://www.isca-speech.org/archive/Interspeech_2019/abstracts/1405.html","code_link":"https://github.com/jcvasquezc/phonet","research_link":"https://www.isca-speech.org/archive/Interspeech_2019/pdfs/1405.pdf","media_link":"https://jcvasquezc.github.io/publication/vasquez-2019-phonet/poster.pdf","dataset_link":"","demo_link":"","other_link":"https://phonet.readthedocs.io/en/latest/?badge=latest"}]},{"id":1948,"title":"Explore new Github README feature","description":"Simple tutorial to get a cool README on GitHub profile.","tags":["article","code","tutorial","git"],"details":"","links":[{"article_link":"https://towardsdatascience.com/explore-new-github-readme-feature-7d5cc21bf02f","code_link":"https://github.com/pr2tik1/pr2tik1","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1945,"title":"Pandera","description":"A flexible and expressive pandas data validation library.","tags":["code","library","pandas","testing","data-validation","schema","validation"],"details":"pandas data structures contain information that pandera explicitly validates at runtime. This is useful in production-critical or reproducible research settings. With pandera, you can:\r\n\r\n1. Check the types and properties of columns in a DataFrame or values in a Series.\r\n1. Perform more complex statistical validation like hypothesis testing.\r\n1. Seamlessly integrate with existing data analysis/processing pipelines via function decorators.\r\n\r\n\r\npandera provides a flexible and expressive API for performing data validation on tidy (long-form) and wide data to make data processing pipelines more readable and robust.","links":[{"article_link":"","code_link":"https://github.com/pandera-dev/pandera","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://pandera.readthedocs.io/"}]},{"id":1944,"title":"Learning Perturbation Sets for Robust Machine Learning","description":"Using generative modeling to capture real-world transformations from data for adversarial robustness.","tags":["article","code","paper","research","adversarial-robustness","enerative-modeling","perturbation-sets","arxiv:2007.08450"],"details":"In this blog post, we explain how our work in learning perturbation sets can bridge the gap between \u2113p adversarial defenses and adversarial robustness to real-world transformations.\r\n\r\nOne of the core tenents of making machine learning models that are robust to adversarial attacks is to define the threat model that contains all possible perturbations, which is critical for performing a proper robustness evaluation. However, well-defined threat models are have been largely limited to mathematically nice sets that can be described a priori, such as the Lp ball or Wasserstein metric, whereas many real-world transformations may be impossible to define mathematically. This work aims to bridge this gap, by learning perturbation sets as being generated from an Lp ball in an underlying latent space. This simple characterization of a perturbation set allows us to leverage state of the art approaches in adversarial training directly in the latent space, while at the same time capturing complex real-world perturbations.","links":[{"article_link":"https://locuslab.github.io/2020-07-20-perturbation/","code_link":"https://github.com/locuslab/perturbation_learning","research_link":"https://arxiv.org/abs/2007.08450","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1943,"title":"Do we Need Deep Graph Neural Networks?","description":"Does depth in graph neural network architectures bring any advantage?","tags":["article","tutorial","graph-neural-networks","graphs","depth"],"details":"One of the hallmarks of deep learning was the use of neural networks with tens or even hundreds of layers. In stark contrast, most of the architectures used in graph deep learning are shallow with just a handful of layers. In this post, I raise a heretical question: does depth in graph neural network architectures bring any advantage?\r\n\r\n**TL;DR**: We need to do carefully designed specific experiments in order to better understand whether or when depth is useful in deep learning on graphs.","links":[{"article_link":"https://towardsdatascience.com/do-we-need-deep-graph-neural-networks-be62d3ec5c59","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1942,"title":"Unsupervised Learning of Visual Features by Contrasting Clusters","description":"We use a swapped prediction mechanism where we predict the cluster assignment of a view from the representation of another view.","tags":["article","code","paper","research","unsupervised-learning","contrasting-cluster-assignments","swav","arxiv:2006.09882"],"details":"SwAV is an efficient and simple method for pre-training convnets without using annotations. Similarly to contrastive approaches, SwAV learns representations by comparing transformations of an image, but unlike contrastive methods, it does not require to compute feature pairwise comparisons. It makes our framework more efficient since it does not require a large memory bank or an auxiliary momentum network. Specifically, our method simultaneously clusters the data while enforcing consistency between cluster assignments produced for different augmentations (or \u201cviews\u201d) of the same image, instead of comparing features directly. Simply put, we use a \u201cswapped\u201d prediction mechanism where we predict the cluster assignment of a view from the representation of another view. Our method can be trained with large and small batches and can scale to unlimited amounts of data.\r\n","links":[{"article_link":"https://ai.facebook.com/blog/high-performance-self-supervised-image-classification-with-contrastive-clustering/","code_link":"https://github.com/facebookresearch/swav","research_link":"https://arxiv.org/abs/2006.09882","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1941,"title":"My Artificial Intelligence Bookmarks","description":"A curated list of my reads, implementations, and core concepts of Artificial Intelligence, Deep Learning, Machine Learning by best folk in the world.","tags":["article","code","research","tutorial","python","deep-learning","machine-learning","neural-networks","library","natural-language-processing","datascience","conversational-ai","algorithms","maths","awesome-list"],"details":"A curated list of my reads, implementations, and core concepts of Artificial Intelligence, Deep Learning, Machine Learning by best folk in the world.\r\n\r\n\ud83c\udf89\ud83c\udf89\ud83c\udf89 Creating more structured view on [Notion](https://www.notion.so/neutralspaceai/5117196b7c64485cad28b10a10d591c0?v=831d7a547cca4d3fad4695549f7fe4b4)\r\n","links":[{"article_link":"https://www.notion.so/neutralspaceai/5117196b7c64485cad28b10a10d591c0?v=831d7a547cca4d3fad4695549f7fe4b4","code_link":"https://github.com/goodrahstar/my-awesome-AI-bookmarks","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1940,"title":"Change Detection using Siamese networks","description":"The blog is a primer on Siamese Networks and how they're used for observing change in satellite images over time, or observing facial changes as people age","tags":["article","pytorch","contrastive-loss","convolutional-neural-networks","deep-learning","siamese-networks","computer-vision"],"details":"The blog coverts change detection in a very simple and inclusive way, trying to explain concepts visually. It talks about what properties are desirable in a Change Detection model pipeline, how Siamese Networks fulfill them, how they're trained with the Contrastive Loss function and how they're better than the alternative Early Fusion networks.","links":[{"article_link":"https://towardsdatascience.com/change-detection-using-siamese-networks-fc2935fff82?source=friends_link&sk=076f551d50a7d979acff05c97ec12e4d","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1939,"title":"Breaking down the CTC Loss","description":"This article breaks down the inner workings of the CTC loss computation using the forward-backward algorithm.","tags":["article","tutorial","ctc-loss","ctc","connectionist-temporal-classification"],"details":"The Connectionist Temporal Classification is a type of scoring function for the output of neural networks where the input sequence may not align with the output sequence at every timestep. It was first introduced in the paper by Alex Graves et al for labelling unsegmented phoneme sequence. It has been successfully applied in other classification tasks such as speech recognition, keyword spotting, handwriting recognition, video description. These tasks require alignment between the input and output which may not be given. Therefore, it has become an ubiquitous loss for tasks requiring dynamic alignment of input to output.","links":[{"article_link":"https://ogunlao.github.io/blog/2020/07/17/breaking-down-ctc-loss.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1938,"title":"Rasa NLU Examples","description":"Experimental components for Rasa NLU pipelines. ","tags":["article","code","library","natural-language-processing","natural-language-understanding"],"details":"Contains extra features for your Rasa pipelines like FastText and BytePair Embeddings. ","links":[{"article_link":"https://rasahq.github.io/rasa-nlu-examples/","code_link":"https://github.com/RasaHQ/rasa-nlu-examples/","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1937,"title":"FairLearn","description":"Scikit-Learn compatible toolkit to assess and improve the fairness of machine learning models.","tags":["article","code","library","fairness","bias"],"details":"Fairlearn provides developers and data scientists with capabilities to assess the fairness of their machine learning models and mitigate unfairness. Assess existing models and train new models with fairness in mind. Compare models and make trade-offs between fairness and model performance.\r\n\r\nThe Fairlearn Python package has two components:\r\n\r\n* A dashboard for assessing which groups are negatively impacted by a model, and for comparing multiple models in terms of various fairness and accuracy metrics.\r\n\r\n* Algorithms for mitigating unfairness in a variety of AI tasks and along a variety of fairness definitions.","links":[{"article_link":"https://fairlearn.github.io/","code_link":"https://github.com/fairlearn/fairlearn","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://fairlearn.github.io/api_reference/fairlearn.metrics.html"}]},{"id":1936,"title":"Vanilla Gan implementation from paper","description":"This is a pytorch implementation of vanilla Gan from its research paper","tags":["article","code","notebook","paper","research","pytorch","generative-adversarial-networks","unsupervised-learning","arxiv:1406.2661"],"details":"","links":[{"article_link":"https://towardsdatascience.com/converting-deep-learning-research-papers-to-code-f-f38bbd87352f","code_link":"https://github.com/bipinKrishnan/Paper2Code_vanillaGAN/blob/master/GAN_from_scratch.ipynb","research_link":"https://arxiv.org/abs/1406.2661","media_link":"https://youtu.be/eyxmSmjmNS0","dataset_link":"","demo_link":"","other_link":""}]},{"id":1935,"title":"Integrated Gradients in TensorFlow 2","description":"In this tutorial, you will walk through an implementation of IG step-by-step in TensorFlow 2 to understand the pixel feature importances of an image classifier.","tags":["article","code","tutorial","tensorflow","computer-vision","image-classification","interpretability"],"details":"This tutorial demonstrates how to implement Integrated Gradients (IG), an Explainable AI technique introduced in the paper Axiomatic Attribution for Deep Networks. IG aims to explain the relationship between a model's predictions in terms of its features. It has many use cases including understanding feature importances, identifying data skew, and debugging model performance.\r\n\r\nIG has become a popular interpretability technique due to its broad applicability to any differentiable model (e.g. images, text, structured data), ease of implementation, theoretical justifications, and computational efficiency relative to alternative approaches that allows it to scale to large networks and feature spaces such as images.\r\n\r\nIn this tutorial, you will walk through an implementation of IG step-by-step to understand the pixel feature importances of an image classifier. As an example, consider this image of a fireboat spraying jets of water. You would classify this image as a fireboat and might highlight the pixels making up the boat and water cannons as being important to your decision. Your model will also classify this image as a fireboat later on in this tutorial; however, does it highlight the same pixels as important when explaining its decision?\r\n\r\nIn the images below titled \"IG Attribution Mask\" and \"Original + IG Mask Overlay\" you can see that your model instead highlights (in purple) the pixels comprising the boat's water cannons and jets of water as being more important than the boat itself to its decision. How will your model generalize to new fireboats? What about fireboats without water jets? Read on to learn more about how IG works and how to apply IG to your models to better understand the relationship between their predictions and underlying features.","links":[{"article_link":"https://blog.tensorflow.org/2020/06/responsible-ai-with-tensorflow.html","code_link":"https://github.com/GoogleCloudPlatform/training-data-analyst/tree/master/blogs/integrated_gradients","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://www.tensorflow.org/tutorials/interpretability/integrated_gradients"}]},{"id":1934,"title":"Graphein","description":"Protein Graph Library","tags":["code","paper","research","health","library","graph-neural-networks","graphs","protein","geometric-deep-learning","bioinformatics","protein-structure","protein-graph-library"],"details":"This package provides functionality for producing a number of types of graph-based representations of proteins. We provide compatibility with standard formats, as well as graph objects designed for ease of use with popular deep learning libraries.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/a-r-j/graphein","research_link":"https://www.biorxiv.org/content/10.1101/2020.07.15.204701v1","media_link":"","dataset_link":"","demo_link":"","other_link":"https://graphein-graphein.readthedocs-hosted.com/en/latest/"}]},{"id":1933,"title":"TurboTransformers","description":"A fast and user-friendly runtime for transformer inference on CPU and GPU.","tags":["code","transformers","library","natural-language-processing","inference","turbotransformers"],"details":"Transformer is the most critical algorithm innovation in the NLP field in recent years. It brings higher model accuracy while introduces more calculations. The efficient deployment of online Transformer-based services faces enormous challenges. In order to make the costly Transformer online service more efficient, the WeChat AI open-sourced a Transformer inference acceleration tool called TurboTransformers, which has the following characteristics.\r\n\r\n1. Supporting both Transformers Encoder and Decoder.\r\n1. Excellent CPU / GPU performance. For Intel multi-core CPU and NVIDIA GPU hardware platforms, TurboTransformers can fully utilize all levels of computing power of the hardware. It has achieved better performance over pytorch / tensorflow and current mainstream optimization engines (such as onnxruntime-mkldnn / onnxruntime-gpu, torch JIT, NVIDIA faster transformers) on a variety of CPU and GPU hardware. See the detailed benchmark results below.\r\n1. Tailored to the characteristics of NLP inference tasks. Unlike the CV task, the input dimensions of the NLP inference task always change. The traditional approach is zero padding or truncation to a fixed length, which introduces additional zero padding computational overhead. Besides, some frameworks such as onnxruntime, tensorRT, and torchlib need to preprocess the compuatation-graph according to the input size in advance for the best performance, which is not suitable for NLP tasks with varying sizes. TurboTransformers can support variable-length input sequence processing without preprocessing.\r\n1. A simpler method of use. TurboTransformers supports python and C++ interface for calling. It can be used as an acceleration plug-in for pytorch. In the Transformer task, the end-to-end acceleration effect obtained by adding a few lines of python code.","links":[{"article_link":"","code_link":"https://github.com/Tencent/TurboTransformers","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1932,"title":"Transfer Learning using Adversarially Robust ImageNet Models","description":"We explore adversarial robustness as an avenue for training computer vision models with more transferrable features.","tags":["article","code","paper","research","transfer-learning","adversarial-learning","imagenet","arxiv:2007.08489"],"details":"","links":[{"article_link":"https://gradientscience.org/transfer-learning/","code_link":"https://github.com/microsoft/robust-models-transfer","research_link":"https://arxiv.org/abs/2007.08489","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1931,"title":"Path Explain","description":"A toolkit for explaining feature attributions and feature interactions in deep neural networks.\r\n\r\n","tags":["article","code","paper","research","library","interpretability","integrated-gradients","expected-gradients","path-explain","integrated-hessians","arxiv:2002.04138"],"details":"This repository contains tools to interpret and explain machine learning models using [Integrated Gradients](https://arxiv.org/abs/1703.01365) and [Expected Gradients](https://arxiv.org/abs/1906.10670). In addition, it contains code to explain _interactions_ in deep networks using Integrated Hessians and Expected Hessians - methods that we introduced in our most recent paper: [Explaining Explanations: Axiomatic Feature Interactions for Deep Networks](https://arxiv.org/abs/2002.04138).","links":[{"article_link":"https://jjanizek.github.io/post/integrated_hessians/","code_link":"https://github.com/suinleelab/path_explain","research_link":"https://arxiv.org/abs/2002.04138","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1930,"title":"GeoTorch","description":"A library for constrained optimization and manifold optimization for deep learning in PyTorch","tags":["code","pytorch","library","optimization","manifold-optimization","geotorch"],"details":"GeoTorch provides a simple way to perform constrained optimization and optimization on manifolds in PyTorch. It is compatible out of the box with any optimizer, layer, and model implemented in PyTorch without having to reimplement the layers or optimizers and without any kind of boilerplate in the training code.","links":[{"article_link":"","code_link":"https://github.com/Lezcano/geotorch","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://geotorch.readthedocs.io/en/latest/"}]},{"id":1929,"title":"Structured Self Attention","description":"Implementation for the paper A Structured Self-Attentive Sentence Embedding (https://arxiv.org/abs/1703.03130 ). Model interpretability / explainability.","tags":["code","paper","research","pytorch","attention","deep-learning","machine-learning","recurrent-neural-networks","self-attention","embeddings","interpretability","natural-language-processing","text-classification","arxiv:1703.03130"],"details":"Implementation for the paper A Structured Self-Attentive Sentence Embedding . Usage of 2 dimensional sentence embeddings for model interpretations.","links":[{"article_link":"","code_link":"https://github.com/kaushalshetty/Structured-Self-Attention","research_link":"https://arxiv.org/abs/1703.03130","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1928,"title":"SDEC-AD for Semantic Frame Induction","description":"Code for LREC 2020 Paper \"Semi-supervised Deep Embedded Clustering with Anomaly Detection for Semantic Frame Induction\"","tags":["code","paper","research","library","semi-supervised-learning","deep-clustering","framenet"],"details":"**Paper Abstract**\r\n\r\nAlthough FrameNet is recognized as one of the most fine-grained lexical databases, its coverage of lexical units is still limited. To tackle this issue, we propose a two-step frame induction process: for a set of lexical units not yet present in Berkeley FrameNet data release 1.7, first remove those that cannot fit into any existing semantic frame in FrameNet; then, assign the remaining lexical units to their correct frames. We also present the Semi-supervised Deep Embedded Clustering with Anomaly Detection (SDEC-AD) model\u2014an algorithm that maps high-dimensional contextualized vector representations of lexical units to a low-dimensional latent space for better frame prediction and uses reconstruction error to identify lexical units that cannot evoke frames in FrameNet. SDEC-AD outperforms the state-of-the-art methods in both steps of the frame induction process. Empirical results also show that definitions provide contextual information for representing and characterizing the frame membership of lexical units.","links":[{"article_link":"","code_link":"https://github.com/yongzx/Semi-supervised-Deep-Embedded-Clustering-with-Anomaly-Detection-for-Semantic-Frame-Induction","research_link":"https://www.aclweb.org/anthology/2020.lrec-1.431.pdf","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1927,"title":"ECG arrhythmia classification using a convolutional neural net","description":"This is an implementation of the paper on ECG arrhythmia classification https://arxiv.org/pdf/1804.06812.pdf.","tags":["article","code","keras","artificial-general-intelligence","convolutional-neural-networks","deep-learning","neural-networks","health","healthcare","computer-vision"],"details":"","links":[{"article_link":"https://medium.com/datadriveninvestor/ecg-arrhythmia-classification-using-a-2-d-convolutional-neural-network-33aa586bad67","code_link":"https://github.com/ankur219/ECG-Arrhythmia-classification","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1926,"title":"Keras Implementation of Semi-supervised Deep Embedded Clustering","description":"Keras Implementation of Semi-supervised Deep Embedded Clustering (Ren et al., 2019)","tags":["code","dataset","paper","research","semi-supervised-learning","deep-clustering"],"details":"The codes are adapted from the [DEC Implementation in Keras](https://github.com/fferroni/DEC-Keras). The dataset used is MNIST.","links":[{"article_link":"","code_link":"https://github.com/yongzx/SDEC-Keras","research_link":"https://www.sciencedirect.com/science/article/abs/pii/S0925231218312049","media_link":"","dataset_link":"https://keras.io/api/datasets/mnist/","demo_link":"","other_link":""}]},{"id":1925,"title":"PyTorch Implementation of PaletteNet","description":"PyTorch implementation of PaletteNet: Image Recolorization with Given Color Palette (Cho et al., 2017).","tags":["code","paper","research","library","computer-vision","style-transfer"],"details":"PaletteNet recolors an image according to a given target color\r\npalette that is useful to express the color concept of an image. PaletteNet takes two inputs: a source image to be recolored and a target palette. PaletteNet is then designed to change the color concept of a source image so that the palette of the output image is close to the target palette.","links":[{"article_link":"","code_link":"https://github.com/yongzx/PaletteNet-PyTorch","research_link":"https://openaccess.thecvf.com/content_cvpr_2017_workshops/w12/papers/Cho_PaletteNet_Image_Recolorization_CVPR_2017_paper.pdf","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1924,"title":"Why is it Important to Monitor Machine Learning Models?","description":"The importance of monitoring and how monitoring ML is different from application performance management (APM).","tags":["article","tutorial","production","monitoring"],"details":"- **Part 1**: [Why is it Important to Monitor Machine Learning Models?](https://mlinproduction.com/why-is-it-important-to-monitor-machine-learning-models/)\r\n- **Part 2**: [Lessons Learned from 15 Years of Monitoring Machine Learning in Production](https://mlinproduction.com/lessons-learned-from-15-years-of-monitoring-machine-learning-in-production/)\r\n","links":[{"article_link":"https://mlinproduction.com/why-is-it-important-to-monitor-machine-learning-models/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://mlinproduction.com/lessons-learned-from-15-years-of-monitoring-machine-learning-in-production/"}]},{"id":1923,"title":"PyTorch Geometric Temporal","description":"A Temporal Extension Library for PyTorch Geometric ","tags":["code","python","pytorch","torch","deep-learning","graph-convolutional-networks","library","graph-neural-networks","graphs","representation-learning"],"details":"**[Documentation](https://pytorch-geometric-temporal.readthedocs.io)** | **[External Resources](https://pytorch-geometric-temporal.readthedocs.io/en/latest/notes/resources.html)**\r\n\r\n**Methods Included**\r\n\r\nIn detail, the following temporal graph neural networks were implemented.\r\n\r\n\r\n**Stacked Discrete Temporal Graph Convolutions**\r\n\r\n* **[GConvGRU](https://pytorch-geometric-temporal.readthedocs.io/en/latest/modules/root.html#torch_geometric_temporal.nn.conv.gconv_gru.GConvGRU)** from Seo *et al.*: [Structured Sequence Modeling with Graph Convolutional Recurrent Networks](https://arxiv.org/abs/1612.07659) (ICONIP 2018)\r\n\r\n* **[GConvLSTM](https://pytorch-geometric-temporal.readthedocs.io/en/latest/modules/root.html#torch_geometric_temporal.nn.conv.gconv_lstm.GConvLSTM)** from Seo *et al.*: [Structured Sequence Modeling with Graph Convolutional Recurrent Networks](https://arxiv.org/abs/1612.07659) (ICONIP 2018)\r\n\r\n**Integrated Discrete Temporal Graph Convolutions**\r\n\r\n* **[GC-LSTM](https://pytorch-geometric-temporal.readthedocs.io/en/latest/modules/root.html#torch_geometric_temporal.nn.conv.gc_lstm.GCLSTM)** from Chen *et al.*: [GC-LSTM: Graph Convolution Embedded LSTM for Dynamic Link Prediction](https://arxiv.org/abs/1812.04206) (CoRR 2018)\r\n\r\n* **[LRGCN](https://pytorch-geometric-temporal.readthedocs.io/en/latest/modules/root.html#torch_geometric_temporal.nn.conv.lrgcn.LRGCN)** from Li *et al.*: [Predicting Path Failure In Time-Evolving Graphs](https://arxiv.org/abs/1905.03994) (KDD 2019)\r\n","links":[{"article_link":"","code_link":"https://github.com/benedekrozemberczki/pytorch_geometric_temporal","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://pytorch-geometric-temporal.readthedocs.io/"}]},{"id":1922,"title":"Optimize Ridge Regression Regularizers","description":"Use an optimizer to efficiently find the parameters that maximize ridge regression's performance on a leave-one-out or generalized cross-validation","tags":["article","code","linear-regression","regression","regularization","ridge-regression","cross-validation"],"details":"This project optimizes ridge regression's regularization parameters for a leave-one-out or generalized cross-validation by turning parameter selection into a second-order optimization problem.\r\n\r\nUnlike grid-based searching, the project computes not just cross-validation values, but also derivatives with respect to regularizers. This enables it to quickly ascend to the best performing parameters.\r\n\r\nBy framing regularization as second-order optimization, the project is able to fit not just the common single-regularizer parameterization of ridge regression\r\n\r\n\r\n\r\nbut is also able to fit multi-regularizer parameterizations.\r\n\r\n\r\n\r\nThe math behind the approach is outlined in these blog posts\r\n\r\n* [How to Do Ridge Regression Better](https://towardsdatascience.com/how-to-do-ridge-regression-better-34ecb6ee3b12)\r\n* [What Form of Cross-Validation Should You Use](https://medium.com/p/what-form-of-cross-validation-should-you-use-76aaecc45c75?source=email-f55ad0a8217--writer.postDistributed&sk=a63ac2a04e49a12e7aa4c12a75b18502)","links":[{"article_link":"https://towardsdatascience.com/how-to-do-ridge-regression-better-34ecb6ee3b12","code_link":"https://github.com/rnburn/peak-engines","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1921,"title":"NSFW Image Moderation Admin App with ReactJS","description":"A fully-functional NSFW Admin Application for simplified image classification & moderation built with Node.js, TensorFlow.js, and React","tags":["article","code","tutorial","node-js","react","tensorflow","tensorflow-js","convolutional-neural-networks","library","adversarial-image-detection","computer-vision","image-classification","image-recognition","object-detection","pretraining","open-source","adversarial-learning","models","demo","nsfw","content-moderation","nsfw-detection","nsfw-classifier","parse-server","ready-to-use"],"details":"It's been an exciting journey building an open-source Content Moderation Service from scratch and sharing the experience with you! Today, we put the cherry on top with our final tutorial of this series, where we'll add a **[beautiful Admin Panel](https://bit.ly/39e8PiU) to complete the solution.**\r\n\r\n## [Part 3: ReactJS NSFW Image Moderation Admin App](https://bit.ly/3jkovWx)\r\nTo prove that even most boring tasks can be completed with finesse we've combined the Image Classification REST API and the Automation Engine with an [exquisite ReactJS Admin Application interface](https://bit.ly/3jotzco). Now, **Content Moderation gets as easy as swiping left and right**!\r\n\r\n## What's Next?\r\nSolving the NSFW Image Classification & Moderation challenge was only the first step towards our end goal -** bringing Machine Learning closer to single developers and teams of all sizes by making it affordable and accessible.** Next, we've planned on tackling another aspect of Content Moderation - **detecting Text Toxicity** in some of the most common use cases like product reviews, chats, comments moderation, and more. Stay tuned!\r\n\r\n## Give Us a Shout!\r\nWhether you deploy directly, integrate, or fork our solution if you liked what we did and found it useful, don't forget to give us a shout on [Twitter](https://twitter.com/sashidoio?lang=en) and share the resources. Thank you in advance for the support! \r\n\r\n## Your Feedback Matters!\r\nHelp us in our mission to break the barrier to Machine Learning by sharing your feedback and use cases at hello@sashido.io.\r\n\r\nP.S. *Feel free to take advantage of SashiDo's extended [45-day free trial](https://bit.ly/2BfuKK2), no credit card required. Valid until 1st of Sep, 2020*","links":[{"article_link":"https://bit.ly/3jkovWx","code_link":"https://bit.ly/3jotzco","research_link":"","media_link":"https://bit.ly/2ZLav09","dataset_link":"","demo_link":"https://bit.ly/39e8PiU","other_link":"https://bit.ly/2BlhQdG"}]},{"id":1920,"title":"ML-Ai community Projects","description":"ml-ai.in","tags":["code","research","machine-learning","data-science"],"details":"ML-Ai community believes in Unity is the strength. We are living in an era of Machine Learning/Artificial Intelligence revolution where world is focusing on building smart solutions to solve both solved and unsolved problems. ML-Ai community believes, we can make future bright by focusing on two things.\r\n\r\nResearch We observed the industry is far behind the academic research hence it takes a lot time to make use of academic research. Few of the times, academic research adoption takes more time because of multiple constraints like worth in the market/marker demand etc but many time we are not able to utilize the full potential because of less common platforms between industry researchers and academic researchers. ML-Ai is designed to work as bridge between academic researchers and industry.\r\nMaking People Smart ML-Ai community will have people from beginner to experts and objective will be to cross learn and lead to better future. ML-Ai Experts will act like a Professor to other people in the community. Professors will help others in their projects, doing code reviews helping them with right researcher papers.","links":[{"article_link":"","code_link":"https://github.com/ML-AI-Community/ml-ai","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1919,"title":"Dframcy","description":"DframCy is a light-weight utility module to integrate Pandas Dataframe to spaCy's linguistic annotation and training tasks.","tags":["code","spacy","library","training","natural-language-processing","data-science"],"details":"","links":[{"article_link":"","code_link":"https://github.com/yash1994/dframcy","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1918,"title":"Spacy-Go","description":"spacy-go is Golang interface for accessing linguistic annotations provided by spaCy using Google's gRPC. This module only supports basic functionalities like lo","tags":["code","go","python","spacy","natural-language-processing"],"details":"","links":[{"article_link":"","code_link":"https://github.com/yash1994/spacy-go","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1917,"title":"Python Deep Learning Projects","description":"This is the code repository for Python Deep Learning Projects book, published by Packt.","tags":["article","code","tutorial","python","deep-learning","computer-vision","natural-language-processing","reinforcement-learning"],"details":"14 projects demystifying neural network and deep learning models for building intelligent systems\r\n\r\n### Table of content \r\n\r\n**SECTION I \u2013 Python deep learning : building the foundation** \r\n\r\n* Chapter 1 : Building Deep Learning Environment\r\n* Chapter 2 : Training NN for Prediction using Regression\r\n\r\n**SECTION II \u2013 Python deep learning \u2013 NLP** \r\n\r\n* Chapter 3 : Word representation using word2vec\r\n* Chapter 4 : Build NLP pipeline for building chatbots\r\n* Chapter 5 : Sequence-to-sequence models for building chatbots\r\n* Chapter 6 : Generative Language Model for Content Creation\r\n* Chapter 7 : Building Speech Recognition with DeepSpeech2 \r\n\r\n\r\n**SECTION II \u2013 Python deep learning \u2013 Computer Vision**\r\n\r\n* Chapter 8 : Handwritten Digits Classification Using ConvNets\r\n* Chapter 9 : Object Detection using OpenCV and TensorFlow\r\n* Chapter 10 : Building Face Recognition using Facenet\r\n* Chapter 11 : Automated Image Captioning\r\n* Chapter 12 : Pose Estimation on 3D models using ConvNets\r\n* Chapter 13 : Image translation using GANs for style transfer\r\n\r\n\r\n** SECTION III \u2013 Python deep learning \u2013 Reinforcement Learning **\r\n\r\n* Chapter 14 : Develop an Autonomous Agents with Deep R Learning\r\n\r\n","links":[{"article_link":"https://www.packtpub.com/big-data-and-business-intelligence/python-deep-learning-projects?utm_source=github&utm_medium=repository&utm_campaign=9781788997096","code_link":"https://github.com/goodrahstar/Python-Deep-Learning-Projects","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1916,"title":"How to Stop Worrying About Compositionality","description":"Review the tenets of compositionality, and to highlight how each theory has evolved to match particular theoretical positions about the nature of language.","tags":["article","language-modeling","natural-language-processing","compositionality"],"details":"* language is innate; \r\n* natural languages are formal languages; \r\n* language is inseparable from context.","links":[{"article_link":"https://thegradient.pub/how-to-stop-worrying-about-compositionality-2/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1915,"title":"Elegy","description":"A Keras-like Deep Learning framework based on Jax + Haiku.","tags":["article","code","jax","keras","library","haiku"],"details":"Elegy implements the Keras API but makes changes to play better with Jax & Haiku and give more flexibility around losses and metrics (more on this soon). Elegy is still in a very early stage, feel free to test it and send us your feedback!\r\n\r\n**Main Features**\r\n\r\n* Familiar: Elegy should feel very familiar to Keras users.\r\n* Flexible: Elegy improves upon the basic Keras API by letting users optionally take more control over the definition of losses and metrics.\r\n* Easy-to-use: Elegy maintains all the simplicity and ease of use that Keras brings with it.\r\n* Compatible: Elegy strives to be compatible with the rest of the Jax and Haiku ecosystem.\r\n\r\nFor more information take a look at the [Documentation](https://poets-ai.github.io/elegy).\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/poets-ai/elegy","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://poets-ai.github.io/elegy/"}]},{"id":1914,"title":"TensorFlow JS- Object Detection in Browser","description":"A real-time object detection model in your browser using TensorFlow JS.","tags":["code","tensorflow","tensorflow-js","computer-vision","object-detection","demo"],"details":"A real-time object detection model in your browser using TensorFlow JS.","links":[{"article_link":"","code_link":"https://github.com/navendu-pottekkat/tfjs-object-detection","research_link":"","media_link":"","dataset_link":"","demo_link":"http://navendu.me/tfjs-object-detection/","other_link":""}]},{"id":1913,"title":"Teachable Machine (Image Classifier)","description":"A teachable image classifier that runs on any browser built using TensorFlow JS.","tags":["code","tensorflow","tensorflow-js","machine-learning","web-design","computer-vision","demo"],"details":"A teachable image classifier that runs on any browser built using TensorFlow JS.\r\n\r\nThis runs locally on your browser and no data is sent to any server.","links":[{"article_link":"","code_link":"https://github.com/navendu-pottekkat/teachable-machine","research_link":"","media_link":"","dataset_link":"","demo_link":"https://navendu.me/teachable-machine","other_link":""}]},{"id":1912,"title":"How to write an Awesome README","description":"A comprehensive guide to writing README that stands out and makes people go WOW! ","tags":["article","code","tutorial","machine-learning","program-development","web-design","data-science","documentation"],"details":"If nobody **can\u2019t** figure out how to use your software, there\u2019s something very bad going on.\r\n\r\nIf people don\u2019t know what your software does, then they **won\u2019t** use it or contribute to it and they will most likely find something more clear and concise in the sea of open-source software.\r\n\r\n**That\u2019s where the README comes in!**","links":[{"article_link":"https://towardsdatascience.com/how-to-write-an-awesome-readme-68bf4be91f8b","code_link":"https://github.com/navendu-pottekkat/awesome-readme","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1910,"title":"Azure Machine Learning Template","description":"Azure Machine Learning template for MNIST classifier","tags":["code","tutorial","azure","library","mlops"],"details":"","links":[{"article_link":"","code_link":"https://github.com/nishanthkoganti-gep/aml_experiment","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1909,"title":"Imitation Learning in Pytorch","description":"Implementation of imitation learning algorithms using Pytorch and interfaced with OpenAI Gym environments","tags":["code","tutorial","pytorch","library","imitation-learning","openai-gym"],"details":"","links":[{"article_link":"","code_link":"https://github.com/buntyke/pytorch-imitation","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1908,"title":"Kinect Baxter Calibration","description":"Project to setup absolute orientation based calibration between Kinect depth sensor and Baxter robot.","tags":["code","robotics","ros"],"details":"","links":[{"article_link":"","code_link":"https://github.com/ShibataLab/kinect_baxter_calibration","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1907,"title":"Adversarial machine learning","description":"This repository contain blogs, papers and talks related to adversarial machine learning.","tags":["code","adversarial-defense","adversarial-learning","adversarial-attacks"],"details":"","links":[{"article_link":"","code_link":"https://github.com/yenchenlin/awesome-adversarial-machine-learning","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1906,"title":"Tensorflow to PyTorch","description":"This repo contains the TensorFlow tutorials converted to PyTorch code.","tags":["code","pytorch","tensorflow","convolutional-neural-networks","data-augmentation","pretraining"],"details":"","links":[{"article_link":"","code_link":"https://github.com/bipinKrishnan/tensorflow_to_pytorch","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://www.tensorflow.org/tutorials"}]},{"id":1905,"title":"PyTorch CNN Trainer","description":"A simple package to fine-tune CNNs from torchvision and Pytorch Image models by Ross Wightman.","tags":["code","pytorch","convolutional-neural-networks","library","training","computer-vision","fine-tuning","torchvision","demo"],"details":"\r\n\r\nA simple package to fine tune CNNs from [torchvision](https://github.com/pytorch/vision) and [Pytorch Image models](https://github.com/rwightman/pytorch-image-models) from Ross Wightman.\r\n\r\nIt is very annoying to write training loop and training code for CNN training. Also to support all the training features it takes massive time.\r\n\r\nUsually we don't need distributed training and it is very uncomfortable to use argparse and get the job done.\r\n\r\nThis simplifies the training. It provide you a powerful `engine.py` which can do lot of training functionalities. \r\nAlso a `dataset.py` to load dataset in common scenarios.\r\n\r\nIt has documentation and examples for common to advanced training scenarios too.\r\n\r\nFeatures: -\r\n\r\n- Support PyTorch image models (timm) training and transfer learning.\r\n- Quantization Aware training example.\r\n- Early stopping with patience.\r\n- Support torchvision models trainging and transfer learning.\r\n- Support torchvision quantized models transfer learning.\r\n- Support for Mixed Precision Training.\r\n- L2 Norm Gradient Penalty.\r\n- SWA Stochastic weighted Averaging support for training.\r\n- Keras Like fit method.\r\n- Customizable Train Step and Validation Step Method\r\n- Sanity Check method.\r\n\r\n\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/oke-aditya/pytorch_cnn_trainer","research_link":"","media_link":"","dataset_link":"","demo_link":"https://www.kaggle.com/okeaditya/pytorch-cnn-trainer","other_link":""}]},{"id":1904,"title":"Implementation of Face Net in TensorFlow - 2.0","description":"This repository is a naive unofficial implementation of Face Net paper - 2015 .This implementation opts online mode of semi - hard triplet mining.","tags":["code","research","tutorial","dlib","tensorflow","convolutional-neural-networks","computer-vision","embeddings","face-recognition","paper-implemenataion"],"details":"How does it work \u2754\r\n\r\nThe rough idea of the workflow can be summarized as:\r\n\r\n* At first the faces are extracted from the training data using dlib module and then a ResNet50 model is used to project these extracted faces onto a unit sphere in 128 dimensional euclidean space.\r\n* Next a triplet loss which mines for semi hard triplets is used to tweak the weights of the backbone ResNet50. The training goes on untill a minimum intercluster distance is achieved between embeddings of each identy.\r\n* When a new image is evaluated on the model the identity is assigned to the closest cluster provided it lies in the margin.","links":[{"article_link":"","code_link":"https://github.com/Ashish013/FaceNet_TF-2.0","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1903,"title":"Neural Style Transfer (Gatys et al., PyTorch)","description":"My implementation of the original neural style transfer paper by Gatys et al. (In PyTorch).","tags":["code","tutorial","video","deep-learning","machine-learning","computer-vision","style-transfer","neural-style-transfer"],"details":"","links":[{"article_link":"","code_link":"https://github.com/gordicaleksa/pytorch-neural-style-transfer","research_link":"","media_link":"https://www.youtube.com/watch?v=S78LQebx6jo&list=PLBoQnSflObcmbfshq9oNs41vODgXG-608","dataset_link":"","demo_link":"","other_link":""}]},{"id":1902,"title":"Indian Paper Currency Prediction","description":"The trained model takes an image (Indian Paper Currency) as an input and predict the class of image from 10, 20, 50, 100, 200, 500, 2000 denomination.","tags":["article","code","research","tutorial","video","aws","flask","keras","artificial-general-intelligence","deep-learning","computer-vision","image-classification","demo"],"details":"# Indian Paper Curreny Prediction :india: \r\n\r\n## Table of Content\r\n * [Demo](#demo)\r\n * [Overview](#overview)\r\n * [Motivation](#motivation)\r\n * [Technical Aspect](#technical-aspect)\r\n * [Installation](#installation)\r\n * [Run](#run)\r\n * [Deployement on Heroku](#deployement-on-heroku)\r\n * [Directory Tree](#directory-tree)\r\n * [To Do](#to-do)\r\n * [Bug / Feature Request](#bug---feature-request)\r\n * [Technologies Used](#technologies-used)\r\n * [Team](#team)\r\n * [License](#license)\r\n * [Credits](#credits)\r\n\r\n\r\n## Demo\r\nLink: [https://indian-currency-prediction.herokuapp.com](https://indian-currency-prediction.herokuapp.com/)\r\n\r\n[](https://indian-currency-prediction.herokuapp.com/)\r\n\r\n## Overview\r\nThis is a simple image classification Flask app trained on the top of Keras API. The trained model (`app/model/model.h5`) takes an image (Indian Paper Currency) as an input and predict the class of image from __10, 20, 50, 100, 200, 500, 2000__ denomination.\r\n\r\n## Motivation\r\nWhat could be a perfect way to utilize unfortunate lockdown period? Like most of you, I spend my time in cooking, Netflix, coding and reading some latest research papers on weekends. The idea of classifying indian currency struck to me when I was browsing through some research papers. I couldn't find any relevant research paper (and of course dataset!) associated with it. And that led me to collect the images of Indian currency to train a deep learning model using [this](https://github.com/hardikvasa/google-images-download) amazing tool.\r\n\r\n## Technical Aspect\r\nThis project is divided into two part:\r\n1. Training a deep learning model using Keras. (_Not covered in this repo. I'll update the link here once I make it public._)\r\n2. Building and hosting a Flask web app on Heroku.\r\n - A user can choose image from a device or capture it using a pre-built camera.\r\n - Used __Amazon S3 Bucket__ to store the uploaded image and predictions.\r\n - Used __CSRF Token__ to protect against CSRF attacks.\r\n - Used __Sentry__ to catch the exception on the back-end.\r\n - After uploading the image, the predictions are displayed on a __Bar Chart__.\r\n\r\n## Installation\r\nThe Code is written in Python 3.7. If you don't have Python installed you can find it [here](https://www.python.org/downloads/). If you are using a lower version of Python you can upgrade using the pip package, ensuring you have the latest version of pip. To install the required packages and libraries, run this command in the project directory after [cloning](https://www.howtogeek.com/451360/how-to-clone-a-github-repository/) the repository:\r\n```bash\r\npip install -r requirements.txt\r\n```\r\n\r\n## Run\r\n> STEP 1\r\n#### Linux and macOS User\r\nOpen `.bashrc` or `.zshrc` file and add the following credentials:\r\n```bash\r\nexport AWS_ACCESS_KEY=\"your_aws_access_key\"\r\nexport AWS_SECRET_KEY=\"your_aws_secret_key\"\r\nexport ICP_BUCKET='your_aws_bucket_name'\r\nexport ICP_BUCKET_REGION='bucket_region'\r\nexport ICP_UPLOAD_DIR='bucket_path_to_save_images'\r\nexport ICP_PRED_DIR='bucket_path_to_save_predictions'\r\nexport ICP_FLASK_SECRET_KEY='anything_random_but_unique'\r\nexport SENTRY_INIT='URL_given_by_sentry'\r\n```\r\nNote: __SENTRY_INIT__ is optional, only if you want to catch exceptions in the app, else comment/remove the dependencies and code associated with sentry in `app/main.py`\r\n\r\n#### Windows User\r\nSince, I don't have a system with Windows OS, here I collected some helpful resource on adding User Environment Variables in Windows.\r\n\r\n__Attention__: Please perform the steps given in these tutorials at your own risk. Please don't mess up with the System Variables. It can potentially damage your PC. __You should know what you're doing__. \r\n- https://www.tenforums.com/tutorials/121855-edit-user-system-environment-variables-windows.html\r\n- https://www.onmsft.com/how-to/how-to-set-an-environment-variable-in-windows-10\r\n\r\n> STEP 2\r\n\r\nTo run the app in a local machine, shoot this command in the project directory:\r\n```bash\r\ngunicorn wsgi:app\r\n```\r\n\r\n## Deployement on Heroku\r\nSet the environment variable on Heroku as mentioned in _STEP 1_ in the __Run__ section. [[Reference](https://devcenter.heroku.com/articles/config-vars)]\r\n\r\n\r\n\r\nOur next step would be to follow the instruction given on [Heroku Documentation](https://devcenter.heroku.com/articles/getting-started-with-python) to deploy a web app.\r\n\r\n## Directory Tree \r\n```\r\n\u251c\u2500\u2500 app \r\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 __init__.py\r\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 main.py\r\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 model\r\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 static\r\n\u2502\u00a0\u00a0 \u2514\u2500\u2500 templates\r\n\u251c\u2500\u2500 config\r\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 __init__.py\r\n\u251c\u2500\u2500 processing\r\n\u2502\u00a0\u00a0 \u251c\u2500\u2500 __init__.py\r\n\u251c\u2500\u2500 requirements.txt\r\n\u251c\u2500\u2500 runtime.txt\r\n\u251c\u2500\u2500 LICENSE\r\n\u251c\u2500\u2500 Procfile\r\n\u251c\u2500\u2500 README.md\r\n\u2514\u2500\u2500 wsgi.py\r\n```\r\n\r\n## To Do\r\n1. Convert the app to run without any internet connection, i.e. __PWA__.\r\n2. Add a better vizualization chart to display the predictions.\r\n\r\n## Bug / Feature Request\r\nIf you find a bug (the website couldn't handle the query and / or gave undesired results), kindly open an issue [here](https://github.com/rowhitswami/Indian-Currency-Prediction/issues/new) by including your search query and the expected result.\r\n\r\nIf you'd like to request a new function, feel free to do so by opening an issue [here](https://github.com/rowhitswami/Indian-Currency-Prediction/issues/new). Please include sample queries and their corresponding results.\r\n\r\n## Technologies Used\r\n\r\n\r\n\r\n[
](https://keras.io/) [
](https://flask.palletsprojects.com/en/1.1.x/) [
](https://gunicorn.org) [
](https://aws.amazon.com/s3/) \r\n\r\n[
](https://www.sentry.io/) [
](https://jquery.com/)\r\n\r\n## Team\r\n[](https://rohitswami.com/) |\r\n-|\r\n[Rohit Swami](https://rohitswami.com/) |)\r\n\r\n## License\r\n[](http://www.apache.org/licenses/LICENSE-2.0e)\r\n\r\nCopyright 2020 Rohit Swami\r\n\r\nLicensed under the Apache License, Version 2.0 (the \"License\");\r\nyou may not use this file except in compliance with the License.\r\nYou may obtain a copy of the License at\r\n\r\n http://www.apache.org/licenses/LICENSE-2.0\r\n\r\nUnless required by applicable law or agreed to in writing, software\r\ndistributed under the License is distributed on an \"AS IS\" BASIS,\r\nWITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\r\nSee the License for the specific language governing permissions and\r\nlimitations under the License.\r\n\r\n## Credits\r\n- [Google Images Download](https://github.com/hardikvasa/google-images-download) - This project wouldn't have been possible without this tool. It saved my enormous amount of time while collecting the data. A huge shout-out to its creator [Hardik Vasa](https://github.com/hardikvasa).\r\n","links":[{"article_link":"https://towardsdatascience.com/how-to-secure-your-machine-learning-app-with-csrf-protection-506c3383f9e5","code_link":"https://github.com/rowhitswami/Indian-Paper-Currency-Prediction","research_link":"","media_link":"https://www.youtube.com/watch?v=PTsNDuhcOOA","dataset_link":"","demo_link":"https://indian-currency-prediction.herokuapp.com","other_link":"https://www.linkedin.com/feed/update/urn:li:activity:6680695131277987840/"}]},{"id":1901,"title":"Quora Question Pair Similarity","description":"Identify which questions asked on Quora are duplicates of questions that have already been asked. Using Text features, classifying them as duplicates or not.\r\n\r\n","tags":["code","dataset","python","machine-learning","natural-language-processing","text-classification","xgboost"],"details":"# Quora-Question-Pair-Similarity\r\nQuora is a place to gain and share knowledge\u2014about anything. It\u2019s a platform to ask questions and connect with people who contribute unique insights and quality answers. This empowers people to learn from each other and to better understand the world.\r\n\r\nOver 100 million people visit Quora every month, so it's no surprise that many people ask similarly worded questions. Multiple questions with the same intent can cause seekers to spend more time finding the best answer to their question, and make writers feel they need to answer multiple versions of the same question. Quora values canonical questions because they provide a better experience to active seekers and writers, and offer more value to both of these groups in the long term.\r\n\r\n\r\n> Credits: Kaggle\r\n\r\n## Problem Statement\r\n\r\nIdentify which questions asked on Quora are duplicates of questions that have already been asked.\r\nThis could be useful to instantly provide answers to questions that have already been answered.\r\nWe are tasked with predicting whether a pair of questions are duplicates or not.\r\n\r\n## Data Overview\r\n- Data will be in a file Train.csv \r\n- Train.csv contains 5 columns : qid1, qid2, question1, question2, is_duplicate \r\n- Size of Train.csv - 60MB \r\n- Number of rows in Train.csv = 404,290\r\n","links":[{"article_link":"","code_link":"https://github.com/s9k96/Quora-Question-Pair-Similarity","research_link":"","media_link":"","dataset_link":"https://www.kaggle.com/c/quora-question-pairs","demo_link":"","other_link":""}]},{"id":1900,"title":"WikiArt StyleGAN 2 Model","description":"A conditional StyleGAN 2 model trained on images from WikiArt","tags":["article","code","generative-adversarial-networks","computer-vision","style-transfer","stylegan","stylegan-2","wikiart"],"details":"","links":[{"article_link":"https://towardsdatascience.com/the-non-treachery-of-dataset-df1f6cbe577e","code_link":"https://github.com/pbaylies/stylegan2","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://archive.org/details/wikiart-stylegan2-conditional-model"}]},{"id":1899,"title":"StyleGAN Encoder","description":"Encodes real images into the latent space of a StyleGAN model.","tags":["code","generative-adversarial-networks","computer-vision","style-transfer","stylegan","latent-space"],"details":"","links":[{"article_link":"","code_link":"https://github.com/pbaylies/stylegan-encoder","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1898,"title":"Tempering Expectations for GPT-3 and OpenAI\u2019s API","description":"A closer look at the \"magic\" behind GPT-3 and caveats to be aware of.","tags":["article","code","paper","research","tutorial","gpt","transformers","natural-language-processing","openai","gpt-3","arxiv:2005.14165"],"details":"At minimum, anyone using the OpenAI API professionally needs to know:\r\n\r\n* Cost for generation per token/request\r\n* Rate limits and max number of concurrent requests\r\n* Average and peak latencies for generating tokens\r\n* SLA for the API\r\n* AI generated content ownership/copyright","links":[{"article_link":"https://minimaxir.com/2020/07/gpt3-expectations/","code_link":"https://github.com/minimaxir/gpt-3-experiments","research_link":"https://arxiv.org/abs/2005.14165","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1897,"title":"VAE-SNE","description":"A deep generative model for dimensionality reduction and clustering.","tags":["code","paper","research","autoencoders","variational-autoencoders","clustering","dimensionality-reduction","vae-sne"],"details":"VAE-SNE is a deep generative model for both dimensionality reduction and clustering. VAE-SNE is a variational autoencoder (VAE) regularized with the stochastic neighbor embedding (t-SNE/SNE) objective to improve local structure preservation in the compressed latent space. The model simultaneously learns a Gaussian mixture cluster distribution during optimization, and overlapping mixture components are then combined using a sparse watershed procedure, so the number of clusters does not have to be specified manually \u2014 provided the number of Gaussian mixture components is large enough. VAE-SNE produces embeddings with similar quality to existing dimensionality reduction methods; can detect outliers; scales to large, out-of-core datasets; and can easily add new data to an existing embedding/clustering.","links":[{"article_link":"","code_link":"https://github.com/jgraving/vaesne","research_link":"https://www.biorxiv.org/content/10.1101/2020.07.17.207993v1","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1896,"title":"Machine Learning Production Pipeline","description":"Project Flow and Landscape\r\n","tags":["tutorial","production","serving","pipelines"],"details":"**Table of contents:**\r\n\r\n* Research vs production\r\n* Data pipeline\r\n* Modeling & training\r\n* Serving\r\n* Landscape","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://docs.google.com/presentation/d/1mvmJ1PnCe7lWGmSoL80CjLe7N2QpEwkU8x7l62BawME/","dataset_link":"","demo_link":"","other_link":""}]},{"id":1895,"title":"Deep Dream (PyTorch) \ud83d\udcbb + \ud83c\udf0a\ud83d\udca4 = \u2764\ufe0f","description":"Clean PyTorch implementation of the Deep Dream algorithm by Mordvintsev et al.","tags":["code","tutorial","python","pytorch","deep-learning","machine-learning","deep-dream"],"details":"Learn how to create visual art using Deep Dream. I've additionally added playground.py that will help you understand the basic concepts behind the algorithm.\r\n\r\nSupport for 3 types of \"dreaming\":\r\n\r\n1. For static images\r\n2. Ouroboros (video) i.e. feeding the output back to input with some geometric transformations applied\r\n3. Video - per frame dreaming with linear blending","links":[{"article_link":"","code_link":"https://github.com/gordicaleksa/pytorch-deepdream","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1894,"title":"Arabic Font Classification","description":"Tackling the visual font recognition problem for Arabic fonts by synthesizing data and addressing domain mismatch challenges.","tags":["article","code","dataset","domain-adaptation","demo","visual-font-recognition"],"details":"This project aims to tackle a simplified version of the font recognition problem. The task is to classify images of text written using Arabic letters into two classes of Arabic fonts: Ruqaa and Nastaliq (Farsi). \r\n\r\nA dataset of 40,516 images was created consisting of 40,000 synthesized image and 516 real image. A data synthesization process was presented and analyized to overcome the domain mismatch problem.\r\n\r\nConvolutional neural network was trained on the mentioned dataset and its performance was analyzed as more synthesization steps were introduced.\r\n\r\nResults demonstrate the effectiveness of this synthesization process, which alleviates the domain mismatch problem by a factor of 29% allowing the model to reach 97% accuracy.","links":[{"article_link":"https://mhmoodlan.github.io/blog/arabic-font-classification","code_link":"https://github.com/mhmoodlan/arabic-font-classification","research_link":"","media_link":"","dataset_link":"https://github.com/mhmoodlan/arabic-font-classification/releases/tag/v0.1.0","demo_link":"https://mhmoodlan.github.io/blog/arabic-font-classification","other_link":""}]},{"id":1893,"title":"Universal Approximation of Neural Networks","description":"Neural Networks and their approximation capabilities.","tags":["article","code","artificial-general-intelligence","deep-learning","feed-forward-neural-networks","neural-networks"],"details":"","links":[{"article_link":"https://towardsdatascience.com/exploring-neural-networks-and-their-fascinating-effectiveness-81ebc054cb16","code_link":"https://github.com/pr2tik1/universal-approximation","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1892,"title":"Introducing Streamlit Components","description":"A new way to add and share custom functionality for Streamlit apps","tags":["article","code","paper","tutorial","machine-learning","data-science","exploratory-data-analysis","demo","dashboard"],"details":"","links":[{"article_link":"https://medium.com/streamlit/introducing-streamlit-components-d73f2092ae30?source=friends_link","code_link":"https://github.com/streamlit/component-template","research_link":"","media_link":"","dataset_link":"","demo_link":"https://www.streamlit.io/components","other_link":"https://docs.streamlit.io/en/stable/streamlit_components.html"}]},{"id":1891,"title":"PyTorch Paper Implemenations","description":"Research Paper Implementations in PyTorch","tags":["code","research","pytorch","paper-implementations"],"details":"Currently: -\r\nProvides Implementation of research papers in PyTorch.\r\nMakes the paper simple, keeps implementation crisp and to the point.\r\nIt is useful to understand the gist of the paper and implement a minimalistic but working version.\r\n\r\nFuture Scope: -\r\nReplicate the same in Tensorflow.\r\n","links":[{"article_link":"","code_link":"https://github.com/oke-aditya/pytorch_paper_implementations","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1889,"title":"NLP Pretrained Models","description":"A collection of Natural language processing pre-trained models.\r\n\r\n","tags":["code","caffe","keras","mxnet","pytorch","tensorflow","library","natural-language-processing","pretraining","model-hub","pretrained-models"],"details":"A pre-trained model is a model created by some one else to solve a similar problem. Instead of building a model from scratch to solve a similar problem, we can use the model trained on other problem as a starting point. A pre-trained model may not be 100% accurate in your application.\r\n\r\n#### TensorFlow\r\n\r\n* [**Chatbot**]( https://github.com/Conchylicultor/DeepQA) - This work tries to reproduce the results of A Neural Conversational Model (aka the Google chatbot). It uses a RNN (seq2seq model) for sentence prediction\r\n* [**Show, Attend and Tell**]( https://github.com/yunjey/show-attend-and-tell) - Attention Based Image Caption Generator.\r\n* [**Seq2seq-Chatbot**]( https://github.com/tensorlayer/seq2seq-chatbot) - Chatbot in 200 lines of code.\r\n* [**Neural Caption Generator**]( https://github.com/jazzsaxmafia/show_attend_and_tell.tensorflow) - Implementation of \"Show and Tell\".\r\n* [**TensorFlow White Paper Notes**]( https://github.com/samjabrahams/tensorflow-white-paper-notes) - Annotated notes and summaries of the TensorFlow white paper, along with SVG figures and links to documentation.\r\n* [**Neural machine translation between the writings of Shakespeare and modern English using TensorFlow**]( https://github.com/tokestermw/tensorflow-shakespeare) - This performs a monolingual translation, going from modern English to Shakespeare and vice-versa.\r\n* [**Mnemonic Descent Method**](https://github.com/trigeorgis/mdm) - Tensorflow implementation of \"Mnemonic Descent Method: A recurrent process applied for end-to-end face alignment\"\r\n* [**Improved CycleGAN**]( https://github.com/luoxier/CycleGAN_Tensorlayer) - Unpaired Image to Image Translation.\r\n* [**im2im**]( https://github.com/zsdonghao/Unsup-Im2Im) - Unsupervised Image to Image Translation with Generative Adversarial Networks.\r\n* [**DeepSpeech**]( https://github.com/tensorflow/models/tree/master/research/deep_speech) - Automatic speech recognition.\r\n* [**Im2txt**]( https://github.com/tensorflow/models/tree/master/research/im2txt) - Image-to-text neural network for image captioning.\r\n\r\n#### Keras\r\n\r\n* [**Monolingual and Multilingual Image Captioning**]( https://github.com/elliottd/GroundedTranslation) - This is the source code that accompanies Multilingual Image Description with Neural Sequence Models.\r\n* [**pix2pix**]( https://github.com/tdeboissiere/DeepLearningImplementations/tree/master/pix2pix) - Keras implementation of Image-to-Image Translation with Conditional Adversarial Networks.\r\n* [**DualGAN**]( https://github.com/eriklindernoren/Keras-GAN/blob/master/dualgan/dualgan.py) - Implementation of _DualGAN: Unsupervised Dual Learning for Image-to-Image Translation_.\r\n* [**CycleGAN**]( https://github.com/eriklindernoren/Keras-GAN/blob/master/cyclegan/cyclegan.py) - Implementation of _Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks_.\r\n\r\n#### PyTorch\r\n\r\n* [**pytorch-CycleGAN-and-pix2pix**]( https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix) - PyTorch implementation for both unpaired and paired image-to-image translation. \r\n* [**vid2vid**]( https://github.com/NVIDIA/vid2vid) - Pytorch implementation of our method for high-resolution (e.g. 2048x1024) photorealistic video-to-video translation. \r\n* [**Neural Machine Translation (NMT) System**]( https://github.com/OpenNMT/OpenNMT-py) - This is a Pytorch port of OpenNMT, an open-source (MIT) neural machine translation system. It is designed to be research friendly to try out new ideas in translation, summary, image-to-text, morphology, and many other domains. \r\n* [**UNIT**]( https://github.com/mingyuliutw/UNIT) - PyTorch Implementation of our Coupled VAE-GAN algorithm for Unsupervised Image-to-Image Translation. \r\n* [**espnet**]( https://github.com/espnet/espnet) - End-to-End Speech Processing Toolkit. - `PyTorch`\r\n* [**TTS**]( https://github.com/mozilla/TTS) - Deep learning for Text2Speech. \r\n* [**Neural Sequence labeling model**]( https://github.com/jiesutd/NCRFpp) - Sequence labeling models are quite popular in many NLP tasks, such as Named Entity Recognition (NER), part-of-speech (POS) tagging and word segmentation.\r\n* [**UnsupervisedMT**]( https://github.com/facebookresearch/UnsupervisedMT) - Phrase-Based & Neural Unsupervised Machine Translation. \r\n* [**waveglow**]( https://github.com/NVIDIA/waveglow) - A Flow-based Generative Network for Speech Synthesis. \r\n* [**deepvoice3_pytorch**]( https://github.com/r9y9/deepvoice3_pytorch) - PyTorch implementation of convolutional networks-based text-to-speech synthesis models. \r\n* [**deepspeech2**]( https://github.com/SeanNaren/deepspeech.pytorch) - Implementation of DeepSpeech2 using Baidu Warp-CTC. Creates a network based on the DeepSpeech2 architecture, trained with the CTC activation function.\r\n* [**pytorch-seq2seq**]( https://github.com/IBM/pytorch-seq2seq) - A framework for sequence-to-sequence (seq2seq) models implemented in PyTorch. \r\n* [**loop**]( https://github.com/facebookarchive/loop) - A method to generate speech across multiple speakers. \r\n* [**neuraltalk2-pytorch**]( https://github.com/ruotianluo/ImageCaptioning.pytorch) - Image captioning model in pytorch (finetunable cnn in branch with_finetune) \r\n* [**seq2seq**]( https://github.com/MaximumEntropy/Seq2Seq-PyTorch) - This repository contains implementations of Sequence to Sequence (Seq2Seq) models in PyTorch. \r\n* [**seq2seq.pytorch**]( https://github.com/eladhoffer/seq2seq.pytorch) - Sequence-to-Sequence learning using PyTorch. \r\n* [**self-critical.pytorch**]( https://github.com/ruotianluo/self-critical.pytorch) - Self-critical Sequence Training for Image Captioning. \r\n* [**Hierarchical Attention Networks for Document Classification**]( https://github.com/EdGENetworks/attention-networks-for-classification) - We know that documents have a hierarchical structure, words combine to form sentences and sentences combine to form documents. \r\n* [**nmtpytorch**]( https://github.com/lium-lst/nmtpytorch) - Neural Machine Translation Framework in PyTorch. \r\n* [**pix2pix-pytorch**]( https://github.com/mrzhu-cool/pix2pix-pytorch) - PyTorch implementation of \"Image-to-Image Translation Using Conditional Adversarial Networks\". \r\n* [**torch_waveglow**]( https://github.com/npuichigo/waveglow) - A PyTorch implementation of the WaveGlow: A Flow-based Generative Network for Speech Synthesis. \r\n* [**Open Source Chatbot with PyTorch**]( https://github.com/jinfagang/pytorch_chatbot) - Aim to build a Marvelous ChatBot. \r\n* [**nonauto-nmt**]( https://github.com/salesforce/nonauto-nmt) - PyTorch Implementation of \"Non-Autoregressive Neural Machine Translation\". \r\n* [**tacotron_pytorch**]( https://github.com/r9y9/tacotron_pytorch) - PyTorch implementation of Tacotron speech synthesis model. \r\n* [**pytorch-seq2seq-intent-parsing**]( https://github.com/spro/pytorch-seq2seq-intent-parsing) - Intent parsing and slot filling in PyTorch with seq2seq + attention.\r\n* [**captionGen**]( https://github.com/eladhoffer/captionGen) - Generate captions for an image using PyTorch. \r\n* [**bandit-nmt**]( https://github.com/khanhptnk/bandit-nmt) - This is code repo for our EMNLP 2017 paper \"Reinforcement Learning for Bandit Neural Machine Translation with Simulated Human Feedback\". \r\n* [**Pytorch Poetry Generation**]( https://github.com/jhave/pytorch-poetry-generation) - is a repurposing of http://pytorch.org/: an early release beta software (developed by a consortium led by Facebook and NVIDIA), a deep learning software that puts Python first. \r\n* [**translagent**]( https://github.com/facebookresearch/translagent) - Code for Emergent Translation in Multi-Agent Communication. \r\n","links":[{"article_link":"","code_link":"https://github.com/balavenkatesh3322/NLP-pretrained-model","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1888,"title":"Monitoring Machine Learning Models in Production","description":"Once you have deployed your machine learning model to production it rapidly becomes apparent that the work is not over.","tags":["article","tutorial","production","monitoring"],"details":"1. The ML System Lifecycle\r\n2. What makes ML System Monitoring Hard\r\n3. Why You Need Monitoring\r\n4. Key Principles For Monitoring Your ML System\r\n5. Understanding the Spectrum of ML Risk Management\r\n6. Data Science Monitoring Concerns [Start here for practical advice]\r\n7. Operations Monitoring Concerns\r\n8. Bringing Ops & DS Together - Metrics with Prometheus & Grafana\r\n9. Bringing Ops & DS Together - Logs\r\n10. The Changing Landscape","links":[{"article_link":"https://christophergs.com/machine%20learning/2020/03/14/how-to-monitor-machine-learning-models/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1887,"title":"Computer Vision Pretrained Models","description":"A collection of computer vision pre-trained models.","tags":["code","caffe","keras","mxnet","pytorch","tensorflow","library","computer-vision","object-detection","pretraining","model-hub","pretrained-models","model-zoo"],"details":"A pre-trained model is a model created by some one else to solve a similar problem. Instead of building a model from scratch to solve a similar problem, we can use the model trained on other problem as a starting point. A pre-trained model may not be 100% accurate in your application.\r\n\r\nFor example, if you want to build a self learning car. You can spend years to build a decent image recognition algorithm from scratch or you can take inception model (a pre-trained model) from Google which was built on ImageNet data to identify images in those pictures.\r\n\r\n#### TensorFlow\r\n\r\n* [**ObjectDetection**]( https://github.com/tensorflow/models/tree/master/research/object_detection) - Localizing and identifying multiple objects in a single image.\r\n* [**Mask R-CNN**]( https://github.com/matterport/Mask_RCNN) - The model generates bounding boxes and segmentation masks for each instance of an object in the image. It's based on Feature Pyramid Network (FPN) and a ResNet101 backbone.\r\n* [**Faster-RCNN**]( https://github.com/smallcorgi/Faster-RCNN_TF) - This is an experimental Tensorflow implementation of Faster RCNN - a convnet for object detection with a region proposal network.\r\n* [**YOLO TensorFlow**]( https://github.com/gliese581gg/YOLO_tensorflow) - This is tensorflow implementation of the YOLO:Real-Time Object Detection.\r\n* [**YOLO TensorFlow ++**]( https://github.com/thtrieu/darkflow) - TensorFlow implementation of 'YOLO: Real-Time Object Detection', with training and an actual support for real-time running on mobile devices.\r\n* [**MobileNet**]( https://github.com/tensorflow/models/blob/master/research/slim/nets/mobilenet_v1.md) - MobileNets trade off between latency, size and accuracy while comparing favorably with popular models from the literature.\r\n* [**DeepLab**]( https://github.com/tensorflow/models/tree/master/research/deeplab) - Deep labeling for semantic image segmentation.\r\n* [**Colornet**]( https://github.com/pavelgonchar/colornet) - Neural Network to colorize grayscale images. \r\n* [**SRGAN**]( https://github.com/tensorlayer/srgan) - Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network.\r\n* [**DeepOSM**]( https://github.com/trailbehind/DeepOSM) - Train TensorFlow neural nets with OpenStreetMap features and satellite imagery. \r\n* [**Domain Transfer Network**]( https://github.com/yunjey/domain-transfer-network) - Implementation of Unsupervised Cross-Domain Image Generation.\r\n* [**Show, Attend and Tell**]( https://github.com/yunjey/show-attend-and-tell) - Attention Based Image Caption Generator.\r\n* [**android-yolo**]( https://github.com/natanielruiz/android-yolo) - Real-time object detection on Android using the YOLO network, powered by TensorFlow.\r\n* [**DCSCN Super Resolution**]( https://github.com/jiny2001/dcscn-super-resolutiont) - This is a tensorflow implementation of \"Fast and Accurate Image Super Resolution by Deep CNN with Skip Connection and Network in Network\", a deep learning based Single-Image Super-Resolution (SISR) model.\r\n* [**GAN-CLS**]( https://github.com/zsdonghao/text-to-image) - This is an experimental tensorflow implementation of synthesizing images.\r\n* [**U-Net**]( https://github.com/zsdonghao/u-net-brain-tumor) - For Brain Tumor Segmentation.\r\n* [**Improved CycleGAN**]( https://github.com/luoxier/CycleGAN_Tensorlayer) -Unpaired Image to Image Translation.\r\n* [**Im2txt**]( https://github.com/tensorflow/models/tree/master/research/im2txt) - Image-to-text neural network for image captioning.\r\n* [**Street**]( https://github.com/tensorflow/models/tree/master/research/street) - Identify the name of a street (in France) from an image using a Deep RNN.\r\n* [**SLIM**]( https://github.com/tensorflow/models/tree/master/research/slim) - Image classification models in TF-Slim.\r\n* [**DELF**]( https://github.com/tensorflow/models/tree/master/research/delf) - Deep local features for image matching and retrieval. \r\n* [**Compression**]( https://github.com/tensorflow/models/tree/master/research/compression) - Compressing and decompressing images using a pre-trained Residual GRU network.\r\n* [**AttentionOCR**]( https://github.com/tensorflow/models/tree/master/research/attention_ocr) - A model for real-world image text extraction.\r\n\r\n#### Keras\r\n\r\n* [**Mask R-CNN**]( https://github.com/matterport/Mask_RCNN) - The model generates bounding boxes and segmentation masks for each instance of an object in the image. It's based on Feature Pyramid Network (FPN) and a ResNet101 backbone.`Keras`\r\n* [**VGG16**]( https://github.com/keras-team/keras-applications/blob/master/keras_applications/vgg16.py) - Very Deep Convolutional Networks for Large-Scale Image Recognition.\r\n* [**VGG19**]( https://github.com/keras-team/keras-applications/blob/master/keras_applications/vgg19.py) - Very Deep Convolutional Networks for Large-Scale Image Recognition.\r\n* [**ResNet**]( https://github.com/keras-team/keras-applications/blob/master/keras_applications/resnet_common.py) - Deep Residual Learning for Image Recognition.\r\n* [**Image analogies**]( https://github.com/awentzonline/image-analogies) - Generate image analogies using neural matching and blending.\r\n* [**Popular Image Segmentation Models**]( https://github.com/divamgupta/image-segmentation-keras) - Implementation of Segnet, FCN, UNet and other models in Keras.\r\n* [**Ultrasound nerve segmentation**]( https://github.com/jocicmarko/ultrasound-nerve-segmentation) - This tutorial shows how to use Keras library to build deep neural network for ultrasound image nerve segmentation.\r\n* [**DeepMask object segmentation**]( https://github.com/abbypa/NNProject_DeepMask) - This is a Keras-based Python implementation of DeepMask- a complex deep neural network for learning object segmentation masks.\r\n* [**Monolingual and Multilingual Image Captioning**]( https://github.com/elliottd/GroundedTranslation) - This is the source code that accompanies Multilingual Image Description with Neural Sequence Models.\r\n* [**pix2pix**]( https://github.com/tdeboissiere/DeepLearningImplementations/tree/master/pix2pix) - Keras implementation of Image-to-Image Translation with Conditional Adversarial Networks by Phillip Isola, Jun-Yan Zhu, Tinghui Zhou, Alexei A.\r\n* [**Colorful Image colorization**]( https://github.com/tdeboissiere/DeepLearningImplementations/tree/master/Colorful) - B&W to color.\r\n* [**CycleGAN**]( https://github.com/eriklindernoren/Keras-GAN/blob/master/cyclegan/cyclegan.py) - Implementation of _Unpaired Image-to-Image Translation using Cycle-Consistent Adversarial Networks_.\r\n* [**DualGAN**](https://github.com/eriklindernoren/Keras-GAN/blob/master/dualgan/dualgan.py) - Implementation of _DualGAN: Unsupervised Dual Learning for Image-to-Image Translation_.\r\n* [**Super-Resolution GAN**]( https://github.com/eriklindernoren/Keras-GAN/blob/master/srgan/srgan.py) - Implementation of _Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network.\r\n\r\n#### PyTorch\r\n\r\n* [**FastPhotoStyle**]( https://github.com/NVIDIA/FastPhotoStyle) - A Closed-form Solution to Photorealistic Image Stylization.\r\n* [**pytorch-CycleGAN-and-pix2pix**]( https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix) - A Closed-form Solution to Photorealistic Image Stylization.\r\n* [**maskrcnn-benchmark**]( https://github.com/facebookresearch/maskrcnn-benchmark) - Fast, modular reference implementation of Instance Segmentation and Object Detection algorithms in PyTorch.\r\n* [**deep-image-prior**]( https://github.com/DmitryUlyanov/deep-image-prior) - Image restoration with neural networks but without learning.\r\n* [**StarGAN**]( https://github.com/yunjey/StarGAN) - StarGAN: Unified Generative Adversarial Networks for Multi-Domain Image-to-Image Translation.\r\n* [**faster-rcnn.pytorch**]( https://github.com/jwyang/faster-rcnn.pytorch) - This project is a faster faster R-CNN implementation, aimed to accelerating the training of faster R-CNN object detection models.\r\n* [**pix2pixHD**]( https://github.com/NVIDIA/pix2pixHD) - Synthesizing and manipulating 2048x1024 images with conditional GANs. - `PyTorch`\r\n* [**Augmentor**]( https://github.com/mdbloice/Augmentor) - Image augmentation library in Python for machine learning. - `PyTorch`\r\n* [**albumentations**]( https://github.com/albumentations-team/albumentations) - Fast image augmentation library.\r\n* [**Deep Video Analytics**]( https://github.com/AKSHAYUBHAT/DeepVideoAnalytics) - Deep Video Analytics is a platform for indexing and extracting information from videos and images\r\n* [**semantic-segmentation-pytorch**]( https://github.com/CSAILVision/semantic-segmentation-pytorch) - Pytorch implementation for Semantic Segmentation/Scene Parsing on MIT ADE20K dataset.\r\n* [**An End-to-End Trainable Neural Network for Image-based Sequence Recognition**]( https://github.com/bgshih/crnn) - This software implements the Convolutional Recurrent Neural Network (CRNN), a combination of CNN, RNN and CTC loss for image-based sequence recognition tasks, such as scene text recognition and OCR.\r\n* [**UNIT**]( https://github.com/mingyuliutw/UNIT) - PyTorch Implementation of our Coupled VAE-GAN algorithm for Unsupervised Image-to-Image Translation.\r\n* [**Neural Sequence labeling model**]( https://github.com/jiesutd/NCRFpp) - Sequence labeling models are quite popular in many NLP tasks, such as Named Entity Recognition (NER), part-of-speech (POS) tagging and word segmentation.\r\n* [**faster rcnn**]( https://github.com/longcw/faster_rcnn_pytorch) - This is a PyTorch implementation of Faster RCNN. This project is mainly based on py-faster-rcnn and TFFRCNN. For details about R-CNN please refer to the paper Faster R-CNN: Towards Real-Time Object Detection with Region Proposal Networks by Shaoqing Ren, Kaiming He, Ross Girshick, Jian Sun.\r\n* [**pytorch-semantic-segmentation**]( https://github.com/ZijunDeng/pytorch-semantic-segmentation) - PyTorch for Semantic Segmentation.\r\n* [**EDSR-PyTorch**]( https://github.com/thstkdgus35/EDSR-PyTorch) - PyTorch version of the paper 'Enhanced Deep Residual Networks for Single Image Super-Resolution'.\r\n* [**image-classification-mobile**]( https://github.com/osmr/imgclsmob) - Collection of classification models pretrained on the ImageNet-1K.\r\n* [**FaderNetworks**]( https://github.com/facebookresearch/FaderNetworks) - Fader Networks: Manipulating Images by Sliding Attributes - NIPS 2017.\r\n* [**neuraltalk2-pytorch**]( https://github.com/ruotianluo/ImageCaptioning.pytorch) - Image captioning model in pytorch (finetunable cnn in branch with_finetune).\r\n* [**RandWireNN**]( https://github.com/seungwonpark/RandWireNN) - Implementation of: \"Exploring Randomly Wired Neural Networks for Image Recognition\".\r\n* [**stackGAN-v2**]( https://github.com/hanzhanggit/StackGAN-v2) |Pytorch implementation for reproducing StackGAN_v2 results in the paper StackGAN++.\r\n* [**Detectron models for Object Detection**]( https://github.com/ignacio-rocco/detectorch) - This code allows to use some of the Detectron models for object detection from Facebook AI Research with PyTorch.\r\n* [**DEXTR-PyTorch**]( https://github.com/scaelles/DEXTR-PyTorch) - This paper explores the use of extreme points in an object (left-most, right-most, top, bottom pixels) as input to obtain precise object segmentation for images and videos.\r\n* [**pointnet.pytorch**]( https://github.com/fxia22/pointnet.pytorch) - Pytorch implementation for \"PointNet: Deep Learning on Point Sets for 3D Classification and Segmentation.\r\n* [**self-critical.pytorch**]( https://github.com/ruotianluo/self-critical.pytorch) | This repository includes the unofficial implementation Self-critical Sequence Training for Image Captioning and Bottom-Up and Top-Down Attention for Image Captioning and Visual Question Answering.\r\n* [**vnet.pytorch**]( https://github.com/mattmacy/vnet.pytorch) - A Pytorch implementation for V-Net: Fully Convolutional Neural Networks for Volumetric Medical Image Segmentation.\r\n* [**piwise**]( https://github.com/bodokaiser/piwise) - Pixel-wise segmentation on VOC2012 dataset using pytorch.\r\n* [**pspnet-pytorch**]( https://github.com/Lextal/pspnet-pytorch) - PyTorch implementation of PSPNet segmentation network.\r\n* [**pytorch-SRResNet**]( https://github.com/twtygqyy/pytorch-SRResNet) - Pytorch implementation for Photo-Realistic Single Image Super-Resolution Using a Generative Adversarial Network.\r\n* [**PNASNet.pytorch**]( https://github.com/chenxi116/PNASNet.pytorch) - PyTorch implementation of PNASNet-5 on ImageNet.\r\n* [**img_classification_pk_pytorch**]( https://github.com/felixgwu/img_classification_pk_pytorch) - Quickly comparing your image classification models with the state-of-the-art models.\r\n* [**Deep Neural Networks are Easily Fooled**]( https://github.com/utkuozbulak/pytorch-cnn-adversarial-attacks) - High Confidence Predictions for Unrecognizable Images.\r\n* [**pix2pix-pytorch**]( https://github.com/mrzhu-cool/pix2pix-pytorch) - PyTorch implementation of \"Image-to-Image Translation Using Conditional Adversarial Networks\".\r\n* [**NVIDIA/semantic-segmentation**]( https://github.com/NVIDIA/semantic-segmentation) - A PyTorch Implementation of Improving Semantic Segmentation via Video Propagation and Label Relaxation, In CVPR2019.\r\n* [**Neural-IMage-Assessment**]( https://github.com/kentsyx/Neural-IMage-Assessment) - A PyTorch Implementation of Neural IMage Assessment.\r\n* [**torchxrayvision**](https://github.com/mlmed/torchxrayvision) | Pretrained models for chest X-ray (CXR) pathology predictions. Medical, Healthcare, Radiology - `PyTorch`\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/balavenkatesh3322/CV-pretrained-model","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1886,"title":"Medical Zoo - 3D Multi-modal Medical Image Segmentation","description":"My articles on deep learning in medical imaging","tags":["article","code","tutorial","pytorch","deep-learning","health","library","3d","computer-vision","medical-imaging","segmentation","medical-zoo"],"details":"## Deep learning in medical imaging\r\n1. If you want to quickly understand the fundamental concepts, we strongly advice to check our [blog post](https://theaisummer.com/medical-image-deep-learning/ \"MedicalZooPytorch article\"), which provides a high level overview of all the aspects of medical image segmentation and deep learning. \r\n2. Another more introductory article I wrote on medical imaging concepts for deep learning can be found [here](https://theaisummer.com/medical-image-coordinates/). \r\n3. For more background in Deep Learning in MRI please advice [this](https://nemertes.lis.upatras.gr/jspui/handle/10889/12754 \"MSc thesis link\"). \r\n4. Our open source library Medical Zoo pytorch is provided in the Github link, which implements the following architectures:\r\nU-Net3D,V-net, ResNet3D-VAE, SkipDesneNet3D, HyperDense-Net,\r\n multi-stream Densenet3D, DenseVoxelNet, MED3D, HighResNet3D\r\n","links":[{"article_link":"https://theaisummer.com/medical-image-coordinates/","code_link":"https://github.com/black0017/MedicalZooPytorch","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://theaisummer.com/medical-image-deep-learning/"}]},{"id":1885,"title":"The Thesis Review Podcast","description":"Each episode of The Thesis Review is a conversation centered around a researcher's PhD thesis.","tags":["podcast","machine-learning"],"details":"Each episode of The Thesis Review is a conversation centered around a researcher's PhD thesis, giving insight into their history, revisiting older ideas, and providing a valuable perspective on how their research has evolved (or stayed the same) since.\r\n\r\n* [Soundcloud](https://soundcloud.com/thesis-review)\r\n* [Apple Podcasts](https://podcasts.apple.com/us/podcast/the-thesis-review/id1518425004?mt=2&app=podcast)\r\n* [Spotify](https://open.spotify.com/show/0iWtGUWGbFBRixMOqYHAUQ)\r\n\r\nFollow on Twitter [@thesisreview](https://twitter.com/thesisreview)","links":[{"article_link":"","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://cs.nyu.edu/~welleck/podcast.html"}]},{"id":1884,"title":"Deploying your ML Model with TorchServe","description":"In this talk, Brad Heintz walks through how to use TorchServe to deploy trained models at scale without writing custom code. ","tags":["tutorial","video","production","torchserve","serving"],"details":"Deploying and managing models in production is often the most difficult part of the machine learning process. TorchServe is a flexible and easy to use tool for serving PyTorch models. In this talk, Brad Heintz walks through how to use TorchServe to deploy trained models at scale without writing custom code. \r\n","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=jdE4hPf9juk","dataset_link":"","demo_link":"","other_link":"https://pytorch.org/serve/"}]},{"id":1883,"title":"Torchfunc","description":"PyTorch functions & utilities to make your deep learning life easier\r\n\r\n","tags":["code","pytorch","library","utilities","functions"],"details":"* Improve and analyse performance of your neural network (e.g. Tensor Cores compatibility)\r\n* Record/analyse internal state of torch.nn.Module as data passes through it\r\n* Do the above based on external conditions (using single Callable to specify it)\r\n* Day-to-day neural network related duties (model size, seeding, time measurements etc.)\r\n* Get information about your host operating system, torch.nn.Module device, CUDA capabilities etc.","links":[{"article_link":"","code_link":"https://github.com/szymonmaszke/torchfunc","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://szymonmaszke.github.io/torchfunc"}]},{"id":1882,"title":"Object Detection with RetinaNet","description":"Implementing RetinaNet: Focal Loss for Dense Object Detection.","tags":["article","notebook","paper","research","tutorial","keras","tensorflow","computer-vision","object-detection","retinanet","arxiv:1708.02002"],"details":"Object detection a very important problem in computer vision. Here the model is tasked with localizing the objects present in an image, and at the same time, classifying them into different categories. Object detection models can be broadly classified into \"single-stage\" and \"two-stage\" detectors. Two-stage detectors are often more accurate but at the cost of being slower. Here in this example, we will implement RetinaNet, a popular single-stage detector, which is accurate and runs fast. RetinaNet uses a feature pyramid network to efficiently detect objects at multiple scales and introduces a new loss, the Focal loss function, to alleviate the problem of the extreme foreground-background class imbalance.","links":[{"article_link":"https://keras.io/examples/vision/retinanet/","code_link":"","research_link":"https://arxiv.org/abs/1708.02002","media_link":"","dataset_link":"","demo_link":"","other_link":"https://colab.research.google.com/github/keras-team/keras-io/blob/master/examples/vision/ipynb/retinanet.ipynb"}]},{"id":1880,"title":"AdapterHub: A Framework for Adapting Transformers","description":"Huggingface Transformers + Adapters","tags":["code","paper","research","huggingface","transformers","library","natural-language-processing","adapters","arxiv:2007.07779"],"details":"adapter-transformers is an extension of Huggingface's Transformers library, integrating adapters into state-of-the-art language models by incorporating AdapterHub, a central repository for pre-trained adapter modules.\r\n\r\nThis library can be used as a drop-in replacement for Huggingface Transformers and regulary synchronizes new upstream changes.\r\n\r\nHuggingface's great documentation on getting started with Transformers can be found below. To get started with adapters, refer to these locations:\r\n\r\n[https://docs.adapterhub.ml](https://docs.adapterhub.ml), our documentation on training and using adapters\r\n[https://adapterhub.ml](https://adapterhub.ml) to explore available pre-trained adapters and share your own adapters","links":[{"article_link":"","code_link":"https://github.com/Adapter-Hub/adapter-transformers","research_link":"https://arxiv.org/abs/2007.07779","media_link":"","dataset_link":"","demo_link":"","other_link":"https://adapterhub.ml/"}]},{"id":1879,"title":"Cross-lingual Transfer Learning - Sebastian Ruder","description":"An overview of approaches that transfer knowledge across languages and enable us to scale NLP models to more of the world's 7,000 languages.","tags":["article","tutorial","video","cross-lingual","natural-language-processing","transfer-learning"],"details":"Research in natural language processing (NLP) has seen striking advances in recent years, mainly driven by large pretrained language models. However, most of these approaches still require fine-tuning on large labelled datasets, which has constrained their success to languages where such data is plentiful. In this talk, I will give an overview of approaches that transfer knowledge across languages and enable us to scale NLP models to more of the world's 7,000 languages. I will cover state-of-the-art methods, what we know about them so far, novel benchmarks in this area, and promising future research directions.","links":[{"article_link":"https://ruder.io/unsupervised-cross-lingual-learning/","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=z0WbBA5pZgI","dataset_link":"","demo_link":"","other_link":""}]},{"id":1878,"title":"PyPika - Python Query Builder","description":"A python SQL query builder that exposes the full richness of the SQL language using a syntax that reflects the resulting query.","tags":["code","sql","library","pypika"],"details":"PyPika is a Python API for building SQL queries. The motivation behind PyPika is to provide a simple interface for building SQL queries without limiting the flexibility of handwritten SQL. Designed with data analysis in mind, PyPika leverages the builder design pattern to construct queries to avoid messy string formatting and concatenation. It is also easily extended to take full advantage of specific features of SQL database vendors.","links":[{"article_link":"","code_link":"https://github.com/kayak/pypika","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"http://pypika.readthedocs.io/en/latest/"}]},{"id":1877,"title":"An Overview of Distributed Training of Deep Learning Models","description":"Overview of the different techniques that are used by contemporary distributed DL systems and discuss their influence and implications on the training process.","tags":["paper","research","training","distributed-training","overview","arxiv:2007.03970"],"details":"Distributed deep learning systems (DDLS) train deep neural network models by utilizing the distributed resources of a cluster. Developers of DDLS are required to make many decisions to process their particular workloads in their chosen environment efficiently. The advent of GPU-based deep learning, the ever-increasing size of datasets and deep neural network models, in combination with the bandwidth constraints that exist in cluster environments require developers of DDLS to be innovative in order to train high quality models quickly. Comparing DDLS side-by-side is difficult due to their extensive feature lists and architectural deviations. We aim to shine some light on the fundamental principles that are at work when training deep neural networks in a cluster of independent machines by analyzing the general properties associated with training deep learning models and how such workloads can be distributed in a cluster to achieve collaborative model training. Thereby we provide an overview of the different techniques that are used by contemporary DDLS and discuss their influence and implications on the training process. To conceptualize and compare DDLS, we group different techniques into categories, thus establishing a taxonomy of distributed deep learning systems.","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2007.03970","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1876,"title":"Predict the hourly output power of a Combined Cycle Power Plant.","description":"In this project I have explored the data collected from a Combined Cycle Power Plant over 6 years. Searched for the best machine learning algorithm to predict t","tags":["code","dataset","flask","scikit-learn","energy"],"details":"","links":[{"article_link":"","code_link":"https://github.com/sumanthegdegithub/Predict-the-hourly-output-power-of-a-Combined-Cycle-Power-Plant.","research_link":"","media_link":"","dataset_link":"http://archive.ics.uci.edu/ml/datasets/Combined Cycle Power Plant","demo_link":"","other_link":""}]},{"id":1874,"title":"Awesome TFLite","description":"An awesome list of TFLite models with sample apps, model zoo, helpful tools and learning resources from the community.","tags":["code","tutorial","keras","tensorflow","deep-learning","library","computer-vision","natural-language-processing","tensorflow-lite"],"details":"I started an awesome list of TFLite models with sample apps, model zoo, helpful tools and learning resources by the community.\r\n\r\nThe purpose of this project is to \r\n- showcase what the community has built with TFLite \r\n- put all the samples side-by-side for easy references \r\n- knowledge sharing and learning for everyone ","links":[{"article_link":"","code_link":"https://github.com/margaretmz/awesome-tflite","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1873,"title":"Pythonizr - Generates boilerplate code for scikit-learn","description":"Pythonizr is a machine learning boilerplate code generator to help you start coding right away!","tags":["code","tool","scikit-learn","machine-learning","demo","boilerplate"],"details":"","links":[{"article_link":"","code_link":"github.com/akashp1712/pythonizr2","research_link":"","media_link":"","dataset_link":"","demo_link":"https://pythonizr.com","other_link":""}]},{"id":1872,"title":"An Icon Classifier with TensorFlow Lite Model Maker","description":"An Icon Classifier with TensorFlow Lite Model Maker","tags":["article","code","tutorial","deep-learning","computer-vision","tensorflow-lite"],"details":"This is a two part end-to-end tutorial:\r\n\r\n1 - Make an icon classifier with the TensorFlow Lite Model Maker \r\n2 - Implement the model on Android with ML Model Binding","links":[{"article_link":"https://medium.com/swlh/icon-classifier-with-tflite-model-maker-9263c0021f72","code_link":"https://github.com/margaretmz/icon-classifier","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1871,"title":"Summarize a webapge","description":"A Flask application that extracts and summarizes webpage using Natural Language Processing. Powered by nlp-akash.","tags":["api","article","code","tutorial","natural-language-processing","text-summarization"],"details":"Motivation of this project to make production ready API for Text Summarization Algorithm and leverage it for the real-world use cases. This project implements a NLP algorithm using Python and serves using flask API.","links":[{"article_link":"https://becominghuman.ai/text-summarization-in-5-steps-using-nltk-65b21e352b65","code_link":"https://github.com/akashp1712/summarize-webpage","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1870,"title":"Interpretability and Analysis of Models for NLP","description":"An in-depth look at interpretability and analysis of models for NLP (ACL 2020).","tags":["article","research","interpretability","natural-language-processing","acl-2020"],"details":"**Evaluating faithful interpretability**\r\n\r\nGuidelines we should keep in mind when working on faithful interpretations from Jacovi & Goldberg 2020 (talk\u2019s slides, number 16\u201324)\r\n1. Faithfulness is not Plausibility. A plausible but unfaithful interpretation is akin to lying, and can be dangerous.\r\n2. A model decision process is not a human decision process. Humans cannot judge if an interpretation is faithful. Evaluating interpretation using human input is evaluating plausibility, not faithfulness.\r\n3. Claims are just claims until tested. A model which is believed to be \u201cinherently interpretable\u201d should be rigorously tested in just the same way as post-hoc methods.\r\n\r\n**Interpretability via different methods**\r\n\r\n1. Attention as interpretation\r\n1. Probing\r\n1. Rationales for Faithful Interpretations\r\n1. Explanation via Training Examples\r\n\r\nand many other techniques for interpretability in NLP!\r\n","links":[{"article_link":"https://medium.com/@lawrence.carolin/interpretability-and-analysis-of-models-for-nlp-e6b977ac1dc6","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1869,"title":"Bridging PyTorch and TVM","description":"Taking Hugging Face transformer BERT from PyTorch and running it on \r\nApacheTVM for both inference (with reasonable timings) and training.","tags":["article","code","tutorial","huggingface","pytorch","attention","bert","transformers","library","natural-language-processing","apache-tvm","tvm"],"details":"Some of the most intriguing applications of Artificial Intelligence have been in Natural Language Processing. Models like BERT or GPT-2 and their variants can seemingly grasp enough of a text to continue it in a way that needs a second look to recognize as gibberish.\r\n\r\nThese models belong to a class of neural network architectures called Transformers. One of the favourite libraries implementing them is the HuggingFace transformers library.\r\n\r\nBut, in contrast to convolutional models or LSTMs where we have heavily optimized implementations, this is not as much the case for transformers. So here we explore how TVM can fill the gap. We will do so in two steps:\r\n\r\n* First we look at BERT inference and tuning that on TVM.\r\n* Secondly, we start some more fundamental exploration of how one could use TVM for training in PyTorch. Given the experimental nature, we focus on feasibility more than on the performance in this part.","links":[{"article_link":"https://tvm.apache.org/2020/07/14/bert-pytorch-tvm","code_link":"https://github.com/t-vi/pytorch-tvmisc/tree/master/transformers-pytorch-tvm/","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://github.com/t-vi/pytorch-tvmisc"}]},{"id":1868,"title":"Selfie2Anime with TFLite","description":"An end-to-end tutorial with TensorFlow Lite for Selfie2Anime (U-GAT-IT). ","tags":["article","code","tutorial","tensorflow","deep-learning","generative-adversarial-networks","machine-learning","computer-vision","image-to-image-translation","tensorflow-lite","android"],"details":"This is a multi-part tutorial - [Part 1](http://bit.ly/selfie2anime-1) | [Part 2](http://bit.ly/selfie2anime-2) | [Part 3](http://bit.ly/selfie2anime-3)\r\n\r\nThe tutorial covers the following:\r\n\r\n- Exporting model checkpoints as `SavedModel` TF 1.x\r\n- Conversion of the `SavedModel` to TensorFlow Lite in TF 2.x with `TFLiteConverter`\r\n- Model inference in Python\r\n- Add metadata to the TFLite model\r\n- Run TFLite Benchmarking Tool\r\n- Deploy TFLite model to Android in just a few lines of code with ML Model Binding\r\n","links":[{"article_link":"https://medium.com/@margaretmz/selfie2anime-with-tflite-part-1-overview-f97500800ffe","code_link":"https://github.com/margaretmz/selfie2anime-with-tflite","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1867,"title":"YOLOv4 With TensorFlow","description":"YOLOv4, YOLOv4-tiny, YOLOv3, YOLOv3-tiny Implemented in Tensorflow 2.0, Android. Convert YOLO v4 .weights tensorflow, tensorrt and tflite.","tags":["code","paper","research","tutorial","video","tensorflow","computer-vision","object-detection","yolo","tensorflow-lite","yolov4","arxiv:2004.10934","yolov4-tiny"],"details":"YOLOv4, YOLOv4-tiny Implemented in Tensorflow 2.0. Convert YOLO v4, YOLOv3, YOLO tiny .weights to .pb, .tflite and trt format for tensorflow, tensorflow lite, tensorRT.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/theAIGuysCode/tensorflow-yolov4-tflite","research_link":"https://arxiv.org/abs/2004.10934","media_link":"https://www.youtube.com/watch?v=iPwepy-SVCQ","dataset_link":"","demo_link":"","other_link":""}]},{"id":1866,"title":"PYthon Automated Term Extraction","description":"Term extraction algorithms such as C-Value, Basic, Combo Basic, Weirdness and Term Extractor using spaCy POS tagging.","tags":["article","code","spacy","library","named-entity-recognition","natural-language-processing","part-of-speech-tagging","terminology-extraction","terminology","pyate"],"details":"Python implementation of term extraction algorithms such as C-Value, Basic, Combo Basic, Weirdness and Term Extractor using spaCy POS tagging.\r\n\r\nIf you have a suggestion for another ATE algorithm you would like implemented in this package feel free to file it as an issue with the paper the algorithm is based on.","links":[{"article_link":"https://medium.com/@praveengovi.analytics/automated-term-extraction-with-pyate-spacy-60f9468fbfb3","code_link":"https://github.com/kevinlu1248/pyate","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1865,"title":"PDFTableExtract","description":"Build a parser to extract the table in PDF document with RetinaNet","tags":["article","code","library","computer-vision","optical-character-recognition","document-processing","table-extraction","retinanet","pdftableextract","table-detection"],"details":"There are two parts we will build. In the first part, I will go through how to train Keras-RetinaNet to detect tables in PDF file and save the weight. In the last part, I\u2019ll go through how to load the weight, and run the prediction to detect the table on the given PDF file and extract it into Panda data frame.","links":[{"article_link":"https://medium.com/@djajafer/pdf-table-extraction-with-keras-retinanet-173a13371e89","code_link":"https://github.com/ferrygun/PDFTableExtract","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1864,"title":"Deep Dive on PyTorch Quantization","description":"Model quantization using the familiar eager mode Python API.","tags":["article","tutorial","video","pytorch","model-compression","quantization"],"details":"It\u2019s important to make efficient use of both server-side and on-device compute resources when developing machine learning applications. To support more efficient deployment on servers and edge devices, PyTorch added a support for model quantization using the familiar eager mode Python API.\r\n\r\nQuantization leverages 8bit integer (int8) instructions to reduce the model size and run the inference faster (reduced latency) and can be the difference between a model achieving quality of service goals or even fitting into the resources available on a mobile device. Even when resources aren\u2019t quite so constrained it may enable you to deploy a larger and more accurate model. Quantization is available in PyTorch starting in version 1.3 and with the release of PyTorch 1.4 we published quantized models for ResNet, ResNext, MobileNetV2, GoogleNet, InceptionV3 and ShuffleNetV2 in the PyTorch torchvision 0.5 library.","links":[{"article_link":"https://pytorch.org/docs/stable/quantization.html","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=c3MT2qV5f9w","dataset_link":"","demo_link":"","other_link":""}]},{"id":1863,"title":"Variable Skipping for Autoregressive Range Density Estimation","description":"Naive marginalization to estimate range densities takes time exponential in the number of dimensions of the joint distribution.","tags":["article","code","paper","research","variable-skipping","autoregressive-range-density-estimation","arxiv:2007.05572"],"details":"* We propose range density estimation, a new downstream task for autoregressive models.\r\n* Inspired by ML-for-systems application: database query optimization.\r\n* Prior work uses a forward sampling-style algorithm for approximate inference.\r\n* We speed up inference by simple data augmentation: randomly mask inputs at training; invoke learned masks to skip inferring unconstrained variables at inference.\r\n* Variable skipping outperforms multi-order training alone, and can provide additional gains when used in combination.\r\n* We invite future research on this relatively under-explored task, where better performance translates to real-world impact (faster query engines).\r\n\r\nTo skip sampling unconstrained/absent variables during inference, we propose training special MASK tokens that signify a variable's absence:\r\n\r\n","links":[{"article_link":"https://var-skip.github.io/","code_link":"https://github.com/var-skip/var-skip","research_link":"https://arxiv.org/abs/2007.05572","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1862,"title":"NumExpr: Fast numerical expression evaluator for NumPy","description":"Fast numerical array expression evaluator for Python, NumPy, PyTables, pandas, bcolz and more.","tags":["article","code","tutorial","library","pandas","numpy","numexpr"],"details":"NumExpr is a fast numerical expression evaluator for NumPy. With it, expressions that operate on arrays (like '3*a+4*b') are accelerated and use less memory than doing the same calculation in Python.\r\n\r\nIn addition, its multi-threaded capabilities can make use of all your cores -- which generally results in substantial performance scaling compared to NumPy.\r\n\r\nLast but not least, numexpr can make use of Intel's VML (Vector Math Library, normally integrated in its Math Kernel Library, or MKL). This allows further acceleration of transcendent expressions.","links":[{"article_link":"https://towardsdatascience.com/speed-up-your-numpy-and-pandas-with-numexpr-package-25bd1ab0836b","code_link":"https://github.com/pydata/numexpr","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://numexpr.readthedocs.io/"}]},{"id":1861,"title":"Determined: Deep Learning Training Platform","description":"Determined helps deep learning teams train models more quickly, easily share GPU resources, and effectively collaborate.","tags":["code","library","distributed-training","experiment-tracking","hyperparameter-optimization","neural-architecture-search","deeplearning","ml-infrastructure","model-registry"],"details":"","links":[{"article_link":"","code_link":"https://github.com/determined-ai/determined","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://determined.ai/"}]},{"id":1860,"title":"NSFW Image Moderation Automation Engine built with TensorFlow.JS ","description":"An open-source NSFW Image Classifier including an Automation Engine for fast deletion & moderation built with Node.js, TensorFlow, and Parse Server","tags":["article","code","tutorial","node-js","tensorflow","tensorflow-js","convolutional-neural-networks","library","computer-vision","image-classification","image-recognition","object-detection","pretraining","open-source","models","demo","nsfw","content-moderation","nsfw-detection","nsfw-classifier","parse-server","machine-learning-pipelines","adversial-image-detection","adversial-learning","ready-to-use","automation-engine"],"details":"## Builidng a NSFW Image Moderation Automation with Parse Config & Triggers\r\nDid you like our **[NSFW Image Classification REST API](https://bit.ly/2C8U4BV)**? If you did, this week we have prepared for you something really useful to build on top and get you closer to implementing a fully operational Content Moderation Service of your own! \r\n\r\n## [Part 2: NSFW Content Moderation Automation Engine](https://bit.ly/2OAD1vn)\r\nIf you are developing the next Tinder, Netflix, Google Maps, Snapchat, or any kind of app with lots of user-generated content then you must have faced head-on the challenges of Content Moderation. Or maybe you've already built a relatively medium-sized app(\u2248 5 000 daily users) and 5 000 photos are uploaded every 24 hours. That makes 35 000 per week and 150 000 per month. WOW! **Do you set aside a budget for content moderators? Or go through 150 000 pictures manually each month? There is an easier way! **([learn how](https://bit.ly/2OAD1vn))\r\n\r\n## What's Next?\r\nBy the end of the series you'll get a **simple, effective and ready-to-use Content Moderation solution** that can be easily integrated into every project even if this is your first encounter with Machine Learning. So in the final tutorial, we will put the cherry on top by adding **React** to our stack and create a **[beautiful Admin panel](https://bit.ly/39eHpJM)**. \r\n\r\n## Give Us a Shout!\r\nWhether you deploy directly, integrate, or fork our solution if you liked what we did, don't forget to give us a shout on [Twitter](https://twitter.com/sashidoio) or share the [repo](https://bit.ly/3j19xEN). Thank you in advance for the support!\r\n\r\n## Your Feedback Matters!\r\nHelp us in our mission to break the barrier to Machine Learning by sharing your feedback and use cases at hello@sashido.io.\r\n\r\nBut enough talk, I know you can't wait to get your hands dirty & start creating better apps with ML! \ud83d\ude1c\r\n\r\n\r\nP.S. *Feel free to take advantage of SashiDo's extended [45-day free trial](https://bit.ly/32gmQvd), no credit card required. Valid until 1st of Sep, 2020*","links":[{"article_link":"https://bit.ly/2OAD1vn","code_link":"https://bit.ly/3j19xEN","research_link":"","media_link":"https://bit.ly/3er35Dz","dataset_link":"","demo_link":"https://bit.ly/2WcsDOv","other_link":"https://bit.ly/2WlfMcW"}]},{"id":1859,"title":"You Trained a Machine Learning Model, Now What?","description":"Three often overlooked parts of this process occur after the model is actually built: model evaluation, deployment, and monitoring.","tags":["tutorial","video","production","monitoring","deployment"],"details":"Training a machine learning model is just one part of building ML powered products. Building products is an iterative process that starts with a question, challenge, or opportunity. From there we build hypotheses, collect data, and train models. But 3 often overlooked parts of this process occur after the model is actually built: model evaluation, deployment, and monitoring.\r\n\r\nThe very first video Luigi has created for the Made With ML incubator program, with a QA session to follow shortly!\r\n","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=Vugbn17LDPQ","dataset_link":"","demo_link":"","other_link":"https://www.slideshare.net/LuigiPatruno1/youve-trained-a-machine-learning-model-now-what"}]},{"id":1858,"title":"QSVM","description":"Quantum SVM for sentiment analysis","tags":["code","notebook","support-vector-machines","natural-language-processing","quantum-machine-learning","sentiment-analysis"],"details":"Created a Quantum Support Vector Machine model with TF IDF vectorization for Kaggle's Real or Not Tweets Competition. Used Qiskit and scikit-learn.","links":[{"article_link":"","code_link":"https://colab.research.google.com/drive/1SleDwcpV6QNEmIDXc4m3kLsSeSRiet_O","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1856,"title":"DeepDream Video Style Transfer","description":"DeepDream on Video","tags":["code","convolutional-neural-networks","computer-vision","style-transfer"],"details":"Script that breaks down a video into frames, applies a DeepDream filter on it using a CNN, then joins frames together to create a style inspired by [https://www.youtube.com/watch?v=5WqFqzeLpXg](https://www.youtube.com/watch?v=5WqFqzeLpXg)","links":[{"article_link":"","code_link":"https://github.com/boronhub/deepdream_dude","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1855,"title":"ULMFiT Airline Sentiment Analysis","description":"Transfer Learning using pretrained ULMFiT model","tags":["code","language-modeling","natural-language-processing","sentiment-analysis","transfer-learning","ulmfit"],"details":"For Fellowship.AI Membership challenge. Using pretrained ULMFiT model from fast.ai library to predict sentiment of tweets about US Airlines. ","links":[{"article_link":"","code_link":"https://www.kaggle.com/kagglebrun/twitter-us-airline-sentiment-analysis-ulmfit","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1854,"title":"Janggu - Deep learning for Genomics","description":"Deep learning infrastructure for bioinformatics.","tags":["code","paper","research","keras","tensorflow","health","library","genomics","bioinformatics","janggu","epigenetics"],"details":"1. Janggu provides special Genomics datasets that allow you to access raw data in FASTA, BAM, BIGWIG, BED and GFF file format.\r\n1. Various normalization procedures are supported for dealing with of the genomics dataset, including 'TPM', 'zscore' or custom normalizers.\r\n1. Biological features can be represented in terms of higher-order sequence features, e.g. di-nucleotide based features.\r\n1. The dataset objects are directly consumable with neural networks for example implemented using keras or using scikit-learn (see src/examples in this repository).\r\n1. Numpy format output of a keras model can be converted to represent genomic coverage tracks, which allows exporting the predictions as BIGWIG files and visualization of genome browser-like plots.\r\n1. Genomic datasets can be stored in various ways, including as numpy array, sparse dataset or in hdf5 format.\r\n1. Caching of Genomic datasets avoids time consuming preprocessing steps and facilitates fast reloading.\r\n1. Janggu provides a wrapper for keras models with built-in logging functionality and automatized result evaluation.\r\n1. Janggu supports input feature importance attribution using the integrated gradients method and variant effect prediction assessment.\r\n1. Janggu provides a utilities such as keras layer for scanning both DNA strands for motif occurrences.","links":[{"article_link":"","code_link":"https://github.com/BIMSBbioinfo/janggu","research_link":"https://www.nature.com/articles/s41467-020-17155-y","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1853,"title":"The Transformer Neural Network Architecture Explained","description":"\u2699\ufe0f It is time to explain how Transformers work. If you are looking for an easy explanation, you are exactly right!","tags":["tutorial","video","attention","self-attention","transformers","natural-language-processing","positional-encoding"],"details":"\u2699\ufe0f It is time to explain how Transformers work. If you are looking for an easy explanation, you are exactly right! ","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=FWFA4DGuzSc","dataset_link":"","demo_link":"","other_link":""}]},{"id":1852,"title":"Madam Optimiser","description":"A multiplicative version of the Adam optimizer and shows that it can train state of the art neural network architectures without learning rate tuning.","tags":["code","paper","research","learning-rates","optimizer","madam","arxiv:2006.14560"],"details":"Compositionality is a basic structural feature of both biological and artificial neural networks. Learning compositional functions via gradient descent incurs well known problems like vanishing and exploding gradients, making careful learning rate tuning essential for real-world applications. This paper proves that multiplicative weight updates satisfy a descent lemma tailored to compositional functions. Based on this lemma, we derive Madam---a multiplicative version of the Adam optimiser---and show that it can train state of the art neural network architectures without learning rate tuning. We further show that Madam is easily adapted to train natively compressed neural networks by representing their weights in a logarithmic number system. We conclude by drawing connections between multiplicative weight updates and recent findings about synapses in biology.","links":[{"article_link":"","code_link":"https://github.com/jxbz/madam","research_link":"https://arxiv.org/abs/2006.14560","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1851,"title":"StreamAlert","description":"A serverless, realtime data analysis framework which empowers you to ingest, analyze, and alert on data from any environment, using datasources and alerts.","tags":["code","aws","library","security","monitoring","lambda","serverless","streaming-data","streamalert","airbnb","kinesis","terraform"],"details":"StreamAlert is a serverless, real-time data analysis framework which empowers you to ingest, analyze, and alert on data from any environment, using data sources and alerting logic you define. Computer security teams use StreamAlert to scan terabytes of log data every day for incident detection and response.\r\n\r\n**Features**\r\n\r\n* Rules are written in Python; they can utilize any Python libraries or functions\r\n* Ingested logs and generated alerts can be retroactively searched for compliance and research\r\n* Serverless design is cheaper, easier to maintain, and scales to terabytes per day\r\n* Deployment is automated: simple, safe and repeatable for any AWS account\r\n* Secure by design: least-privilege execution, containerized analysis, and encrypted data storage\r\n* Merge similar alerts and automatically promote new rules if they are not too noisy\r\n* Built-in support for dozens of log types and schemas\r\n* Built-in collection of broadly applicable community rules\r\n* Fully open source and customizable: add your own log schemas, rules, and alert outputs","links":[{"article_link":"","code_link":"https://github.com/airbnb/streamalert","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://streamalert.io/"}]},{"id":1850,"title":"Wallaroo","description":"Distributed Stream Processing to Build and scale real-time applications.","tags":["article","code","library","streaming-data","stream-processing","wallaroo"],"details":"Wallaroo is a fast stream-processing framework. Wallaroo makes it easy to react to data in real-time. By eliminating infrastructure complexity, going from prototype to production has never been simpler.\r\n\r\nWhen we set out to build Wallaroo, we had several high-level goals in mind:\r\n\r\n* Create a dependable and resilient distributed computing framework\r\n* Take care of the complexities of distributed computing \"plumbing,\" allowing developers to focus on their business logic\r\n* Provide high-performance & low-latency data processing\r\n* Be portable and deploy easily (i.e., run on-prem or any cloud)\r\n* Manage in-memory state for the application\r\n* Allow applications to scale as needed, even when they are live and up-and-running","links":[{"article_link":"https://blog.wallaroolabs.com/2017/03/hello-wallaroo/","code_link":"https://github.com/WallarooLabs/wallaroo","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://www.wallaroolabs.com/"}]},{"id":1849,"title":"Faust","description":"Python Stream Processing.","tags":["code","library","streaming-data","faust","robinhood"],"details":"**Faust** is a stream processing library, porting the ideas from\r\n`Kafka Streams`_ to Python.\r\n\r\nIt is used at `Robinhood`_ to build high performance distributed systems\r\nand real-time data pipelines that process billions of events every day.\r\n\r\nFaust provides both *stream processing* and *event processing*,\r\nsharing similarity with tools such as\r\n`Kafka Streams`_, `Apache Spark`_/`Storm`_/`Samza`_/`Flink`_,\r\n\r\nIt does not use a DSL, it's just Python!\r\nThis means you can use all your favorite Python libraries\r\nwhen stream processing: NumPy, PyTorch, Pandas, NLTK, Django,\r\nFlask, SQLAlchemy, ++\r\n","links":[{"article_link":"","code_link":"https://github.com/robinhood/faust","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"http://faust.readthedocs.io/"}]},{"id":1848,"title":"Comprehensive analysis of important metrics in ML","description":"In this work, the authors present a comprehensive analysis of important metrics in practical applications.","tags":["paper","research","deep-learning","computer-vision","image-classification","metrics","arxiv:1605.07678"],"details":">Since the breakthrough in 2012 ImageNet competition (Russakovsky et al., 2015) achieved by\r\nAlexNet (Krizhevsky et al., 2012) \u2014 the first entry that used a Deep Neural Network (DNN) \u2014\r\nseveral other DNNs with increasing complexity have been submitted to the challenge in order to\r\nachieve better performance.\r\nIn the ImageNet classification challenge, the ultimate goal is to obtain the highest accuracy in a\r\nmulti-class classification problem framework, regardless of the actual inference time. We believe\r\nthat this has given rise to several problems. Firstly, it is now normal practice to run several trained\r\ninstances of a given model over multiple similar instances of each validation image. This practice,\r\nalso know as model averaging or ensemble of DNNs, dramatically increases the amount of computation required at inference time to achieve the published accuracy. Secondly, model selection is\r\nhindered by the fact that different submissions are evaluating their (ensemble of) models a different\r\nnumber of times on the validation images, and therefore the reported accuracy is biased on the specific sampling technique (and ensemble size). Thirdly, there is currently no incentive in speeding up\r\ninference time, which is a key element in practical applications of these models, and affects resource\r\nutilisation, power-consumption, and latency.\r\nThis article aims to compare state-of-the-art DNN architectures, submitted for the ImageNet challenge over the last 4 years, in terms of computational requirements and accuracy. We compare these\r\narchitectures on multiple metrics related to resource utilisation in actual deployments: accuracy,\r\nmemory footprint, parameters, operations count, inference time and power consumption. The purpose of this paper is to stress the importance of these figures, which are essential hard constraints\r\nfor the optimisation of these networks in practical deployments and applications.","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/1605.07678","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1847,"title":"Driver Identification Based on Vehicle's telematics data","description":"In this paper, we proposed a deep learning model, which can identify drivers from their driving behaviors based on vehicle telematics data.","tags":["code","paper","research","deep-learning","lstm","machine-learning","cyber-security","autonomous-vehicles","computer-vision","telematics"],"details":"Despite advancements in vehicle security systems, over the last decade, auto-theft rates have increased, and cybersecurity attacks on internet-connected and autonomous vehicles are becoming a new threat. In this paper, we proposed a deep learning model, which can identify drivers from their driving behaviors based on vehicle telematics data. Given the telematics is time-series data, the problem is formulated as a time series prediction task to exploit the embedded sequential information. The performance of the proposed approach is evaluated on three naturalistic driving datasets, which gives high accuracy prediction results. The robustness of the model on noisy and anomalous data that is usually caused by sensor defects or environmental factors is also investigated. Results show that the proposed model prediction accuracy remains satisfactory and outperforms the other approaches despite the extent of anomalies and noise-induced in the data.","links":[{"article_link":"","code_link":"https://github.com/Abeni18/Deep-LSTM-for-Driver-Identification-","research_link":"https://ieeexplore.ieee.org/stamp/stamp.jsp?arnumber=8995202&casa_token=FnCWyRl9S0sAAAAA:BJf0ASpjoTmdSgGQcJUVa-k-0olRVMwBObUuyNu0ddNwd2Xj8mTQO3Fh-qiwGzEXdtox8bGq3g&tag=1","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1846,"title":"scikit-multiflow","description":"A machine learning package for streaming data in Python.","tags":["code","video","scikit-learn","library","unsupervised-learning","concept-drift-detection","streaming-data","scikit-multiflow"],"details":"**Incremental Learning**\r\nStream learning models are created incrementally and are updated continuously. They are suitable for big data applications where real-time response is vital.\r\n\r\n**Adaptive learning**\r\nChanges in data distribution harm learning. Adaptive methods are specifically designed to be robust to concept drift changes in dynamic environments.\r\n\r\n**Resource-wise efficient**\r\nStreaming techniques efficiently handle resources such as memory and processing time given the unbounded nature of data streams.\r\n\r\n**Easy to use**\r\nscikit-multiflow is designed for users with any experience level. Experiments are easy to design, setup, and run. Existing methods are easy to modify and extend.\r\n\r\n**Stream learning tools**\r\nIn its current state, scikit-multiflow contains data generators, multi-output/multi-target stream learning methods, change detection methods, evaluation methods, and more.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/scikit-multiflow/scikit-multiflow","research_link":"","media_link":"https://www.youtube.com/watch?v=sw85SCv847Y","dataset_link":"","demo_link":"","other_link":"https://scikit-multiflow.github.io/"}]},{"id":1845,"title":"Face Predicting Web App","description":"Interactive Deep Learning Model that utilizes your computer webcam to predict your age and gender in seconds! ","tags":["code","aws","docker","flask","html","javascript","python","tensorflow","convolutional-neural-networks","deep-learning","machine-learning","computer-vision","image-classification","demo"],"details":"A personal project I decided to pursue to get familiar with deploying ML models on the cloud. Try it out and let me know what you think!","links":[{"article_link":"","code_link":"https://github.com/huntermitchell123/webApp","research_link":"","media_link":"","dataset_link":"","demo_link":"https://huntermitchell.net/project","other_link":""}]},{"id":1844,"title":"Semi-Supervised Learning in Computer Vision","description":"A comprehensive overview of recent semi-supervised learning methods in Computer Vision","tags":["article","tutorial","computer-vision","data-augmentation","semi-supervised-learning"],"details":"- Learn about self-training, consistency training and hybrid methods\r\n- Learn about 9 recent architectures for semi-supervised learning\r\n- Visual diagrams for each architecture explained using a simple cats-vs-dogs example","links":[{"article_link":"https://amitness.com/2020/07/semi-supervised-learning/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1843,"title":"Cortex","description":"Build machine learning APIs.","tags":["code","library","production","serving","cortex"],"details":"Cortex makes deploying, scaling, and managing machine learning systems in production simple. We believe that developers in any organization should be able to add natural language processing, computer vision, and other machine learning capabilities to their applications without having to worry about infrastructure.\r\n\r\n#### How it works:\r\nImplement your predictor in predictor.py, configure your deployment in cortex.yaml, and run cortex deploy.\r\n\r\nHere's how to deploy GPT-2 as a scalable text generation API:\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/cortexlabs/cortex","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://www.cortex.dev/"}]},{"id":1842,"title":"PyCaret","description":"An open source, low-code machine learning library in Python.","tags":["article","code","video","library","automl","preprocessing","pycaret","low-code"],"details":"PyCaret is an open source `low-code` machine learning library in Python that aims to reduce the hypothesis to insights cycle time in a ML experiment. It enables data scientists to perform end-to-end experiments quickly and efficiently. In comparison with the other open source machine learning libraries, PyCaret is an alternative low-code library that can be used to perform complex machine learning tasks with only few lines of code. PyCaret is essentially a Python wrapper around several machine learning libraries and frameworks such as `scikit-learn`, `XGBoost`, `Microsoft LightGBM`, `spaCy` and many more. \r\n\r\n\r\n\r\nPyCaret is `simple`, `easy to use` and `deployment ready`. All the steps performed in a ML experiment can be reproduced using a pipeline that is automatically developed and orchestrated in PyCaret as you progress through the experiment. A `pipeline` can be saved in a binary file format that is transferable across environments.\r\n\r\nFor more information on PyCaret, please visit our official website https://www.pycaret.org\r\n","links":[{"article_link":"https://towardsdatascience.com/github-is-the-best-automl-you-will-ever-need-5331f671f105","code_link":"https://github.com/pycaret/pycaret","research_link":"","media_link":"https://www.youtube.com/channel/UCxA1YTYJ9BEeo50lxyI_B3g/videos","dataset_link":"","demo_link":"","other_link":"https://pycaret.org/"}]},{"id":1841,"title":"Highlights of ACL 2020","description":"Notes and trends from ACL 2020.","tags":["article","research","acl2020"],"details":"I decided to share the notes I took and discuss some overall trends. The list is not exhaustive, and is based on my research interests. I recommend also checking out the [best papers](https://acl2020.org/blog/ACL-2020-best-papers/).","links":[{"article_link":"https://medium.com/@vered1986/highlights-of-acl-2020-4ef9f27a4f0c","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1840,"title":"TensorFlow 2 meets the Object Detection API","description":"TF Object Detection API (OD API) officially supports TensorFlow 2!","tags":["article","code","notebook","tensorflow","library","computer-vision","object-detection","demo"],"details":"If you\u2019d like to get your feet wet immediately, we recommend checking out our shiny new Colab demos (for [inference](https://github.com/tensorflow/models/blob/master/research/object_detection/colab_tutorials/inference_tf2_colab.ipynb) and [few-shot training](https://github.com/tensorflow/models/blob/master/research/object_detection/colab_tutorials/eager_few_shot_od_training_tf2_colab.ipynb)).","links":[{"article_link":"https://blog.tensorflow.org/2020/07/tensorflow-2-meets-object-detection-api.html","code_link":"https://github.com/tensorflow/models/tree/master/research/object_detection","research_link":"","media_link":"","dataset_link":"","demo_link":"https://github.com/tensorflow/models/blob/master/research/object_detection/colab_tutorials/eager_few_shot_od_training_tf2_colab.ipynb","other_link":"https://github.com/tensorflow/models/blob/master/research/object_detection/colab_tutorials/inference_tf2_colab.ipynb"}]},{"id":1839,"title":"Gradio","description":"Interfaces for your ML Models.\r\n","tags":["code","library","dashboard","gradio"],"details":"Generate an easy-to-use UI for your ML model, function, or API with only a few lines of code. Integrate directly into your Python notebook, or share a link with anyone.\r\n","links":[{"article_link":"","code_link":"https://github.com/gradio-app/gradio","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://www.gradio.app/"}]},{"id":1838,"title":"Audio Classification using CNN MLP","description":"The objective of this project is to build a multi-class classifier to identify the sound of a bee, cricket or noise.","tags":["code","dataset","paper","research","convolutional-neural-networks","audio","audio-classification","cnn","mlp","multilayer-perceptron-network","tflearn","noise","convolutional-layers","cricket","classifier","audio-processing","audio-analysis"],"details":"","links":[{"article_link":"","code_link":"https://github.com/vishalshar/Audio-Classification-using-CNN-MLP","research_link":"https://github.com/vishalshar/Audio-Classification-using-CNN-MLP/blob/master/project report.pdf","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1837,"title":"Speaker Diarization (CNN, RNN, LSTM)","description":"Speaker Diarization is the problem of separating speakers in audio. ","tags":["code","paper","research","tensorflow","convolutional-neural-networks","lstm","recurrent-neural-networks","audio","speaker-diarization","speech","mlp","speaker-diarization-problem","speakerdiarization-rnn","cnn-model","separating-speakers","arxiv:2006.05596"],"details":"Speaker Diarization is the problem of separating speakers in an audio. There could be any number of speakers and final result should state when speaker starts and ends. In this project, we analyze given audio file with 2 channels and 2 speakers (on separate channel). We train Neural Network for learning when a person is speaking. We use different type of Neural Networks specifically, Single Layer Perceptron, Multi Layer Perceptron (MLP), Recurrent Neural Network (RNN) and Convolution Neural Network (CNN) we achieve 92% of accuracy with RNN.","links":[{"article_link":"","code_link":"https://github.com/vishalshar/SpeakerDiarization_RNN_CNN_LSTM","research_link":"https://arxiv.org/abs/2006.05596","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1836,"title":"Training a pets detector model with TFOD API (TF 2)","description":"In this notebook, we will be training a custom object detection model using the latest TensorFlow Object Detection (TFOD) API which is based on TensorFlow 2.2. ","tags":["code","notebook","tutorial","tensorflow","deep-learning","computer-vision","object-detection"],"details":"The content covers:\r\n\r\n- Set up TFOD API\r\n- Gather Pets dataset and prepare it\r\n- Set up GCP utilities\r\n\t- Configure GCP project\r\n\t- Configure GCS bucket\r\n\t- Set compute zone\r\n- Copy over the necessary files to GCS bucket\r\n\t- Data\r\n\t- Pretrained model checkpoints\r\n- Kickstart model training\r\n- Model evaluation\r\n- Monitor model with TensorBoard within Colab Notebook","links":[{"article_link":"","code_link":"https://colab.research.google.com/github/sayakpaul/TF-2.0-Hacks/blob/master/Training_a_pets_detector_model_within_minutes_with_TFOD_API.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1835,"title":"Multi Agent Diverse Generative Adversarial Network","description":"Easy to follow Pytorch tutorial Notebook for Multi-Agent Diverse Generative Adversarial Networks","tags":["code","paper","research","tutorial","video","pytorch","generative-adversarial-networks"],"details":"The proposed MAD-GAN is an intuitive generalization to the Generative Adversarial Networks (GANs) and its conditional variants to address the well known problem of mode\r\ncollapse. First, MAD-GAN is a multi-agent GAN architecture incorporating multiple generators and one discriminator. Second, to enforce that different generators capture diverse high probability modes, the discriminator of MAD-GAN is designed such that along with finding the real and fake samples, it is also required to identify the generator that generated the given fake sample","links":[{"article_link":"","code_link":"https://github.com/shyam671/Multi-Agent-Diverse-Generative-Adversarial-Networks","research_link":"http://openaccess.thecvf.com/content_cvpr_2018/papers/Ghosh_Multi-Agent_Diverse_Generative_CVPR_2018_paper.pdf","media_link":"https://www.youtube.com/watch?v=DP4j2w-x7KI","dataset_link":"","demo_link":"","other_link":""}]},{"id":1834,"title":"Laplacian Pyramid Reconstruction and Refinement for Semantic Seg.","description":" Pytorch implementation of multi-resolution reconstruction architecture based on a Laplacian pyramid that uses skip connections.","tags":["code","paper","research","pytorch","deep-learning","computer-vision","semantic-segmentation","segmentation","arxiv:1605.02264"],"details":"This paper makes two contributions: (1) We demonstrate that while the apparent spatial resolution of convolutional feature maps is low, the high-dimensional feature representation contains significant sub-pixel localization information. (2) We describe a multi-resolution reconstruction architecture based on a Laplacian pyramid that uses skip connections from higher resolution feature\r\nmaps and multiplicative gating to successively refine segment boundaries reconstructed from lower-resolution maps. This approach yields state-of-the-art semantic segmentation results on the PASCAL VOC and Cityscapes segmentation benchmarks without resorting to more complex random-field inference or instance detection driven architectures.","links":[{"article_link":"","code_link":"https://github.com/shyam671/Laplacian-Pyramid-Reconstruction-and-Refinement-for-Semantic-Segmentation","research_link":"https://arxiv.org/abs/1605.02264","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1833,"title":"jax-unirep","description":"A reimplementation of the UniRep model in JAX.","tags":["code","paper","research","jax","lstm","recurrent-neural-networks","protein-engineering"],"details":"Here, we accelerated the UniRep model by reimplementing it in JAX, and provide a clean API on top of the core model for production use in protein engineering applications.","links":[{"article_link":"","code_link":"https://github.com/ElArkk/jax-unirep","research_link":"https://www.biorxiv.org/content/10.1101/2020.05.11.088344v1","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1832,"title":"Market Basket Analysis using Data Science with R Programming","description":"Domain: Inventory Management\r\n\r\nProblem Statement: As a new manager in the company, you are assigned the task of increasing cross selling","tags":["article","research","tutorial","video","r","library","data-science"],"details":"Data Science is one of the top trending technology of the era and data science has stretched its roots deep down in the corporate industry. Due to this vast inference, new age learners and working professionals are keen to learn this technology. To curb this, various [online data science courses](https://intellipaat.com/data-scientist-course-training/) are available through which one can master data science and begin career as a data scientist.\r\nData science is a broad career path and is undergoing developments and thus promises abundant opportunities in the future. Data Science job roles are likely to get more specific, which will lead to specializations in the field. People inclined towards this\r\nstream can exploit their opportunities and pursue what suits them best through there specializations and specifications.","links":[{"article_link":"https://intellipaat.com/blog/tutorial/data-science-tutorial/","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=9l0DAYyJJhI","dataset_link":"","demo_link":"","other_link":"https://intellipaat.com/blog/tutorial/r-programming/"}]},{"id":1831,"title":"TF Sprinkles","description":"Fast and efficient sprinkles augmentation implemented in TensorFlow.","tags":["article","code","tensorflow","library","computer-vision","data-augmentation"],"details":"If you take a random grid/series of small squares, and randomly sprinkle those on the image, and slowly increase their probability and sizes, then you can force the CNN to look more completely at the entire image for classification clues, while at the same time, in most cases, avoid blocking out enough data that would block it from truly learning.","links":[{"article_link":"https://medium.com/@lessw/progressive-sprinkles-a-new-data-augmentation-for-cnns-and-helps-achieve-new-98-nih-malaria-6056965f671a","code_link":"https://github.com/Engineero/tf_sprinkles","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://forums.fast.ai/t/progressive-sprinkles-cutout-variation-my-new-data-augmentation-98-on-nih-malaria-dataset/50454"}]},{"id":1830,"title":"GPflow","description":"Gaussian processes in TensorFlow.","tags":["code","tensorflow","library","gaussian-processes"],"details":"GPflow is a package for building Gaussian process models in Python, using TensorFlow. GPflow implements modern Gaussian process inference for composable kernels and likelihoods. The online documentation (develop)/(master) contains more details.","links":[{"article_link":"","code_link":"https://github.com/GPflow/GPflow","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://gpflow.org/"}]},{"id":1829,"title":"Gaussian Process Regression on Molecules in GPflow","description":"Predict the experimentally-determined electronic transition wavelengths of molecular photoswitches.","tags":["article","code","notebook","tutorial","regression","library","chemistry","gaussian-processes","molecules","gpflow"],"details":"This post demonstrates how to train a Gaussian Process (GP) to predict molecular properties using the GPflow library by creating a custom-defined Tanimoto kernel to operate on Morgan fingerprints.","links":[{"article_link":"https://medium.com/@ryangriff123/gaussian-process-regression-on-molecules-in-gpflow-ee6fedab2130","code_link":"https://github.com/Ryan-Rhys/The-Photoswitch-Dataset/blob/master/examples/gp_regression_on_molecules.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1828,"title":"Dash","description":"Analytical Web Apps for Python, R, Julia, and Jupyter. No JavaScript Required.\r\n\r\n","tags":["code","library","visualization","plotly","demo","dash","dashboard"],"details":"Built on top of Plotly.js, React and Flask, Dash ties modern UI elements like dropdowns, sliders, and graphs directly to your analytical Python code. Read our tutorial proudly crafted \u2764\ufe0f by Dash itself.\r\n\r\n- [User Guide](https://dash.plotly.com/getting-started)\r\n- [Offline (PDF) Documentation](https://github.com/plotly/dash-docs/blob/master/pdf-docs/Dash_User_Guide_and_Documentation.pdf)\r\n- [Dash Docs on Heroku](https://dash-docs.herokuapp.com/) \r\n\r\n\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/plotly/dash","research_link":"","media_link":"https://github.com/plotly/dash-sample-apps/tree/master/apps/dash-cuml-umap","dataset_link":"","demo_link":"https://dash-gallery.plotly.host/Portal/","other_link":"https://plotly.com/dash/"}]},{"id":1827,"title":"token2index","description":"A lightweight but powerful library to build token indices for NLP tasks, compatible with major Deep Learning frameworks like PyTorch and Tensorflow.","tags":["code","sequence-to-sequence","library","natural-language-processing","preprocessing","tokenization"],"details":"token2index is a small yet powerful library facilitating the fast and easy creation of a data structure mapping tokens to indices, primarily aimed at applications for Natural Language Processing. The library is fully tested, and does not require any additional requirements. The documentation can be found here, some feature highlights are shown below.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/Kaleidophon/token2index","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"http://token2index.readthedocs.io/"}]},{"id":1826,"title":"Continuous Integration on TPUs with PyTorch Lightning","description":"In preparation for our upcoming V1, we have taken a major step in our support for training on TPUs.","tags":["article","tpu","pytorch-lightning","ci-cd"],"details":"As the first ML framework to implement PyTorch\u2019s xla-TPU support (PyTorch Lightnight\u2019s TPU support is built on top of pytorch/xla\u2019s support of PyTorch native API), we continue to lead the charge in getting PyTorch users closer to running full workloads on TPUs. We\u2019re proud to show you how we became the first ML framework to run CI on TPUs!","links":[{"article_link":"https://medium.com/pytorch/how-pytorch-lightning-became-the-first-ml-framework-to-runs-continuous-integration-on-tpus-a47a882b2c95","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1825,"title":"MLflow: A Machine Learning Lifecycle Platform","description":"Open source platform for the machine learning lifecycle.","tags":["code","model-management","library","mlflow","experiment-tracking","apache-spark","data-versioning"],"details":"MLflow is a platform to streamline machine learning development, including tracking experiments, packaging code\r\ninto reproducible runs, and sharing and deploying models. MLflow offers a set of lightweight APIs that can be\r\nused with any existing machine learning application or library (TensorFlow, PyTorch, XGBoost, etc), wherever you\r\ncurrently run ML code (e.g. in notebooks, standalone applications or the cloud). MLflow's current components are:\r\n\r\n* `MLflow Tracking `_: An API to log parameters, code, and\r\n results in machine learning experiments and compare them using an interactive UI.\r\n* `MLflow Projects `_: A code packaging format for reproducible\r\n runs using Conda and Docker, so you can share your ML code with others.\r\n* `MLflow Models `_: A model packaging format and tools that let\r\n you easily deploy the same model (from any ML library) to batch and real-time scoring on platforms such as\r\n Docker, Apache Spark, Azure ML and AWS SageMaker.\r\n* `MLflow Model Registry `_: A centralized model store, set of APIs, and UI, to collaboratively manage the full lifecycle of MLflow Models.","links":[{"article_link":"","code_link":"https://github.com/mlflow/mlflow","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://mlflow.org/"}]},{"id":1824,"title":"PyMC3","description":"Probabilistic Programming in Python: Bayesian Modeling and Probabilistic Machine Learning.","tags":["code","theano","library","demo","probabilistic=programming","bayesian-modeling"],"details":"PyMC3 is a Python package for Bayesian statistical modeling and Probabilistic Machine Learning focusing on advanced Markov chain Monte Carlo (MCMC) and variational inference (VI) algorithms. Its flexibility and extensibility make it applicable to a large suite of problems.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/pymc-devs/pymc3","research_link":"","media_link":"","dataset_link":"","demo_link":"https://mybinder.org/v2/gh/pymc-devs/pymc3/master?filepath=%2Fdocs%2Fsource%2Fnotebooks","other_link":"https://docs.pymc.io/"}]},{"id":1823,"title":"ivis","description":"Dimensionality reduction in very large datasets using Siamese Networks\r\n\r\n","tags":["code","paper","research","tensorflow","siamese-networks","library","dimensionality-reduction"],"details":"Implementation of the ivis algorithm as described in the paper Structure-preserving visualisation of high dimensional single-cell datasets. Ivis is designed to reduce dimensionality of very large datasets using a siamese neural network trained on triplets. Both unsupervised and supervised modes are supported.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/beringresearch/ivis","research_link":"https://www.nature.com/articles/s41598-019-45301-0","media_link":"","dataset_link":"","demo_link":"","other_link":"http://bering-ivis.readthedocs.io/"}]},{"id":1822,"title":"Label Studio","description":"Label Studio is a multi-type data labeling and annotation tool with standardized output format.","tags":["article","code","library","annotation","computer-vision","natural-language-processing","demo"],"details":"Label Studio is a swiss army knife of data labeling and annotation tools \u270c\ufe0f\r\n\r\nIts purpose is to help you label different types of data using a simple interface with a standardized output format. You're dealing with the custom dataset and thinking about creating your tool? Don't - using Label Studio, you can save time and create a custom tool and interface in minutes.\r\n\r\n","links":[{"article_link":"https://towardsdatascience.com/introducing-label-studio-a-swiss-army-knife-of-data-labeling-140c1be92881","code_link":"https://github.com/heartexlabs/label-studio","research_link":"","media_link":"","dataset_link":"","demo_link":"https://app.labelstud.io/welcome","other_link":"https://labelstud.io/"}]},{"id":1821,"title":"Vaex","description":"Out-of-Core DataFrames for Python, ML, visualize and explore big tabular data at a billion rows per second \ud83d\ude80","tags":["article","code","library","pandas","dataframes","out-of-core"],"details":"Vaex is a high performance Python library for lazy Out-of-Core DataFrames (similar to Pandas), to visualize and explore big tabular datasets. It calculates statistics such as mean, sum, count, standard deviation etc, on an N-dimensional grid for more than a billion (10^9) samples/rows per second. Visualization is done using histograms, density plots and 3d volume rendering, allowing interactive exploration of big data. Vaex uses memory mapping, zero memory copy policy and lazy computations for best performance (no memory wasted).\r\n\r\n","links":[{"article_link":"https://towardsdatascience.com/beyond-pandas-spark-dask-vaex-and-other-big-data-technologies-battling-head-to-head-a453a1f8cc13","code_link":"https://github.com/vaexio/vaex","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1820,"title":"Rasa","description":"An open source machine learning framework to automate text-and voice-based conversations. ","tags":["code","library","natural-language-processing","conversational-ai"],"details":"\ud83d\udcac Open source machine learning framework to automate text- and voice-based conversations: NLU, dialogue management, connect to Slack, Facebook, and more - Create chatbots and voice assistants.","links":[{"article_link":"","code_link":"https://github.com/RasaHQ/rasa","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1819,"title":"Neptune.ai","description":"The most lightweight experiment management tool that fits any workflow.","tags":["code","model-management","library","experiment-tracking"],"details":"**Track experiments**\r\nLog metrics, hyperparameters, data versions, hardware usage and more. Work on any infra, any language, scripts or notebooks. \r\n\r\n**Record data exploration**\r\nExperiments don\u2019t have to stop with running training scripts. Version your exploratory data analysis and share with your team.\r\n\r\n**Organize teamwork**\r\nManage your team with organizations, projects, and user roles. Organize experiments with tags and custom views. ","links":[{"article_link":"","code_link":"https://github.com/neptune-ai","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1818,"title":"DeepkitAI","description":"The Open-Source Machine Learning Devtool and Training Suite.","tags":["code","model-management","library","experiment-tracking"],"details":"The collaborative real-time open-source machine learning devtool and training suite: Experiment execution, tracking, and debugging. With server and project management tools.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/deepkit/deepkit","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://deepkit.ai/"}]},{"id":1817,"title":"Artifacts - Weights & Biases","description":"Effortless pipeline tracking and production model management\r\n\r\n","tags":["article","code","notebook","library","production","wandb","data-versioning"],"details":"**Lightweight pipeline**\r\nWe take care of your end-to-end machine learning pipeline - data preparation, data versioning, training, and evaluation - with a simple dashboard.\r\n\r\n**Dataset versioning**\r\nUnderstand the changes associated with datasets using sophisticated checksums and diffs tracking.\r\n\r\n**Reproducible**\r\nSecurely record every version of your dataset - dependency, configuration, production - with just a line of code.","links":[{"article_link":"https://docs.wandb.com/artifacts","code_link":"https://colab.research.google.com/drive/1srUJTvI35olZRrQaW1zGd5_Q7t5vcAiU","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://www.wandb.com/artifacts"}]},{"id":1816,"title":"FastAPI","description":"FastAPI framework, high performance, easy to learn, fast to code, ready for production.","tags":["api","code","fastapi","library"],"details":"FastAPI is a modern, fast (high-performance), web framework for building APIs with Python 3.6+ based on standard Python type hints.\r\n\r\nThe key features are:\r\n\r\n* **Fast**: Very high performance, on par with **NodeJS** and **Go** (thanks to Starlette and Pydantic). [One of the fastest Python frameworks available](#performance).\r\n\r\n* **Fast to code**: Increase the speed to develop features by about 200% to 300%. *\r\n* **Fewer bugs**: Reduce about 40% of human (developer) induced errors. *\r\n* **Intuitive**: Great editor support. Completion everywhere. Less time debugging.\r\n* **Easy**: Designed to be easy to use and learn. Less time reading docs.\r\n* **Short**: Minimize code duplication. Multiple features from each parameter declaration. Fewer bugs.\r\n* **Robust**: Get production-ready code. With automatic interactive documentation.\r\n* **Standards-based**: Based on (and fully compatible with) the open standards for APIs: OpenAPI (previously known as Swagger) and JSON Schema.","links":[{"article_link":"","code_link":"https://github.com/tiangolo/fastapi","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://fastapi.tiangolo.com/"}]},{"id":1815,"title":"Flask","description":"The Python micro framework for building web applications.","tags":["api","code","flask","library"],"details":"Flask is a lightweight [WSGI](https://wsgi.readthedocs.io/en/latest/) web application framework. It is designed to make getting started quick and easy, with the ability to scale up to complex applications. It began as a simple wrapper around Werkzeug and Jinja and has become one of the most popular Python web application frameworks.\r\n\r\nFlask offers suggestions, but doesn't enforce any dependencies or project layout. It is up to the developer to choose the tools and libraries they want to use. There are many extensions provided by the community that make adding new functionality easy.\r\n\r\nUseful Flask extensions: [https://github.com/humiaozuzu/awesome-flask](https://github.com/humiaozuzu/awesome-flask)","links":[{"article_link":"","code_link":"https://github.com/pallets/flask","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://palletsprojects.com/p/flask/"}]},{"id":1814,"title":"Best Practices for Designing a Pragmatic RESTful API","description":"What formats should you accept? How should you authenticate? Should your API be versioned?","tags":["api","article","tutorial","naming-conventions","endpoints","endpoint-design"],"details":"Your data model has started to stabilize and you're in a position to create a public API for your web app. You realize it's hard to make significant changes to your API once it's released and want to get as much right as possible up front. Now, the internet has no shortage on opinions on API design. But, since there's no one widely adopted standard that works in all cases, you're left with a bunch of choices: What formats should you accept? How should you authenticate? Should your API be versioned?","links":[{"article_link":"https://www.vinaysahni.com/best-practices-for-a-pragmatic-restful-api","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1813,"title":"Pytest","description":"The pytest framework makes it easy to write small tests, yet scales to support complex functional testing\r\n\r\n","tags":["article","code","e2e-tests","library","unit-tests","testing"],"details":"The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries.\r\n\r\n","links":[{"article_link":"https://realpython.com/pytest-python-testing/","code_link":"https://github.com/pytest-dev/pytest","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://docs.pytest.org/en/stable/"}]},{"id":1812,"title":"PyTorch Lightning","description":"The lightweight PyTorch wrapper for ML researchers. Scale your models. Write less boilerplate.","tags":["code","video","pytorch","library","pytorch-lightning","template"],"details":"The lightweight PyTorch wrapper for ML researchers. Scale your models. Write less boilerplate\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/PyTorchLightning/pytorch-lightning","research_link":"","media_link":"https://www.youtube.com/watch?v=QHww1JH7IDU","dataset_link":"","demo_link":"","other_link":"https://pytorch-lightning.readthedocs.io/en/latest/"}]},{"id":1811,"title":"Foolbox Native","description":"A Python toolbox to create adversarial examples that fool neural networks in PyTorch, TensorFlow, and JAX\r\n\r\n","tags":["code","jax","pytorch","tensorflow","library","adversarial-learning","adversarial-attacks"],"details":"Foolbox is a Python library that let's you easily run adversarial attacks against machine learning models like deep neural networks. It is built on top of EagerPy and works natively with models in PyTorch, TensorFlow, JAX, and NumPy.","links":[{"article_link":"","code_link":"https://github.com/bethgelab/foolbox","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://foolbox.jonasrauber.de/"}]},{"id":1810,"title":"Flask-SQLAlchemy","description":"Adds SQLAlchemy support to Flask\r\n\r\n","tags":["code","databases","flask","sql","library","sqlalchemy"],"details":"Flask-SQLAlchemy is an extension for Flask that adds support for SQLAlchemy to your application. It aims to simplify using SQLAlchemy with Flask by providing useful defaults and extra helpers that make it easier to accomplish common tasks.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/pallets/flask-sqlalchemy","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1809,"title":"Pandarallel","description":"A simple and efficient tool to parallelize Pandas operations on all available CPUs\r\n\r\n","tags":["code","library","pandas"],"details":"\r\n\r\n\r\n\r\nParallelization has a cost (instanciating new processes, sending data via shared memory, ...), so parallelization is efficient only if the amount of calculation to parallelize is high enough. For very little amount of data, using parallelization is not always worth it.","links":[{"article_link":"","code_link":"https://github.com/nalepae/pandarallel","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1808,"title":"whatlies","description":"Toolkit to help visualize - what lies in word embeddings.","tags":["code","video","library","embeddings","visualization","interactive"],"details":"This small library offers tools to make visualization easier of both word embeddings as well as operations on them. This should be considered an experimental project that is in preview mode.","links":[{"article_link":"","code_link":"https://github.com/RasaHQ/whatlies","research_link":"","media_link":"https://www.youtube.com/watch?v=FwkwC7IJWO0","dataset_link":"","demo_link":"","other_link":"https://rasahq.github.io/whatlies/"}]},{"id":1807,"title":"scikit-lego","description":"Extra blocks for sklearn pipelines.\r\n\r\n","tags":["code","scikit-learn","library"],"details":"We love scikit learn but very often we find ourselves writing custom transformers, metrics and models. The goal of this project is to attempt to consolidate these into a package that offers code quality/testing. This project started as a collaboration between multiple companies in the Netherlands but has since received contributions from around the globe. It was initiated by Matthijs Brouns and Vincent D. Warmerdam as a tool to teach people how to contribute to open source.","links":[{"article_link":"","code_link":"https://github.com/koaning/scikit-lego","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://scikit-lego.readthedocs.io/en/latest/index.html"}]},{"id":1806,"title":"Surprise","description":"Surprise is a Python scikit building and analyzing recommender systems that deal with explicit rating data.","tags":["code","library","recommendation-systems"],"details":"Surprise was designed with the following purposes in mind:\r\n\r\n* Give users perfect control over their experiments. To this end, a strong emphasis is laid on documentation, which we have tried to make as clear and precise as possible by pointing out every detail of the algorithms.\r\n* Alleviate the pain of Dataset handling. Users can use both built-in datasets (Movielens, Jester), and their own custom datasets.\r\n* Provide various ready-to-use prediction algorithms such as baseline algorithms, neighborhood methods, matrix factorization-based ( SVD, PMF, SVD++, NMF), and many others. Also, various similarity measures (cosine, MSD, pearson...) are built-in.\r\n* Make it easy to implement new algorithm ideas.\r\n* Provide tools to evaluate, analyse and compare the algorithms performance. Cross-validation procedures can be run very easily using powerful CV iterators (inspired by scikit-learn excellent tools), as well as exhaustive search over a set of parameters.","links":[{"article_link":"","code_link":"https://github.com/NicolasHug/Surprise","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1805,"title":"Segmentation Models","description":"Segmentation models with pretrained backbones. Keras and TensorFlow Keras.\r\n\r\n","tags":["code","keras","tensorflow","library","computer-vision","segmentation","unet","models","model-store"],"details":"The main features of this library are:\r\n\r\n* High level API (just two lines of code to create model for segmentation)\r\n* 4 models architectures for binary and multi-class image segmentation (including legendary Unet)\r\n* 25 available backbones for each architecture\r\n* All backbones have pre-trained weights for faster and better convergence\r\n* Helpful segmentation losses (Jaccard, Dice, Focal) and metrics (IoU, F-score)","links":[{"article_link":"","code_link":"https://github.com/qubvel/segmentation_models","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1804,"title":"Text Preprocessing in Python using spaCy library","description":"In this article, we have explored Text Preprocessing in Python using spaCy library in detail. This is the fundamental step to prepare data for applications.","tags":["article","tutorial","spacy","lemmatization","named-entity-recognition","natural-language-processing","part-of-speech-tagging","preprocessing","tokenization"],"details":"In this article, we have explored Text Preprocessing in Python using spaCy library in detail. This is the fundamental step to prepare data for specific applications.\r\n\r\n* Tokenization\r\n* Lemmatization\r\n* Removing Punctuations and Stopwords\r\n* Part of Speech Tagging\r\n* Entity Recognition","links":[{"article_link":"https://iq.opengenus.org/text-preprocessing-in-spacy/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1803,"title":"A Deep Dive into the Wonderful World of Preprocessing in NLP","description":"A glimpse into the surprisingly deep and interesting world of preprocessing in NLP.","tags":["article","tutorial","natural-language-processing","preprocessing","tokenization"],"details":"In this post, I'd like to give the reader a glimpse into the surprisingly deep and interesting world of preprocessing in NLP. I'll be going over important techniques including as byte-pair encoding (BPE), wordpiece tokenization, and sentencepiece tokenization, as well as things to be careful of and important decision points based on my (limited) experience working with text in the past few years. Hopefully, this will motivate the reader to take preprocessing more seriously and make preprocessing a little bit cooler.","links":[{"article_link":"https://mlexplained.com/2019/11/06/a-deep-dive-into-the-wonderful-world-of-preprocessing-in-nlp/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1802,"title":"SentencePiece","description":"Unsupervised text tokenizer for Neural Network-based text generation.\r\n\r\n","tags":["code","paper","research","library","machine-translation","natural-language-processing","tokenization","word-segmentation"],"details":"SentencePiece is an unsupervised text tokenizer and detokenizer mainly for Neural Network-based text generation systems where the vocabulary size is predetermined prior to the neural model training. SentencePiece implements subword units (e.g., byte-pair-encoding (BPE) [[Sennrich et al.](http://www.aclweb.org/anthology/P16-1162)]) and unigram language model [Kudo.]) with the extension of direct training from raw sentences. SentencePiece allows us to make a purely end-to-end system that does not depend on language-specific pre/postprocessing.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/google/sentencepiece","research_link":"http://www.aclweb.org/anthology/P16-1162","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1801,"title":"Faiss","description":"A library for efficient similarity search and clustering of dense vectors.\r\n","tags":["code","library","clustering","embeddings","similarity-search"],"details":"Faiss is a library for efficient similarity search and clustering of dense vectors. It contains algorithms that search in sets of vectors of any size, up to ones that possibly do not fit in RAM. It also contains supporting code for evaluation and parameter tuning. Faiss is written in C++ with complete wrappers for Python/numpy. Some of the most useful algorithms are implemented on the GPU. It is developed by Facebook AI Research.","links":[{"article_link":"","code_link":"https://github.com/facebookresearch/faiss","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1800,"title":"jellyfish","description":"\ud83c\udf90 a python library for doing approximate and phonetic matching of strings.","tags":["code","library","natural-language-processing","text-matching","text-similarity","jellyfish","levenshtein","sounde","x-hamming","metaphon","e-jaro-winkler","fuzzy-search"],"details":"**String comparison:**\r\n\r\n* Levenshtein Distance\r\n* Damerau-Levenshtein Distance\r\n* Jaro Distance\r\n* Jaro-Winkler Distance\r\n* Match Rating Approach Comparison\r\n* Hamming Distance\r\n\r\n\r\n** Phonetic encoding:**\r\n\r\n* American Soundex\r\n* Metaphone\r\n* NYSIIS (New York State Identification and Intelligence System)\r\n* Match Rating Codex","links":[{"article_link":"","code_link":"https://github.com/jamesturk/jellyfish","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1799,"title":"FlashText","description":"Extract Keywords from sentence or Replace keywords in sentences.\r\n\r\n","tags":["article","code","paper","research","library","natural-language-processing","regex","text-extraction","arxiv:1711.00046"],"details":"FlashText can search or replace keywords in one pass over a document. The time complexity of this algorithm is not dependent on the number of terms being searched or replaced. For a document of size N (characters) and a dictionary of M keywords, the time complexity will be O(N). This algorithm is much faster than Regex, because regex time complexity is O(MxN). It is also different from Aho Corasick Algorithm, as it doesn't match substrings. FlashText is designed to only match complete words (words with boundary characters on both sides). For an input dictionary of {Apple}, this algorithm won't match it to 'I like Pineapple'. This algorithm is also designed to go for the longest match first. For an input dictionary {Machine, Learning, Machine learning} on a string 'I like Machine learning', it will only consider the longest match, which is Machine Learning. We have made python implementation of this algorithm available as open-source on GitHub, released under the permissive MIT License.","links":[{"article_link":"https://www.freecodecamp.org/news/regex-was-taking-5-days-flashtext-does-it-in-15-minutes-55f04411025f/","code_link":"https://github.com/vi3k6i5/flashtext","research_link":"https://arxiv.org/abs/1711.00046","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1798,"title":"Star Clustering","description":"A clustering algorithm that automatically determines the number of clusters and works without hyperparameter fine-tuning.","tags":["code","library","automl","clustering"],"details":"The Star Clustering algorithm is a clustering technique that is loosely inspired and analogous to the process of star system formation. Its purpose is as an alternative clustering algorithm that does not require knowing the number of clusters in advance or any hyperparameter tuning.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/josephius/star-clustering","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1797,"title":"Contextualized Topic Models","description":"A python package to run contextualized topic modeling.","tags":["code","paper","research","attention","bert","transformers","library","contextualized-embeddings","embeddings","natural-language-processing","topic-modeling","arxiv:2004.07737"],"details":"Contextualized Topic Models (CTM) are a family of topic models that use pre-trained representations of language (e.g., BERT) to support topic modeling. See the papers for details:\r\n\r\nCross-lingual Contextualized Topic Models with Zero-shot Learning [https://arxiv.org/pdf/2004.07737v1.pdf](https://arxiv.org/pdf/2004.07737v1.pdf)\r\nPre-training is a Hot Topic: Contextualized Document Embeddings Improve Topic Coherence [https://arxiv.org/pdf/2004.03974.pdf](https://arxiv.org/pdf/2004.03974.pdf)","links":[{"article_link":"","code_link":"https://github.com/MilaNLProc/contextualized-topic-models","research_link":"https://arxiv.org/abs/2004.07737","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1796,"title":"Top2Vec","description":"Top2Vec learns jointly embedded topic, document and word vectors.\r\n\r\n","tags":["code","library","document-embeddings","embeddings","natural-language-processing","topic-modeling","word-embeddings"],"details":"Topic2Vector is an algorithm for topic modeling and semantic search. It automatically detects topics present in text and generates jointly embedded topic, document and word vectors. Once you train the Top2Vec model you can:\r\n\r\n* Get number of detected topics.\r\n* Get topics.\r\n* Get topic sizes.\r\n* Search topics by keywords.\r\n* Search documents by topic.\r\n* Search documents by keywords.\r\n* Find similar words.\r\n* Find similar documents.\r\n* Expose model with [RESTful-Top2Vec](https://github.com/ddangelov/RESTful-Top2Vec)","links":[{"article_link":"","code_link":"https://github.com/ddangelov/Top2Vec","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1795,"title":"Chakin ","description":"Simple downloader for pre-trained word vectors.","tags":["code","library","embeddings","natural-language-processing","word-embeddings"],"details":"","links":[{"article_link":"","code_link":"https://github.com/chakki-works/chakin","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1794,"title":"Contrastic Learner","description":"A simple to use pytorch wrapper for contrastive self-supervised learning on any neural network.\r\n\r\n","tags":["code","pytorch","contrastive-loss","library","self-supervised-learning"],"details":"It seems we have lift-off for self-supervised learning on images.\r\n\r\nThis is a simple to use Pytorch wrapper to enable contrastive self-supervised learning on any visual neural network. At the moment, it contains enough settings for one to train on either of the schemes used in SimCLR or CURL.\r\n\r\nYou can wrap any neural network that accepts a visual input, be it a resnet, policy network, or the discriminator of a GAN. The rest is taken care of.","links":[{"article_link":"","code_link":"https://github.com/lucidrains/contrastive-learner","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1793,"title":"Keras-FewShotLearning","description":"Some State-of-the-Art few shot learning algorithms in tensorflow 2.","tags":["code","keras","tensorflow","library","few-shot-learning"],"details":"Thus this repo mainly relies on two of the main high-level python packages for data science: Keras and Pandas. While Pandas may not seem very useful for researchers working with static dataset, it becomes a strong backbone in production applications when you always need to tinker with your data.","links":[{"article_link":"","code_link":"https://github.com/few-shot-learning/Keras-FewShotLearning","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1792,"title":"Anomaly Detection Toolkit (ADTK)","description":"A Python toolkit for rule-based/unsupervised anomaly detection in time series\r\n\r\n","tags":["code","library","anomaly-detection","time-series","unsupervised-learning"],"details":"Anomaly Detection Toolkit (ADTK) is a Python package for unsupervised / rule-based time series anomaly detection.\r\n\r\nAs the nature of anomaly varies over different cases, a model may not work universally for all anomaly detection problems. Choosing and combining detection algorithms (detectors), feature engineering methods (transformers), and ensemble methods (aggregators) properly is the key to build an effective anomaly detection model.\r\n\r\nThis package offers a set of common detectors, transformers and aggregators with unified APIs, as well as pipe classes that connect them together into models. It also provides some functions to process and visualize time series and anomaly events.","links":[{"article_link":"","code_link":"https://github.com/arundo/adtk","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://adtk.readthedocs.io/"}]},{"id":1791,"title":"scikit-fuzzy","description":"scikit-fuzzy is a fuzzy logic toolkit for SciPy.","tags":["code","scikit-learn","library","scipy","fuzzy-logic"],"details":"The goals of scikit-fuzzy are:\r\n\r\n* To provide the community with a robust toolkit of independently developed and implemented fuzzy logic algorithms\r\n* To increase the attractiveness of scientific Python as a valid alternative to closed-source options.","links":[{"article_link":"","code_link":"https://github.com/scikit-fuzzy/scikit-fuzzy","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://pythonhosted.org/scikit-fuzzy/overview.html"}]},{"id":1790,"title":"ThunderSVM: A Fast SVM Library on GPUs and CPUs","description":"Exploits GPUs and multi-core CPUs to achieve high efficiency with SVMs.","tags":["code","support-vector-machines","library","gpu"],"details":"The mission of ThunderSVM is to help users easily and efficiently apply SVMs to solve problems. ThunderSVM exploits GPUs and multi-core CPUs to achieve high efficiency. Key features of ThunderSVM are as follows.\r\n\r\nSupport all functionalities of LibSVM such as one-class SVMs, SVC, SVR and probabilistic SVMs.\r\nUse same command line options as LibSVM.\r\nSupport Python, R, Matlab and Ruby interfaces.\r\nSupported Operating Systems: Linux, Windows and MacOS.","links":[{"article_link":"","code_link":"https://github.com/Xtra-Computing/thundersvm","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1789,"title":"NGBoost","description":"Natural Gradient Boosting for Probabilistic Prediction\r\n\r\n","tags":["article","code","library","gradient-boosting","natural-gradients","uncertainty-estimation"],"details":"ngboost is a Python library that implements Natural Gradient Boosting, as described in \"[NGBoost: Natural Gradient Boosting for Probabilistic Prediction](https://stanfordmlgroup.github.io/projects/ngboost/)\". It is built on top of Scikit-Learn, and is designed to be scalable and modular with respect to choice of proper scoring rule, distribution, and base learner. A didactic introduction to the methodology underlying NGBoost is available in this slide deck.","links":[{"article_link":"https://dkopczyk.quantee.co.uk/ngboost-explained/","code_link":"https://github.com/stanfordmlgroup/ngboost","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://stanfordmlgroup.github.io/projects/ngboost/"}]},{"id":1788,"title":"LightGBM - Light Gradient Boosting Machine","description":"A fast, distributed, high performance gradient boosting (GBT, GBDT, GBRT, GBM or MART) framework based on decision tree algorithms.","tags":["code","decision-trees","library","gradient-boosting","lightgbm"],"details":"LightGBM is a gradient boosting framework that uses tree based learning algorithms. It is designed to be distributed and efficient with the following advantages:\r\n\r\n* Faster training speed and higher efficiency.\r\n* Lower memory usage.\r\n* Better accuracy.\r\n* Support of parallel and GPU learning.\r\n* Capable of handling large-scale data.\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/Microsoft/LightGBM","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://lightgbm.readthedocs.io/en/latest/"}]},{"id":1787,"title":"CatBoost","description":"A high-performance open source library for gradient boosting on decision trees","tags":["code","decision-trees","library","gradient-boosting","catboost"],"details":"A fast, scalable, high performance Gradient Boosting on Decision Trees library, used for ranking, classification, regression and other machine learning tasks for Python, R, Java, C++. Supports computation on CPU and GPU.","links":[{"article_link":"","code_link":"https://github.com/catboost","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://catboost.ai/"}]},{"id":1786,"title":"gplearn","description":"Genetic Programming in Python, with a scikit-learn inspired API.","tags":["code","scikit-learn","regression","library","genetic-programming","symbolic-regression"],"details":"gplearn implements Genetic Programming in Python, with a scikit-learn inspired and compatible API.\r\n\r\nWhile Genetic Programming (GP) can be used to perform a very wide variety of tasks, gplearn is purposefully constrained to solving symbolic regression problems. This is motivated by the scikit-learn ethos, of having powerful estimators that are straight-forward to implement.\r\n\r\nSymbolic regression is a machine learning technique that aims to identify an underlying mathematical expression that best describes a relationship. It begins by building a population of naive random formulas to represent a relationship between known independent variables and their dependent variable targets in order to predict new data. Each successive generation of programs is then evolved from the one that came before it by selecting the fittest individuals from the population to undergo genetic operations.","links":[{"article_link":"","code_link":"https://github.com/trevorstephens/gplearn","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"http://gplearn.readthedocs.io/"}]},{"id":1785,"title":"modAL","description":"A modular active learning framework for Python.","tags":["code","library","active-learning","semi-supervised-learning"],"details":"modAL is an active learning framework for Python3, designed with modularity, flexibility and extensibility in mind. Built on top of scikit-learn, it allows you to rapidly create active learning workflows with nearly complete freedom. What is more, you can easily replace parts with your custom built solutions, allowing you to design novel algorithms with ease.","links":[{"article_link":"","code_link":"https://github.com/modAL-python/modAL","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://modal-python.github.io/"}]},{"id":1784,"title":"Lazy Predict","description":"Lazy Predict help build a lot of basic models without much code and helps understand which models works better without any parameter tuning.","tags":["code","regression","library","automl","classification","lazypredict"],"details":"","links":[{"article_link":"","code_link":"https://github.com/shankarpandala/lazypredict","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://lazypredict.readthedocs.io/en/latest/"}]},{"id":1783,"title":"auto-sklearn","description":"Automated Machine Learning with scikit-learn.","tags":["code","paper","research","scikit-learn","library","automl"],"details":"auto-sklearn is an automated machine learning toolkit and a drop-in replacement for a scikit-learn estimator.","links":[{"article_link":"","code_link":"https://github.com/automl/auto-sklearn","research_link":"http://papers.nips.cc/paper/5872-efficient-and-robust-automated-machine-learning.pdf","media_link":"","dataset_link":"","demo_link":"","other_link":"https://automl.github.io/auto-sklearn/master/"}]},{"id":1782,"title":"TPOT: Tree-based Pipeline Optimization Tool","description":"TPOT is a Python Automated Machine Learning tool that optimizes machine learning pipelines using genetic programming.","tags":["code","random-forests","library","automl","gradient-boosting","decision-tree","hyperparameter-optimization","genetic-programming","tpot"],"details":"TPOT will automate the most tedious part of machine learning by intelligently exploring thousands of possible pipelines to find the best one for your data. Once TPOT is finished searching (or you get tired of waiting), it provides you with the Python code for the best pipeline it found so you can tinker with the pipeline from there.\r\n\r\nTPOT is built on top of scikit-learn, so all of the code it generates should look familiar... if you're familiar with scikit-learn, anyway.","links":[{"article_link":"","code_link":"https://github.com/EpistasisLab/tpot","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"http://epistasislab.github.io/tpot/"}]},{"id":1781,"title":"TensorFlow Model Garden","description":"Models and examples built with TensorFlow.","tags":["code","tensorflow","library","fine-tuning","pretraining","models","model-hub","model-store"],"details":"The TensorFlow Model Garden is a repository with a number of different implementations of state-of-the-art (SOTA) models and modeling solutions for TensorFlow users. We aim to demonstrate the best practices for modeling so that TensorFlow users can take full advantage of TensorFlow for their research and product development.","links":[{"article_link":"","code_link":"https://github.com/tensorflow/models","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1780,"title":"PyTorch Hub","description":"Discover and publish models to a pre-trained model repository designed for research exploration.","tags":["pytorch","library","fine-tuning","pretraining","models"],"details":"Pytorch Hub is a pre-trained model repository designed to facilitate research reproducibility.\r\n\r\n**Publishing models**\r\nPytorch Hub supports publishing pre-trained models(model definitions and pre-trained weights) to a github repository by adding a simple hubconf.py file;\r\n\r\nhubconf.py can have multiple entrypoints. Each entrypoint is defined as a python function (example: a pre-trained model you want to publish).","links":[{"article_link":"","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://pytorch.org/hub/"}]},{"id":1779,"title":"All Models and checkpoints - Hugging Face","description":"Massive (and growing) collection of NLP models are nearly any NLP tasks, especially those involving the use of transformers.","tags":["huggingface","transformers","library","fine-tuning","natural-language-processing","pretraining","models"],"details":"","links":[{"article_link":"","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://huggingface.co/models"}]},{"id":1778,"title":"FIt-SNE","description":"Fast Fourier Transform-accelerated Interpolation-based t-SNE (FIt-SNE).","tags":["code","library","dimensionality-reduction","tsne","fast-fourier-transform"],"details":"t-Stochastic Neighborhood Embedding (t-SNE) is a highly successful method for dimensionality reduction and visualization of high dimensional datasets. A popular implementation of t-SNE uses the Barnes-Hut algorithm to approximate the gradient at each iteration of gradient descent.","links":[{"article_link":"","code_link":"https://github.com/KlugerLab/FIt-SNE","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1777,"title":"tsfresh","description":"Automatic extraction of relevant features from time series.","tags":["code","library","feature-engineering","time-series"],"details":"Data Scientists often spend most of their time either cleaning data or building features. While we cannot change the first thing, the second can be automated. TSFRESH frees your time spent on building features by extracting them automatically. Hence, you have more time to study the newest deep learning paper, read hacker news or build better models.","links":[{"article_link":"","code_link":"https://github.com/blue-yonder/tsfresh","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://tsfresh.readthedocs.io/en/latest/"}]},{"id":1776,"title":"Imbalanced Learn","description":"A Python Package to Tackle the Curse of Imbalanced Datasets in Machine Learning.","tags":["code","library","class-imbalance","imbalanced-datasets"],"details":"Most classification algorithms will only perform optimally when the number of\r\nsamples of each class is roughly the same. Highly skewed datasets, where the\r\nminority is heavily outnumbered by one or more classes, have proven to be a\r\nchallenge while at the same time becoming more and more common.\r\n\r\nOne way of addressing this issue is by re-sampling the dataset as to offset this\r\nimbalance with the hope of arriving at a more robust and fair decision boundary\r\nthan you would otherwise.\r\n\r\nRe-sampling techniques are divided in two categories:\r\n 1. Under-sampling the majority class(es).\r\n 2. Over-sampling the minority class.\r\n 3. Combining over- and under-sampling.\r\n 4. Create ensemble balanced sets.\r\n\r\nBelow is a list of the methods currently implemented in this module.\r\n\r\n* Under-sampling\r\n 1. Random majority under-sampling with replacement\r\n 2. Extraction of majority-minority Tomek links [1]_\r\n 3. Under-sampling with Cluster Centroids\r\n 4. NearMiss-(1 & 2 & 3) [2]_\r\n 5. Condensed Nearest Neighbour [3]_\r\n 6. One-Sided Selection [4]_\r\n 7. Neighboorhood Cleaning Rule [5]_\r\n 8. Edited Nearest Neighbours [6]_\r\n 9. Instance Hardness Threshold [7]_\r\n 10. Repeated Edited Nearest Neighbours [14]_\r\n 11. AllKNN [14]_\r\n\r\n* Over-sampling\r\n 1. Random minority over-sampling with replacement\r\n 2. SMOTE - Synthetic Minority Over-sampling Technique [8]_\r\n 3. SMOTENC - SMOTE for Nominal Continuous [8]_\r\n 4. bSMOTE(1 & 2) - Borderline SMOTE of types 1 and 2 [9]_\r\n 5. SVM SMOTE - Support Vectors SMOTE [10]_\r\n 6. ADASYN - Adaptive synthetic sampling approach for imbalanced learning [15]_\r\n 7. KMeans-SMOTE [17]_\r\n\r\n* Over-sampling followed by under-sampling\r\n 1. SMOTE + Tomek links [12]_\r\n 2. SMOTE + ENN [11]_\r\n\r\n* Ensemble classifier using samplers internally\r\n 1. Easy Ensemble classifier [13]_\r\n 2. Balanced Random Forest [16]_\r\n 3. Balanced Bagging\r\n 4. RUSBoost [18]_\r\n\r\n* Mini-batch resampling for Keras and Tensorflow","links":[{"article_link":"","code_link":"https://github.com/scikit-learn-contrib/imbalanced-learn/","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://imbalanced-learn.readthedocs.io/en/stable/"}]},{"id":1775,"title":"DeltaPy\u2060\u2060 ","description":"Tabular Data Augmentation & Feature Engineering.","tags":["code","notebook","paper","research","library","data-augmentation","tabular-data","tabular","table"],"details":"Tabular augmentation is a new experimental space that makes use of novel and traditional data generation and synthesisation techniques to improve model prediction success. It is in essence a process of modular feature engineering and observation engineering while emphasising the order of augmentation to achieve the best predicted outcome from a given information set. DeltaPy was created with finance applications in mind, but it can be broadly applied to any data-rich environment.\r\n\r\nTo take full advantage of tabular augmentation for time-series you would perform the techniques in the following order: **(1) transforming, (2) interacting, (3) mapping, (4) extracting, and (5) synthesising**. What follows is a practical example of how the above methodology can be used. The purpose here is to establish a framework for table augmentation and to point and guide the user to existing packages.","links":[{"article_link":"","code_link":"https://github.com/firmai/deltapy","research_link":"https://papers.ssrn.com/sol3/papers.cfm?abstract_id=3582219","media_link":"","dataset_link":"","demo_link":"","other_link":"https://colab.research.google.com/drive/1-uJqGeKZfJegX0TmovhsO90iasyxZYiT"}]},{"id":1774,"title":"TRGD: Text Recognition Data Generator","description":"A synthetic data generator for text recognition.","tags":["code","library","computer-vision","data-augmentation","natural-language-processing","optical-character-recognition"],"details":"Generating text image samples to train an OCR software. Now supporting non-latin text!","links":[{"article_link":"","code_link":"https://github.com/Belval/TextRecognitionDataGenerator","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://textrecognitiondatagenerator.readthedocs.io/en/latest/index.html"}]},{"id":1773,"title":"Audiomentations","description":"A Python library for audio data augmentation. Inspired by albumentations. ","tags":["code","library","audio","data-augmentation"],"details":"","links":[{"article_link":"","code_link":"https://github.com/iver56/audiomentations","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1772,"title":"Augmentor","description":"Image augmentation library in Python for machine learning.","tags":["code","library","computer-vision","data-augmentation"],"details":"Augmentor is an image augmentation library in Python for machine learning. It aims to be a standalone library that is platform and framework independent, which is more convenient, allows for finer grained control over augmentation, and implements the most real-world relevant augmentation techniques. It employs a stochastic approach using building blocks that allow for operations to be pieced together in a pipeline.","links":[{"article_link":"","code_link":"https://github.com/mdbloice/Augmentor","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://augmentor.readthedocs.io/en/master/"}]},{"id":1771,"title":"Albumentations","description":"Fast image augmentation library and easy to use wrapper around other libraries.","tags":["article","code","notebook","library","computer-vision","data-augmentation","demo"],"details":"### Do more with less data\r\n\r\nAlbumentations is a computer vision tool that boosts the performance of deep convolutional neural networks.\r\n\r\nThe library is widely used in industry, deep learning research, machine learning competitions, and open source projects.\r\n\r\nAlbumentations is a Python library for fast and flexible image augmentations. Albumentations efficiently implements a rich variety of image transform operations that are optimized for performance, and does so while providing a concise, yet powerful image augmentation interface for different computer vision tasks, including object classification, segmentation, and detection.","links":[{"article_link":"https://albumentations.ai/docs/","code_link":"https://github.com/albumentations-team/albumentations","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://albumentations.ai/"}]},{"id":1770,"title":"imgaug","description":"Image augmentation for machine learning experiments.\r\n\r\n","tags":["code","library","computer-vision","cropping","data-augmentation","affine-transformations","segmentation-maps"],"details":"This python library helps you with augmenting images for your machine learning projects. ","links":[{"article_link":"","code_link":"https://github.com/aleju/imgaug/","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://imgaug.readthedocs.io/en/latest/"}]},{"id":1769,"title":"niacin","description":"A Python library for replacing the missing variation in your text data.\r\n\r\n","tags":["code","library","data-augmentation","natural-language-processing","enrichement","negative-sampling"],"details":"Data collected for model training necessarily undersamples the likely variance in the input space. This library is a collection of tools for inserting typical kinds of perturbations to better approximate population variance; and, for creating similar-but-incorrect examples to aid in reducing the total size of the hypothesis space. These are commonly known as ENRICHMENT and NEGATIVE SAMPLING, respectively.","links":[{"article_link":"","code_link":"https://github.com/deniederhut/niacin","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"http://niacin.readthedocs.io/"}]},{"id":1768,"title":"TextAugment","description":"Improving Short Text Classification through Global Augmentation Methods","tags":["code","library","data-augmentation","natural-language-processing"],"details":"TextAugment is a Python 3 library for augmenting text for natural language processing applications. TextAugment stands on the giant shoulders of [NLTK](https://www.nltk.org/), [Gensim](https://radimrehurek.com/gensim/), and [TextBlob](https://textblob.readthedocs.io/) and plays nicely with them.","links":[{"article_link":"","code_link":"https://github.com/dsfsi/textaugment","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1767,"title":"Imagenette","description":"Imagenette is a subset of 10 easily classified classes from Imagenet.","tags":["code","dataset","computer-vision","imagenet","imagenette"],"details":"'Imagenette' is pronounced just like 'Imagenet', except with a corny inauthentic French accent. If you've seen Peter Sellars in The Pink Panther, then think something like that. It's important to ham up the accent as much as possible, otherwise people might not be sure whether you're refering to \"Imagenette\" or \"Imagenet\". ","links":[{"article_link":"","code_link":"https://github.com/fastai/imagenette","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1766,"title":"fast.ai Datasets","description":"Collections of original and reduced datasets for popular data sources.","tags":["library","computer-vision","natural-language-processing","coco","datasets","imagenet"],"details":"We use these datasets in our teaching, because they provide great examples of the kind of data that students are likely to encounter, and the academic literature has many examples of model results using these datasets which students can compare their work to. In addition, we also use datasets from Kaggle Competitions, because the public leaderboards on Kaggle allow students to test their models against the best in the world (the Kaggle datasets are not listed here).","links":[{"article_link":"","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://course.fast.ai/datasets.html"}]},{"id":1765,"title":"UCI ML Datasets","description":"We currently maintain 507 data sets as a service to the machine learning community.","tags":["library","datasets"],"details":"","links":[{"article_link":"","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://archive.ics.uci.edu/ml/datasets.php"}]},{"id":1764,"title":"EchoML","description":"\ud83d\udd09 A web app to play, visualize, and annotate your audio files for machine learning.","tags":["code","azure","library","annotation","audio","audio-tagging","audio-visualizer","echoml"],"details":"","links":[{"article_link":"","code_link":"https://github.com/ritazh/EchoML","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1763,"title":"Audio Annotator","description":"Javascript web interface for annotating audio data.","tags":["code","library","annotation","audio","audio-tagging"],"details":"audio-annotator is a web interface that allows users to annotate audio recordings.\r\n\r\nIt has 3 types of audio visualizations (wavesurfer.params.visualization)\r\n\r\n1. invisible (appears as a blank rectangle that users can draw regions on)\r\n1. spectrogram (audio file is represented by a spectrogram that users can draw regions on)\r\n1. waveform (audio file is represented by a waveform that users can draw regions on)","links":[{"article_link":"","code_link":"https://github.com/CrowdCurio/audio-annotator","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1762,"title":"Superintendent","description":"Practical active learning in python.","tags":["code","library","active-learning","annotation","labeling","semi-supervised-learning","widget","ipywidget"],"details":"**`superintendent`** provides an `ipywidget`-based interactive labelling tool for your data. It allows you to flexibly label all kinds of data. It also allows you to combine your data-labelling task with a statistical or machine learning model to enable quick and practical active learning.","links":[{"article_link":"","code_link":"https://github.com/janfreyberg/superintendent","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://superintendent.readthedocs.io/en/latest/"}]},{"id":1761,"title":"Prodigy","description":"Radically efficient machine teaching. An annotation tool powered by active learning.","tags":["code","video","library","active-learning","annotation","semi-supervised-learning"],"details":"Prodigy is a modern annotation tool for creating training and evaluation data for machine learning models. You can also use Prodigy to help you inspect and clean your data, do error analysis and develop rule-based systems to use in combination with your statistical models.\r\n\r\nThe Python library includes a range of pre-built workflows and command-line commands for various tasks, and well-documented components for implementing your own workflow scripts. Your scripts can specify how the data is loaded and saved, change which questions are asked in the annotation interface, and can even define custom HTML and JavaScript to change the behavior of the front-end. The web application is optimized for fast, intuitive and efficient annotation.\r\n\r\nOur scriptable annotation tool for text, images and other data. Check out recipes here: [https://github.com/explosion/prodigy-recipes](https://github.com/explosion/prodigy-recipes)","links":[{"article_link":"","code_link":"https://github.com/explosion/prodigy-recipes","research_link":"","media_link":"https://www.youtube.com/watch?v=59BKHO_xBPA","dataset_link":"","demo_link":"","other_link":"https://prodi.gy/"}]},{"id":1760,"title":"Dataturks","description":"ML data annotations made super easy for teams, provides support for Image Annotation, Text and NER Annotation, Video Annotation.","tags":["library","annotation","computer-vision","named-entity-recognition","natural-language-processing","segmentation","bounding-box"],"details":"Just upload data, add your team and build training/evaluation dataset in hours.","links":[{"article_link":"","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://dataturks.com/"}]},{"id":1759,"title":"Emotion Recognition from Tom and Jerry videos","description":"Developed an application that classifies the emotion depicted by Tom and Jerry in each frame into one of the following : happy, angry, sad or suprised.","tags":["code","video","deep-learning","computer-vision","emotion-recognition","demo"],"details":"Developed an application that recognises the facial expressions from Tom and Jerry videos. The application takes video as input and splits it into multiple frames. For each frame the faces are detected, the facial expressions are classified into 4 categories, namely Happy, Angry, Sad and Surprised. A YOLO algorithm was used for the Object Detection module and a VGG-19 Convolutional Neural Network was used for the Emotion Detection module.\r\n\r\nA similar application can be developed for other type of videos too.","links":[{"article_link":"","code_link":"https://github.com/SurajSubramanian/EmotionDetection","research_link":"","media_link":"","dataset_link":"","demo_link":"https://www.youtube.com/watch?v=qWu9L-J4HCM","other_link":""}]},{"id":1758,"title":"Age, Gender, Race Prediction","description":"Using Fastai Library (Pytorch) and Resnet Architecure I implemnted a CNN Model to identify the stage of the Blindness based on the given image of Retina. You ca","tags":["code","dataset","fastai","flask","keras","pytorch","convolutional-neural-networks","deep-learning","library"],"details":"","links":[{"article_link":"","code_link":"https://github.com/BolluBalaji/Age_Gender_Race-Prediction","research_link":"","media_link":"","dataset_link":"https://www.kaggle.com/c/aptos2019-blindness-detection/data","demo_link":"","other_link":""}]},{"id":1757,"title":"Machine Learning Toolbox","description":"A curated list of 100+ libraries for all parts of the Machine Learning workflow","tags":["article","machine-learning","library","collection"],"details":"* Know existing open source libraries and prevent reinventing the wheel\r\n* Explore tools from data preparation to deployment known via practical experience\r\n* Improve your productivity on ML projects","links":[{"article_link":"https://amitness.com/toolbox/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1756,"title":"Linear Attention Transformer","description":"A fully featured Transformer that mixes (QK\u1d40)V local attention with Q(K\u1d40V) global attention (scales linearly with respect to sequence length).","tags":["code","paper","research","attention","transformers","natural-language-processing","linear","linear-attention","linear-attention-transformer","arxiv:2006.16236"],"details":"Transformers achieve remarkable performance in several tasks but due to their quadratic complexity, with respect to the input's length, they are prohibitively slow for very long sequences. To address this limitation, we express the self-attention as a linear dot-product of kernel feature maps and make use of the associativity property of matrix products to reduce the complexity from \ue23b(N2) to \ue23b(N), where N is the sequence length. We show that this formulation permits an iterative implementation that dramatically accelerates autoregressive transformers and reveals their relationship to recurrent neural networks. Our linear transformers achieve similar performance to vanilla transformers and they are up to 4000x faster on autoregressive prediction of very long sequences.","links":[{"article_link":"","code_link":"https://github.com/lucidrains/linear-attention-transformer","research_link":"https://arxiv.org/abs/2006.16236","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1755,"title":"Easy OCR","description":"Ready-to-use OCR with 40+ languages supported including Chinese, Japanese, Korean and Thai.\r\n\r\n","tags":["code","lstm","library","computer-vision","optical-character-recognition","resnet","demo"],"details":"This project is based on researches/codes from several papers/open-source repositories.\r\n\r\nDetection part is using CRAFT algorithm from this [official repository](https://github.com/clovaai/CRAFT-pytorch) and their [paper](https://arxiv.org/abs/1904.01941).\r\n\r\nRecognition model is CRNN ([paper](https://arxiv.org/abs/1507.05717)). It is composed of 3 main components, feature extraction (we are currently using [Resnet](https://arxiv.org/abs/1512.03385)), sequence labeling ([LSTM](https://www.bioinf.jku.at/publications/older/2604.pdf)) and decoding ([CTC](https://www.cs.toronto.edu/~graves/icml_2006.pdf)). Training pipeline for recognition part is a modified version from this [repository](https://github.com/clovaai/deep-text-recognition-benchmark).\r\n\r\nBeam search code is based on this [repository](https://github.com/githubharald/CTCDecoder) and his [blog](https://towardsdatascience.com/beam-search-decoding-in-ctc-trained-neural-networks-5a889a3d85a7).\r\n\r\nAnd good read about CTC from distill.pub [here](https://distill.pub/2017/ctc/).","links":[{"article_link":"","code_link":"https://github.com/JaidedAI/EasyOCR","research_link":"","media_link":"","dataset_link":"","demo_link":"https://master-easy-ocr-wook-2.endpoint.ainize.ai/","other_link":""}]},{"id":1754,"title":"Full Stack Deep Learning","description":"Full Stack Deep Learning helps you bridge the gap from training machine learning models to deploying AI systems in the real world.","tags":["code","course","tutorial","deep-learning","full-stack","production","mlops"],"details":"### About this course\r\nSince 2012, deep learning has lead to remarkable progress across a variety of challenging computing tasks, from image recognition to speech recognition, robotics, and audio synthesis. Deep learning has the potential to enable a new set of previously infeasible technologies like autonomous vehicles, real-time translation, and voice assistants and help reinvent existing software categories.\r\n\r\nThere are many great courses to learn how to train deep neural networks. However, training the model is just one part of shipping a deep learning project. This course teaches full-stack production deep learning:\r\n\r\n* Formulating the problem and estimating project cost\r\n* Finding, cleaning, labeling, and augmenting data\r\n* Picking the right framework and compute infrastructure\r\n* Troubleshooting training and ensuring reproducibility\r\n* Deploying the model at scale","links":[{"article_link":"","code_link":"https://github.com/full-stack-deep-learning/fsdl-text-recognizer-project","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://course.fullstackdeeplearning.com/"}]},{"id":1753,"title":"TUDatasets","description":"A collection of benchmark datasets for graph classification and regression.","tags":["article","code","dataset","paper","research","regression","graph-classification","graph-neural-networks","graphs","graph-regression","tudatasets"],"details":"This page contains collected benchmark datasets for the evaluation of graph kernels and graph neural networks. The datasets were collected by Christopher Morris, Nils M. Kriege, Franka Bause, Kristian Kersting, Petra Mutzel, and Marion Neumann with partial support of the German Science Foundation (DFG) within the Collaborative Research Center SFB 876 \u201cProviding Information by Resource-Constrained Data Analysis\u201d, project A6 \u201cResource-efficient Graph Mining\u201d.","links":[{"article_link":"https://chrsmrrs.github.io/datasets/","code_link":"https://github.com/chrsmrrs/tudataset","research_link":"https://grlplus.github.io/papers/79.pdf","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1752,"title":"PyTorch Pruning | How it's Made by Michela Paganini","description":"In this talk, you will learn about pruning, why it's important and how to get started using PyTorch's Pruning (torch.nn.utils.prune).","tags":["video","pytorch","model-compression","pruning"],"details":"State-of-the-art deep learning techniques rely on over-parametrized models that are hard to deploy. On the contrary, biological neural networks are known to use efficient sparse connectivity. Identifying optimal techniques to compress models by reducing the number of parameters in them is important in order to reduce memory, battery, and hardware consumption without sacrificing accuracy, deploy lightweight models on device, and guarantee privacy with private on-device computation. On the research front, pruning is used to investigate the differences in learning dynamics between over-parametrized and under-parametrized networks, to study the role of lucky sparse subnetworks and initializations (\u201clottery tickets\u201d) as a destructive neural architecture search technique, and more.","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=TaOwEa3m5dw","dataset_link":"","demo_link":"","other_link":""}]},{"id":1750,"title":"picTranslate: Seamless live Image Text translator","description":"Given an image with text on it, this app can give you a new image with text modified into a different language.","tags":["article","code","tutorial","aws","autoencoders","convolutional-neural-networks","translation","computer-vision","optical-character-recognition"],"details":"picTranslate is an AI based web app to translate the text on your image from one language to other while keeping the background of the image preserved. This way you can create images and presentation slides in multiple languages.\r\n\r\n**Input/Output**\r\nThe only input is the source image that you want the translation of. The app will generate the required image.\r\n\r\n\r\n**Use Cases**\r\nImagine you're a professor who has just given a presentation in English and now want to present to Italian audience. You might want your presentation slides in Italian for better communication. Here, picTranslate can be used to transform those slides instantly!!\r\n\r\n\r\n\r\n\r\n","links":[{"article_link":"https://medium.com/@vaibhavtiwarifu/pictranslate-seamless-live-image-text-translator-882bf2cedc29","code_link":"https://github.com/Vaibhav-nn/picTranslate","research_link":"","media_link":"https://miro.medium.com/max/428/1*wIcx4CWVlIbNskvFR2vthg.gif","dataset_link":"","demo_link":"","other_link":""}]},{"id":1749,"title":"tune-sklearn","description":"A scikit-learn API on RayTune.","tags":["article","code","scikit-learn","library","hyperparameter-tuning","hyperparameter-optimization"],"details":"Tune-sklearn is a package that integrates Ray Tune's hyperparameter tuning and scikit-learn's models, allowing users to optimize hyerparameter searching for sklearn using Tune's schedulers (more details in the [Tune Documentation](http://tune.io/)). Tune-sklearn follows the same API as scikit-learn's GridSearchCV, but allows for more flexibility in defining hyperparameter search regions, such as distributions to sample from.","links":[{"article_link":"https://docs.ray.io/en/latest/tune.html","code_link":"https://github.com/ray-project/tune-sklearn","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://docs.ray.io/en/latest/tune.html"}]},{"id":1748,"title":"Continuous Machine Learning (CML)","description":"CML helps to organize MLOps infrastructure on top of the traditional software engineering stack instead of creating separate AI platforms.","tags":["article","code","library","production","dvc","mlops","github-actions","cml","ci-cd"],"details":"What is CML? Continuous Machine Learning (CML) is an open-source library for implementing continuous integration & delivery (CI/CD) in machine learning projects. Use it to automate parts of your development workflow, including model training and evaluation, comparing ML experiments across your project history, and monitoring changing datasets.\r\n\r\nWe built CML with these principles in mind:\r\n\r\n- **[GitFlow](https://nvie.com/posts/a-successful-git-branching-model/) for data\r\n science.** Use GitLab or GitHub to manage ML experiments, track who trained ML\r\n models or modified data and when. Codify data and models with\r\n [DVC](#using-cml-with-dvc) instead of pushing to a Git repo.\r\n- **Auto reports for ML experiments.** Auto-generate reports with metrics and\r\n plots in each Git Pull Request. Rigorous engineering practices help your team\r\n make informed, data-driven decisions.\r\n- **No additional services.** Build your own ML platform using just GitHub or\r\n GitLab and your favorite cloud services: AWS, Azure, GCP. No databases,\r\n services or complex setup needed.\r\n\r\n","links":[{"article_link":"https://dvc.org/blog/cml-release","code_link":"https://github.com/iterative/cml","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://cml.dev/"}]},{"id":1747,"title":"Infinite-Width Neural Networks for Any Architecture","description":"What does an infinitely wide transformer look like?","tags":["code","notebook","paper","research","wide-networks","infinite-width","ntk4a","neural-tangent-kernel","arxiv:2006.14548"],"details":"We will calculate its [Neural Tangent Kernel](https://arxiv.org/abs/1806.07572) in this notebook, according to [our paper](https://arxiv.org/abs/2006.14548), so you can find out yourself! \r\n\r\nBackground on NTKs: [http://www.offconvex.org/2019/10/03/NTK/](http://www.offconvex.org/2019/10/03/NTK/)","links":[{"article_link":"","code_link":"https://github.com/thegregyang/NTK4A","research_link":"https://arxiv.org/abs/2006.14548","media_link":"","dataset_link":"","demo_link":"","other_link":"https://colab.research.google.com/github/thegregyang/NTK4A/blob/master/colab/Transformer-NTK.ipynb"}]},{"id":1746,"title":"Torch-Struct: Structured Prediction Library","description":"A library of tested, GPU implementations of core structured prediction algorithms for deep learning applications.","tags":["code","notebook","paper","research","video","pytorch","conditional-random-fields","hidden-markov-models","library","acl-2020","torch-struct","arxiv:2002.00876"],"details":"* HMM / LinearChain-CRF\r\n* HSMM / SemiMarkov-CRF\r\n* Dependency Tree-CRF\r\n* PCFG Binary Tree-CRF\r\n...\r\n\r\nDesigned to be used as efficient batched layers in other PyTorch code.","links":[{"article_link":"","code_link":"https://github.com/harvardnlp/pytorch-struct/","research_link":"https://arxiv.org/abs/2002.00876","media_link":"https://www.youtube.com/watch?v=687J5cgepn0","dataset_link":"","demo_link":"","other_link":"https://colab.research.google.com/drive/1qcGwT9gcr5LsarK7YdXsb1D_Awgrrc5W"}]},{"id":1745,"title":"Methods - Papers With Code","description":"Stay up-to-date with research papers on machine learning components.","tags":["machine-learning","methods","platform"],"details":"","links":[{"article_link":"","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://paperswithcode.com/methods"}]},{"id":1744,"title":"AutoKeras","description":"AutoML library for deep learning.","tags":["code","keras","library","automl","autokeras"],"details":"An AutoML system based on Keras. It is developed by DATA Lab at Texas A&M University. The goal of AutoKeras is to make machine learning accessible for everyone.","links":[{"article_link":"","code_link":"https://github.com/keras-team/autokeras/","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"autokeras.com/"}]},{"id":1743,"title":"How to Benchmark Models with Transformers","description":"HuggingFace's Transformer library allows users to benchmark models for both TensorFlow 2 and PyTorch using the PyTorchBenchmark and TensorFlowBenchmark classes.","tags":["code","notebook","tutorial","huggingface","pytorch","tensorflow","transformers","natural-language-processing","benchmarking"],"details":"With ever-larger language models, it is no longer enough to just compare models on their performance on a specific task. One should always be aware of the computational cost that is attached to a specific model. For a given computation environment (e.g. type of GPU), the computational cost of training a model or deploying it in inference usually depends only on the required memory and the required time.","links":[{"article_link":"","code_link":"https://colab.research.google.com/github/huggingface/transformers/blob/master/notebooks/05-benchmark.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1742,"title":"PyTorch Implementation of Differentiable SDE Solvers","description":"Differentiable SDE solvers with GPU support and efficient sensitivity analysis.","tags":["code","pytorch","library","stochastic-differential-equation","sde"],"details":"This codebase provides [stochastic differential equation (SDE)](https://en.wikipedia.org/wiki/Stochastic_differential_equation) solvers with GPU support and efficient sensitivity analysis. Similar to [torchdiffeq](https://github.com/rtqichen/torchdiffeq), algorithms in this repository are fully supported to run on GPUs.","links":[{"article_link":"","code_link":"https://github.com/google-research/torchsde","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1741,"title":"carefree-learn","description":"A minimal Automatic Machine Learning (AutoML) solution for tabular datasets based on PyTorch.","tags":["code","video","pytorch","library","automl","tabular-data","tabular"],"details":"`carefree-learn` is a minimal Automatic Machine Learning (AutoML) solution for tabular datasets based on [PyTorch](https://pytorch.org/).\r\n\r\n#### Why carefree-learn?\r\n\r\n`carefree-learn`\r\n\r\n+ Provides a [scikit-learn](https://scikit-learn.org/stable/)-like interface with much more 'carefree' usages, including:\r\n + Automatically deals with data pre-processing.\r\n + Automatically handles datasets saved in files (.txt, .csv).\r\n + Supports Distributed Training, which means hyper-parameter tuning can be very efficient in `carefree-learn`.\r\n+ Includes some brand new techniques which may boost vanilla Neural Network (NN) performances on tabular datasets, including:\r\n + [`TreeDNN` with `Dynamic Soft Pruning`](https://arxiv.org/pdf/1911.05443.pdf), which makes NN less sensitive to hyper-parameters. \r\n + [`Deep Distribution Regression (DDR)`](https://arxiv.org/pdf/1911.05441.pdf), which is capable of modeling the entire conditional distribution with one single NN model.\r\n+ Supports many convenient functionality in deep learning, including:\r\n + Early stopping.\r\n + Model persistence.\r\n + Learning rate schedulers.\r\n + And more...\r\n+ Full utilization of the WIP ecosystem `cf*`, such as:\r\n + [`carefree-toolkit`](https://github.com/carefree0910/carefree-toolkit): provides a lot of utility classes & functions which are 'stand alone' and can be leveraged in your own projects.\r\n + [`carefree-data`](https://github.com/carefree0910/carefree-data): a lightweight tool to read -> convert -> process **ANY** tabular datasets. It also utilizes [cython](https://cython.org/) to accelerate critical procedures.\r\n\r\nFrom the above, it comes out that `carefree-learn` could be treated as a minimal **Auto**matic **M**achine **L**earning (AutoML) solution for tabular datasets when it is fully utilized. However, this is not built on the sacrifice of flexibility. In fact, the functionality we've mentioned are all wrapped into individual modules in `carefree-learn` and allow users to customize them easily.","links":[{"article_link":"","code_link":"https://github.com/carefree0910/carefree-learn","research_link":"","media_link":"https://www.youtube.com/watch?v=hMzLmwmdQ_k&feature=youtu.be","dataset_link":"","demo_link":"","other_link":"https://carefree0910.me/carefree-learn-doc/"}]},{"id":1740,"title":"Machine Learning Monthly June 2020","description":"A monthly compilation of some of the most exciting things in machine learning curated by Daniel Bourke.\r\n\r\nNow with a video version!","tags":["article","podcast","video","newsletter"],"details":"New issues every month. If you think something should be included, [let me know](mailto:daniel@mrdbourke.com).\r\n\r\nThis month:\r\n\r\n1. Machine Learning Roadmap 2020\r\n2. aitextgen \u2014 Leverage OpenAI's GPT-2 architecture to generate text\r\n3. Using AI to play like Bach\r\n4. Data science: expectations vs. reality\r\n5. What the hell is MLOps anyway?\r\n6. One neural network to rule them all!\r\n7. All of the matrix calculus you need for deep learning\r\n8. All of the matrix calculus you need for deep learning (book)\r\n9. YOLOV4 \u2014 The state of the art real-time object detection model, You Only Look Once, is back (for a 4th time)\r\n10. End-to-end object detection with Transformers (DETR)\r\n11. The transformer explained by nostalgebraist","links":[{"article_link":"https://zerotomastery.io/blog/machine-learning-monthly-june-2020/","code_link":"","research_link":"","media_link":"https://youtu.be/tfrBuQl5iQI","dataset_link":"","demo_link":"","other_link":""}]},{"id":1739,"title":"NumPy Fundamentals for Data Science and Machine Learning","description":"In-depth interactive tutorial of NumPy fundamentals for data science & machine learning. From the ndarray object to applied linear algebra. Project is 70% done.","tags":["article","code","tutorial","python","numpy"],"details":"The goal is to provide an extensive in-depth review of NumPy **fundamentals** with Data Science and Machine Learning applications in mind, combining text, code, examples, and images.\r\n\r\nI also aim to deliver a curated and well organized list of all the NumPy topics and functions that any Data Scientist should now, so it can serve as **reference** along with the official documentation.\r\n\r\n","links":[{"article_link":"https://pabloinsente.github.io/intro-numpy-fundamentals","code_link":"https://github.com/pabloinsente/intro-sc-python","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1737,"title":"codeBERT - Automated code docstring review with transformers","description":"codeBERT provide a one command line to check if your code docstrings are up-to-date.\r\n","tags":["code","tutorial","video","huggingface","attention","bert","machine-learning","transformers","library","natural-language-processing","ml-on-code","machine-learning-on-code","documentation"],"details":"We are working on **automatically document source code**\r\n\r\n\u2705 Build [MLM for Python code](https://madewithml.com/projects/1540/codebert-masked-language-model-for-source-code/)\r\n\r\n\u2705 Fine tune MLM over code documentation\r\n\r\n\u2b1b Extend model to other languages\r\n\r\n\r\n\ud83d\udca1 If you have any feedbacks, feel free to open issues on the [github repo](https://github.com/autosoft-dev/code-bert/issues)\r\n\r\n\ud83d\udcf0 Stay tune here : [CodistAI](https://codist-ai.com/)","links":[{"article_link":"","code_link":"https://github.com/autosoft-dev/code-bert","research_link":"","media_link":"https://www.youtube.com/watch?v=oDqW1JHmaYY","dataset_link":"","demo_link":"","other_link":"http://codist-ai.com/"}]},{"id":1736,"title":"Matplotlib Style Configurator","description":"Ever wondered what all those matplotlib rc parameters do? Here's a interactive plot style customizer, made with Streamlit.","tags":["code","matplotlib","streamlit","demo"],"details":"Interactively explore how different parameter values can change the plots on matplotlib.","links":[{"article_link":"","code_link":"https://github.com/dhaitz/matplotlib-style-configurator","research_link":"","media_link":"","dataset_link":"","demo_link":"https://matplotlib-style-configurator.herokuapp.com/","other_link":"https://github.com/dhaitz/matplotlib-stylesheets"}]},{"id":1735,"title":"Criticker Dataset","description":"Yet another dataset about Movies, TV Shows and Games","tags":["article","code","dataset","demo"],"details":"","links":[{"article_link":"https://www.kaggle.com/sp1thas/criticker-dataset","code_link":"https://github.com/sp1thas/criticker-dataset","research_link":"","media_link":"","dataset_link":"","demo_link":"https://www.kaggle.com/sp1thas/criticker-dataset","other_link":""}]},{"id":1734,"title":"Data ANZ Virtual Internship","description":"For the given data of 100 hypothetical customers of their transaction history of 3 months, draw some unique and interesting insights with the features. Build a ","tags":["code","notebook","decision-trees","linear-regression","machine-learning","regression","exploratory-data-analysis"],"details":"Everything is documented in the notebook.","links":[{"article_link":"","code_link":"https://github.com/ashikshafi08/ANZ-Virtual-Internship/blob/master/ANZ Real.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1732,"title":"Book Depository Dataset","description":"A large collection of books, scraped from bookdepository.com","tags":["article","code","dataset","demo"],"details":"While I was trying to master scrapy framework I came up with this project. This is a large collection of books, scraped from bookdepository.com.\r\n\r\nYet another dataset of books. By now, the dataset contains more than a million samples. Multiple metadata fields are available for each sample (E.g. title, description, category and others), therefore, this dataset could be appropriate for Text Classification and other NLP tasks.\r\n\r\nThe dataset is available as kaggle dataset.\r\n","links":[{"article_link":"https://simakis.me/book-depository-dataset/","code_link":"https://github.com/sp1thas/book-depository-dataset","research_link":"","media_link":"","dataset_link":"","demo_link":"https://www.kaggle.com/sp1thas/book-depository-dataset","other_link":"https://www.kaggle.com/sp1thas/book-depository-dataset"}]},{"id":1731,"title":"Matplotlib Cheatsheets","description":"Official Matplotlib cheat sheets.","tags":["code","tutorial","matplotlib","cheatsheet"],"details":"Tips and tricks on how to create nearly any plot you want using matplotlib.","links":[{"article_link":"","code_link":"https://github.com/matplotlib/cheatsheets","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1730,"title":"TextBrewer","description":"a PyTorch-based model distillation toolkit for natural language processing.","tags":["code","paper","research","library","model-compression","natural-language-processing","distillation","model-distillation","arxiv:2002.12620"],"details":"TextBrewer is a PyTorch-based model distillation toolkit for natural language processing. It includes various distillation techniques from both NLP and CV field and provides an easy-to-use distillation framework, which allows users to quickly experiment with the state-of-the-art distillation methods to compress the model with a relatively small sacrifice in the performance, increasing the inference speed and reducing the memory usage.","links":[{"article_link":"","code_link":"https://github.com/airaria/TextBrewer","research_link":"https://arxiv.org/abs/2002.12620","media_link":"","dataset_link":"","demo_link":"","other_link":"https://textbrewer.readthedocs.io/"}]},{"id":1729,"title":"Comment Classification Using BERT (multi-language) Fine-Tuning","description":"We are going to use BERT layer in a model applying Keras.","tags":["article","code","tutorial","keras","tensorflow","attention","bert","transformers","fine-tuning","natural-language-processing","multi-language","comment-classification"],"details":"This time, we have decided to experiment with BERT as long as its popularity as well as a variety of its usage are growing at a rapid speed. We are going to use BERT layer in a model applying Keras.","links":[{"article_link":"https://www.eliftech.com/blog/127-comment-classification-using-bert-multi-language-fine-tuning-tf-20-keras-bert-layer","code_link":"https://github.com/meksikann/bert-multilabel-text-classification","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1728,"title":"Bounding Box Prediction from Scratch using PyTorch","description":"Multi-Task learning \u2014 Bounding Box Regression + Image Classification","tags":["article","code","tutorial","pytorch","computer-vision","image-classification","multi-task-learning","bounding-box-regression"],"details":"This article talks about the case when there is only one object of interest present in an image. The focus here is more on how to read an image and its bounding box, resize and perform augmentations correctly, rather than on the model itself. The goal is to have a good grasp of the fundamental ideas behind object detection, which you can extend to get a better understanding of the more complex techniques.","links":[{"article_link":"https://towardsdatascience.com/bounding-box-prediction-from-scratch-using-pytorch-a8525da51ddc","code_link":"https://jovian.ml/aakanksha-ns/road-signs-bounding-box-prediction","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1727,"title":"Training GANs - From Theory to Practice","description":"Optimizing min-max loss functions that arise in training GANs.","tags":["article","code","paper","research","generative-adversarial-networks","training","loss","loss-functions","arxiv:2006.12376"],"details":"We present a new algorithm for optimizing min-max loss functions that arise in training GANs. We prove that our algorithm converges to an equilibrium point in time polynomial in the dimension, and smoothness parameters of the loss function. The point our algorithm converges to is stable when the maximizing player can respond using any sequence of steps which increase the loss at each step, and the minimizing player is empowered to simulate the maximizing player's response for arbitrarily many steps but is restricted to move according to updates sampled from a stochastic gradient oracle. We apply our algorithm to train GANs on Gaussian mixtures, MNIST and CIFAR-10. We observe that our algorithm trains stably and avoids mode collapse, while achieving a training time per iteration and memory requirement similar to gradient descent-ascent.","links":[{"article_link":"http://www.offconvex.org/2020/07/06/GAN-min-max/","code_link":"https://github.com/mangoubi/Min-max-optimization-algorithm-for-training-GANs","research_link":"https://arxiv.org/abs/2006.12376","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1726,"title":"Photon: A Robust Cross-Domain Text-to-SQL System","description":"A robust, modular, cross-domain NLIDB that can flag natural language input to which a SQL mapping cannot be immediately determined. ","tags":["code","paper","research","video","sql","natural-language-processing","demo","salesforce","acl-2020","photon"],"details":"Natural language interfaces to databases(NLIDB) democratize end user access to relational data. Due to fundamental differences between natural language communication and programming, it is common for end users to issue questions that are ambiguous to the system or fall outside the semantic scope of its underlying query language. We present PHOTON, a robust, modular, cross-domain NLIDB that can flag natural language input to which a SQL mapping cannot be immediately determined. PHOTON consists of a strong neural semantic parser (63.2% structure accuracy on the Spider dev benchmark), a human-in-the-loop question corrector, a SQL executor and a response generator. The question corrector isa discriminative neural sequence editor which detects confusion span(s) in the input question and suggests rephrasing until a translatable input is given by the user or a maximum number of iterations are conducted. Experiments on simulated data show that the proposed method effectively improves the robustness of text-to-SQL system against untranslatable user input.","links":[{"article_link":"","code_link":"https://github.com/mozilla/moz-sql-parser","research_link":"https://www.aclweb.org/anthology/2020.acl-demos.24/","media_link":"https://www.youtube.com/watch?v=beZG1P2DfU8","dataset_link":"","demo_link":"http://www.naturalsql.com","other_link":""}]},{"id":1725,"title":"First Steps with TensorFlow.js","description":"How to create basic AI models and use more sophisticated models with TensorFlow.js.","tags":["article","tutorial","tensorflow","tensorflow-js"],"details":"I would like to do more articles explaining a little bit about all the machine learning and deep learning basics. I'm a beginner in this area, but I'd like to explain soon these concepts to create some interesting AI models. Nevertheless, we don't need a deep knowledge about machine learning to use some existing models. We can use some libraries like Keras, Tensorflow or TensorFlow.js. We are going to see here how to create basic AI models and use more sophisticated models with TensorFlow.js. Although it's not required a deep knowledge, we are going to explain few concepts.","links":[{"article_link":"https://aralroca.com/blog/first-steps-with-tensorflowjs","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1724,"title":"Image Classifier: In the Browser","description":"Using Tensorflow.js to make the prediction directly in the browser.","tags":["article","code","tutorial","tensorflow","tensorflow-js","convolutional-neural-networks","computer-vision","image-classification","demo"],"details":"I recommend reading this [other article](https://aralroca.com/blog/first-steps-with-tensorflowjs) where I introduce Tensorflow.js. However, after this, you'll be able to classify any kind of image in an easy way even without any knowledge of ML. Also, it can be replicated for any image classification problem.","links":[{"article_link":"https://aralroca.com/blog/cat-dog-classifier","code_link":"https://github.com/aralroca/cat-dog-detection-tfjs","research_link":"","media_link":"","dataset_link":"","demo_link":"https://cat-dog-detection-tfjs.vercel.app/","other_link":""}]},{"id":1723,"title":"BioSyn","description":"Biomedical Entity Representations with Synonym Marginalization","tags":["code","paper","research","health","library","named-entity-recognition","natural-language-processing","biomedical","demo","entity-normalization","synonym","biosyn","arxiv:2005.00239"],"details":"Biosyn is a deep learning-based biomedical entity normalization framework by searching for the most 'semantically' similar term from the dictionary. The following results show the top 10 predictions.","links":[{"article_link":"","code_link":"https://github.com/dmis-lab/BioSyn","research_link":"https://arxiv.org/abs/2005.00239","media_link":"","dataset_link":"","demo_link":"http://biosyn.korea.ac.kr/","other_link":""}]},{"id":1722,"title":"spaczz: Fuzzy matching and more for spaCy","description":"Fuzzy matching and more functionality for spaCy.","tags":["code","spacy","library","natural-language-processing","regex","fuzzy-matching"],"details":"Spaczz provides fuzzy matching and multi-token regex matching functionality for spaCy. Spaczz's components have similar APIs to their spaCy counterparts and spaczz pipeline components can integrate into spaCy pipelines where they can be saved/loaded as models.\r\n\r\nFuzzy matching is currently performed with matchers from fuzzywuzzy's fuzz module and regex matching currently relies on the regex library. Spaczz certainly takes additional influence from other libraries and resources. For additional details see the references section.\r\n\r\nSpaczz has been tested on Ubuntu-18.04 and macos-10.15. It has not been tested on Windows yet but it should still work there.","links":[{"article_link":"","code_link":"https://github.com/gandersen101/spaczz","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://github.com/explosion/spaCy/pull/5717"}]},{"id":1721,"title":"TensorflowTTS","description":"Real-Time State-of-the-art Speech Synthesis for Tensorflow 2.","tags":["code","tensorflow","library","natural-language-processing","speech","speech-synthesis","text-to-speech-synthesis"],"details":"\ud83e\udd2a TensorflowTTS provides real-time state-of-the-art speech synthesis architectures such as Tacotron-2, Melgan, Multiband-Melgan, FastSpeech, FastSpeech2 based-on TensorFlow 2. With Tensorflow 2, we can speed-up training/inference progress, optimizer further by using [fake-quantize aware](https://www.tensorflow.org/model_optimization/guide/quantization/training_comprehensive_guide) and [pruning](https://www.tensorflow.org/model_optimization/guide/pruning/pruning_with_keras), make TTS models can be run faster than real-time and be able to deploy on mobile devices or embedded systems.","links":[{"article_link":"","code_link":"https://github.com/TensorSpeech/TensorflowTTS","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1720,"title":"JAX: Accelerated Machine Learning Research","description":"This talk will introduce JAX and its core function transformations with a live demo. ","tags":["code","tutorial","video","jax","scipy-2020"],"details":"JAX is a system for high-performance machine learning research and numerical computing. It offers the familiarity of Python+NumPy together with hardware acceleration, and it enables the definition and composition of user-wielded function transformations. These transformations include automatic differentiation, automatic vectorized batching, end-to-end compilation (via XLA), parallelizing over multiple accelerators, and more.","links":[{"article_link":"","code_link":"https://github.com/google/jax","research_link":"","media_link":"https://www.youtube.com/watch?v=z-WSrQDXkuM","dataset_link":"","demo_link":"","other_link":""}]},{"id":1719,"title":"Texthero","description":"Text preprocessing, representation and visualization from zero to hero.","tags":["article","code","library","clustering","natural-language-processing","preprocessing","data-cleaning","text-processing","texthero"],"details":"Texthero is a python package to work with text data efficiently.\r\nIt empowers NLP developers with a tool to quickly understand any text-based dataset and it provides a solid pipeline to clean and represent text data, from zero to hero.","links":[{"article_link":"https://texthero.org/docs/getting-started","code_link":"https://github.com/jbesomi/texthero","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://texthero.org/docs/api-preprocessing"}]},{"id":1718,"title":"Mathematics for Machine Learning - Linear Algebra","description":"Welcome to the \u201cMathematics for Machine Learning: Linear Algebra\u201d course, offered by Imperial College London. ","tags":["tutorial","video","linear-algebra"],"details":"This course offers an introduction to the linear algebra required for common machine learning techniques. We start at the very beginning with thinking about vectors and what vectors are, and the basic mathematical operations we can do with vectors, like how to add vectors. We then move on to think about how to find the product of vectors and what the modulus or size of a vector is. In physical spaces that then lets us think about linear algebra geometrically, and therefore when vectors are perpendicular to eachother or have an angle between then. We can think about the basis \u2013 the fundamental vectors that make up a vector space \u2013 and how to change basis and transform between vector frames. That then lets us think about how to combine matrix transformations and how to do inverse transformations. That then takes us on to think about the eigenvectors and eigenvalues of a transformation and what these \u201ceigen-things\u201d mean. We then finish up the course by applying all this to a machine learning problem \u2013 the google pagerank algorithm.\r\n\r\nThis course was designed to help you quickly build an intuitive understanding of linear algebra, as well as the language necessary to look concepts up yourselves when you get stuck; it is not intended cover all the details. We hope you enjoy it and that it gives you the confidence to dive into one of the many other wonderful machine learning courses available online","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/playlist?list=PLiiljHvN6z1_o1ztXTKWPrShrMrBLo5P3","dataset_link":"","demo_link":"","other_link":"https://www.coursera.org/specializations/mathematics-machine-learning"}]},{"id":1717,"title":"TaBERT","description":"Pretraining for Joint Understanding of Textual and Tabular Data","tags":["article","code","paper","research","attention","bert","transformers","library","natural-language-processing","pretraining","tabular-data","acl-2020","tabert","arxiv:2005.08314"],"details":"Recent years have witnessed the burgeoning of pretrained language models (LMs) for text-based natural language (NL) understanding tasks. Such models are typically trained on free-form NL text, hence may not be suitable for tasks like semantic parsing over structured data, which require reasoning over both free-form NL questions and structured tabular data (e.g., database tables). In this paper we present TABERT, a pretrained LM that jointly learns representations for NL sentences and (semi-)structured tables. TABERT is trained on a large corpus of 26 million tables and their English contexts. In experiments, neural semantic parsers using TABERT as feature representation layers achieve new best results on the challenging weakly-supervised semantic parsing benchmark WIKITABLEQUESTIONS, while performing competitively on the text-toSQL dataset SPIDER.","links":[{"article_link":"https://research.fb.com/publications/tabert-pretraining-for-joint-understanding-of-textual-and-tabular-data/","code_link":"https://github.com/facebookresearch/TaBERT","research_link":"https://arxiv.org/abs/2005.08314","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1716,"title":"Introduction to Anomaly Detection in Python","description":"Provides an introduction to anomaly detection in the context of machine learning.","tags":["article","code","tutorial","machine-learning"],"details":"There are always some students in a classroom who either outperform the other students or failed to even pass with a bare minimum when it comes to securing marks in subjects. Most of the times, the marks of the students are generally normally distributed apart from the ones just mentioned. These marks can be termed as extreme highs and extreme lows respectively. In Statistics and other related areas like Machine Learning, these values are referred to as Anomalies or Outliers.\r\n\r\nThe very basic idea of anomalies is really centered around two values - extremely high values and extremely low values. Then why are they given importance? In this article, we will try to investigate questions like this. We will see how they are created/generated, why they are important to consider while developing machine learning models, how they can be detected. We will also do a small case study in Python to even solidify our understanding of anomalies.","links":[{"article_link":"https://blog.floydhub.com/introduction-to-anomaly-detection-in-python/","code_link":"https://github.com/sayakpaul/FloydHub-Anomaly-Detection-Blog","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1715,"title":"Image Classifier","description":"Pure JavaScript Image Classifier","tags":["article","machine-learning","computer-vision","image-categorization"],"details":"","links":[{"article_link":"https://theabbie.github.io/ai","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1714,"title":"Text Generator","description":"A Text Generator based on Markov Chain","tags":["article","code","hidden-markov-models","machine-learning"],"details":"A Text Generator based on Markov Chain","links":[{"article_link":"https://theabbie.github.io/text","code_link":"https://github.com/theabbie/theabbie.github.io/blob/master/text.html","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://theabbie.github.io"}]},{"id":1713,"title":"Core Machine Learning Implementations","description":"This repo contains mathematical derivations and python implementations in numpy for key machine learning algorithms","tags":["article","code","tutorial","decision-trees","linear-regression","logistic-regression","neural-networks","random-forests","regression","gradient-boosting","k-nearest-neighbors","decision-tree"],"details":"Key algorithms covered:\r\n\r\n- Linear regression\r\n- Logistic regression\r\n- Knn\r\n- Decision tree\r\n- Random forest\r\n- Gradient boosted decision tree\r\n- Neural network","links":[{"article_link":"https://www.simonwardjones.co.uk/posts/linear_regression/","code_link":"https://github.com/simonwardjones/machine_learning","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1711,"title":"Forecasting the weather with neural ODEs","description":"Interesting blog post applying neural ODEs to the problem of weather forecasting.","tags":["article","forecasting","neural-ode","weather"],"details":"","links":[{"article_link":"https://sebastiancallh.github.io/post/neural-ode-weather-forecast/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1710,"title":"NLP-task-visualizer-app","description":"This application designed with streamlit library will help in visualizing NLP tasks on text entered by you. ","tags":["article","code","tutorial","machine-learning","library","natural-language-processing","data-science"],"details":"","links":[{"article_link":"https://www.linkedin.com/posts/shubham-chaudhari-57286a175_datascience-streamlit-datascience-activity-6682374259014197248-Vroo","code_link":"https://github.com/Shubh28698/NLP-task-visualizer-app","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1709,"title":"Anti-Patterns in NLP (8 types of NLP idiots)","description":"A talk which discusses the recurring industrial problems in making NLP solutions. ","tags":["tutorial","video","python","attention","bert","deep-learning","transformers","natural-language-processing","search","transfer-learning"],"details":"","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=f2m6Mon0VE8&feature=youtu.be&t=208","dataset_link":"","demo_link":"","other_link":"http://bit.ly/nlp-idiots"}]},{"id":1708,"title":"Multithreaded Machine Learning Training & Inference in Browser","description":"How to train and test a deep neural network model in browser by complying to browser standards","tags":["article","code","tensorflow-js","machine-learning"],"details":"","links":[{"article_link":"https://medium.com/@Nithanaroy/multithreaded-machine-learning-training-inference-in-browser-using-tensorflow-js-comlink-js-d2991d31835e","code_link":"https://github.com/Nithanaroy/tfjs-experiments/tree/master/3-mnist-cnn","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1706,"title":"PokeZoo","description":"A deep learning based web-app developed using the MERN stack and Tensorflow.js. ","tags":["code","javascript","node-js","react","tensorflow","tensorflow-js","deep-learning","machine-learning","full-stack","computer-vision","image-classification","demo"],"details":"PokeZoo is webapp that enables users to create their own Pokemon collections by identifying Pokemon from images using deep learning.\r\n\r\nThis webapp is hosted on Heroku. All features are added using a CI-CD pipeline through Github.\r\n\r\n1. Backend - Node.js, Express.js\r\n1. Frontend - React.js, Emotion.js, TailwindCSS, Twin.macro\r\n1. Database - MongoDB\r\n1. Authentication - JsonWebToken\r\n1. Pokemon Data API - pokeAPI\r\n1. Deep learning Inference - Tensorflow.js\r\n1. Deep learning training - Docker + Tensorflow + Python\r\n","links":[{"article_link":"","code_link":"https://github.com/theairbend3r/poke-zoo/","research_link":"","media_link":"https://raw.githubusercontent.com/theairbend3r/poke-zoo/master/screenshots/poke-zoo-ml.gif","dataset_link":"","demo_link":" poke-zoo.herokuapp.com","other_link":""}]},{"id":1705,"title":"Handwritten Japanese Character Recognition by Transfer Learning","description":"A Transfer Learning based approach to recognizing the handwritten Hiragana characters of the Kusushiji-MNIST(KMNIST) dataset. ","tags":["code","dataset","paper","research","keras","residual-networks","transfer-learning","arxiv:1512.03385"],"details":"The ResNet 50 model is incorporated using transfer learning resulting in much lower computational requirements and much better accuracy","links":[{"article_link":"","code_link":"https://github.com/AnweshaDas7/Japanese-handwriting-recognizer","research_link":"https://arxiv.org/abs/1512.03385","media_link":"","dataset_link":"https://www.kaggle.com/anokas/kuzushiji","demo_link":"","other_link":""}]},{"id":1704,"title":"LSTM Forecast Model for Stock Price Prediction using Keras","description":" Easy to understand LSTM forecast model for Stock Price Prediction. The dataset contains daywise details of the GOOGL stock from May,2019-May 2018.","tags":["code","dataset","keras","tensorflow","lstm","time-series","time-series-prediction"],"details":"","links":[{"article_link":"","code_link":"https://github.com/AnweshaDas7/simple-LSTM-forecast_model","research_link":"","media_link":"","dataset_link":"https://github.com/AnweshaDas7/simple-LSTM-forecast_model/commit/5cf8ed1b438b48972000cb2bb9bf56401da755a3","demo_link":"","other_link":""}]},{"id":1703,"title":"Awesome Deep RL","description":"This project is built for people who are learning and researching on the latest deep reinforcement learning methods.","tags":["code","deep-learning","multi-agent-reinforcement-learning","reinforcement-learning","game-theory"],"details":"","links":[{"article_link":"","code_link":"https://github.com/tigerneil/awesome-deep-rl","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1702,"title":"Face Recognition Techniques","description":"Face Detection and Recognition techniques using traditional CV and also using new deep learning method.","tags":["code","tutorial","computer-vision","face-recognition"],"details":"Here, I've demonstrated how we can use traditional Computer Vision method such as building your own HOG+SVM to perform face-recognition which can come handy on low power devices such as pi devices(or other non-gpu devices). Also for GPU based devices using face_recognition library, which gives more robust detection and recognition.\r\n\t\t\t\t\tI've tried to code simple and clean, if you have any query please reach out. Thanks.","links":[{"article_link":"","code_link":"https://github.com/Anku5hk/The_ML_Workflow/tree/master/Face Recognition","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1701,"title":"UFC predictor","description":"A UFC predictor","tags":["sports","demo","martial-arts","ufc"],"details":"","links":[{"article_link":"","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"http://ufcagora.com","other_link":""}]},{"id":1699,"title":"Reinforcement Learning Tutorial","description":"Important reinforcement learning (RL) algorithms, including policy iteration, Q-Learning, and Neural Fitted Q.","tags":["code","notebook","tutorial","reinforcement-learning"],"details":"The tutorial covers a number of important reinforcement learning (RL) algorithms, including policy iteration, Q-Learning, and Neural Fitted Q. In the first part, we will guide you through the general interaction between RL agents and environments, where the agents ought to take actions in order to maximize returns (i.e. cumulative reward). Next, we will implement Policy Iteration, SARSA, and Q-Learning for a simple tabular environment. The core ideas in the latter will be scaled to more complex MDPs through the use of function approximation. Lastly, we will provide a short introduction to deep reinforcement learning and the DQN algorithm.\r\n","links":[{"article_link":"","code_link":"https://github.com/eemlcommunity/PracticalSessions2020/blob/master/rl/EEML2020_RL_Tutorial.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://colab.research.google.com/github/eemlcommunity/PracticalSessions2020/blob/master/rl/EEML2020_RL_Tutorial.ipynb"}]},{"id":1698,"title":"Learning to Cartoonize Using White-box Cartoon Representations","description":"An approach for image cartoonization using GANs.","tags":["article","code","paper","research","generative-adversarial-networks","computer-vision","style-transfer","cvpr-2020","cartoonize","cartoongan"],"details":"This paper presents an approach for image cartoonization. By observing the cartoon painting behavior and\r\nconsulting artists, we propose to separately identify three\r\nwhite-box representations from images: the surface representation that contains a smooth surface of cartoon images, the structure representation that refers to the sparse\r\ncolor-blocks and flatten global content in the celluloid style\r\nworkflow, and the texture representation that reflects highfrequency texture, contours, and details in cartoon images. A Generative Adversarial Network (GAN) framework\r\nis used to learn the extracted representations and to cartoonize images.\r\n\r\nThe learning objectives of our method are separately\r\nbased on each extracted representations, making our framework controllable and adjustable. This enables our approach to meet artists\u2019 requirements in different styles and\r\ndiverse use cases. Qualitative comparisons and quantitative analyses, as well as user studies, have been conducted to validate the effectiveness of this approach, and\r\nour method outperforms previous methods in all comparisons. Finally, the ablation study demonstrates the influence\r\nof each component in our framework","links":[{"article_link":"https://systemerrorwang.github.io/White-box-Cartoonization/","code_link":"https://github.com/SystemErrorWang/White-box-Cartoonization","research_link":"https://openaccess.thecvf.com/content_CVPR_2020/papers/Wang_Learning_to_Cartoonize_Using_White-Box_Cartoon_Representations_CVPR_2020_paper.pdf","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1697,"title":"NAG - Network for Adversary Generation [Pytorch]","description":"Generative approach to model the manifold of perturbations that can cause CNN based classifiers to behave absurdly. ","tags":["article","code","paper","research","video","pytorch","convolutional-neural-networks","generative-adversarial-networks","adversarial-learning","adversarial-attacks","arxiv:1712.03390"],"details":"The core idea is to model the distribution of adversarial perturbations using a Generative approach, where in the discriminator used is a pre-trained model, In this approach the Only generators is getting updated. To Quantify the effectiveness of perturbations generated the authors have formulated two objectives.\r\n\r\n1. Fooling Objective : Ideally a perturbation should confuse the classifier so as to flip the benign prediction into a different adversarial prediction. In order to improve the efficacy of the perturbations, the author's use the confidence of the benign(Unperturbed/clean) prediction which should be reduced and that of another category should be made higher.\r\n2. Diversity Objective: The idea is to encourage the generator to explore the space of perturbations and generate a diverse set of perturbations. This is done By increasing the distance between feature embeddings projected by the target classifier.\r\n","links":[{"article_link":"https://gokkulnath.github.io/NAG_Pytorch/","code_link":"https://github.com/Gokkulnath/NAG_Pytorch","research_link":"https://arxiv.org/abs/1712.03390","media_link":"https://www.youtube.com/watch?v=2lojORAu8vA&feature=youtu.be","dataset_link":"","demo_link":"","other_link":""}]},{"id":1695,"title":"AI-Art","description":"PyTorch implementation of Neural Style Transfer, Pix2Pix, CycleGAN, and Deep Dream!","tags":["article","code","dataset","paper","research","tutorial","pytorch","generative-adversarial-networks","cyclegan","generative-models","pix2pix","neural-style-transfer","arxiv:1508.06576","deep-dream"],"details":"I wrote a tutorial covering four popular Deep-Learning based Generative models - Style Transfer, Pix2Pix, CycleGAN, and DeepDream. The implementation of all of them is available in PyTorch; I tried my best to keep the code clean, short, and readable.\r\n\r\nWhat can you expect from it - Apart from learning about these four topics, you will get to know some PyTorch too! Basics include how to use pre-trained models as feature extractors, save and load checkpoints, resume training from previously saved checkpoints. Advanced topics include how to stabilize the training process of GANs, debugging your network using Tensorboard.\r\n\r\nAny feedback or suggestions are highly appreciated!","links":[{"article_link":"https://github.com/Adi-iitd/AI-Art","code_link":"https://github.com/Adi-iitd/AI-Art","research_link":"https://arxiv.org/abs/1508.06576","media_link":"","dataset_link":"https://www.tensorflow.org/datasets/catalog/overview","demo_link":"","other_link":""}]},{"id":1694,"title":"Adversarial Training Improves Product Discovery","description":"Method automatically generates meaningful negative training examples for deep-learning model.","tags":["article","paper","research","adversarial-learning","adversarial-training","product-discovery"],"details":"During training, we feed our network automatically labeled positive examples. On a random basis, it chooses some of them for conversion to negative examples. The generator overwrites half of the example \u2014 the query \u2014 and changes its label from \u201cmatch\u201d to \u201cmismatch\u201d.","links":[{"article_link":"https://www.amazon.science/blog/adversarial-training-improves-product-discovery","code_link":"","research_link":"https://drive.google.com/file/d/12zc_j8T-eIA1mt6TvNepH-3VB7IdXduK/view","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1693,"title":"On the training dynamics of deep networks with L2 regularization","description":"Role of L2 regularization in deep learning, and uncover simple relations between the performance of the model, the L2 coefficient, the learning rate, etc.","tags":["paper","research","learning-rates","regularization","l2","l2-coefficient","arxiv:2006.08643"],"details":"We study the role of L2 regularization in deep learning, and uncover simple relations between the performance of the model, the L2 coefficient, the learning rate, and the number of training steps. These empirical relations hold when the network is overparameterized. They can be used to predict the optimal regularization parameter of a given model. In addition, based on these observations we propose a dynamical schedule for the regularization parameter that improves performance and speeds up training. We test these proposals in modern image classification settings. Finally, we show that these empirical relations can be understood theoretically in the context of infinitely wide networks. We derive the gradient flow dynamics of such networks, and compare the role of L2 regularization in this context with that of linear models.","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2006.08643","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1692,"title":"Low-Dimensional Hyperbolic Knowledge Graph Embeddings","description":"Low-dimensional knowledge graph embeddings that simultaneously capture hierarchical relations and logical patterns.","tags":["code","paper","research","video","embeddings","graph-embedding","graph-neural-networks","graphs","knowledge-graphs","acl-2020","arxiv:2005.00545"],"details":"We propose a family of methods to learn low-dimensional knowledge graph embeddings that simultaneously capture hierarchical relations (e.g. father of) and logical patterns (e.g. symmetry or anti-symmetry).","links":[{"article_link":"","code_link":"https://github.com/HazyResearch/KGEmb","research_link":"https://arxiv.org/abs/2005.00545","media_link":"https://www.youtube.com/watch?v=Yf03-CBYKe4","dataset_link":"","demo_link":"","other_link":"https://github.com/tensorflow/neural-structured-learning"}]},{"id":1691,"title":"The Simplest Way to Serve your NLP Model in Production w/ Python ","description":"From scikit-learn to Hugging Face Pipelines, learn the simplest way to deploy ML models using Ray Serve.","tags":["article","tutorial","huggingface","scikit-learn","production","ray"],"details":"In this post, we\u2019ll highlight Ray Serve\u2019s capabilities by building a simple sentiment classifier with scikit-learn and deploying it as a production service. Then, we\u2019ll upgrade the same service to a more advanced Hugging Face pipeline that uses PyTorch under the hood \u2014 with zero downtime. Finally, we\u2019ll conclude with some of the other baked-in capabilities such as scaling out and batching.","links":[{"article_link":"https://medium.com/distributed-computing-with-ray/the-simplest-way-to-serve-your-nlp-model-in-production-with-pure-python-d42b6a97ad55","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1690,"title":"Opening Up the Black Box: Model Understanding w/ Captum & PyTorch","description":"A look at using Captum for model interpretability with PyTorch.","tags":["video","pytorch","interpretability","captum"],"details":"PyTorch, the popular open-source ML framework, has continued to evolve rapidly since the introduction of PyTorch 1.0, which brought an accelerated workflow from research to production. We'll deep dive on some of the most important new advances, including the ability to name tensors, support for quantization-aware training and post-training quantization, improved distributed training on GPUs, and streamlined mobile deployment. We'll also cover new developer tools and domain-specific frameworks including Captum for model interpretability, Detectron2 for computer vision, and speech extensions for Fairseq.","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=0QLrRyLndFI","dataset_link":"","demo_link":"","other_link":""}]},{"id":1689,"title":"Offline Reinforcement Learning","description":"Challenges, algorithms and benchmarks.","tags":["tutorial","video","reinforcement-learning","survey","offline-reinforcement-learning","overview"],"details":"Short lecture on offline reinforcement learning by [Sergey Levine](https://people.eecs.berkeley.edu/~svlevine/).\r\n\r\n* original: https://www.youtube.com/watch?v=IUAePhU0E7Y\r\n* extended version: https://www.youtube.com/watch?v=qgZPZREor5I","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=qgZPZREor5I","dataset_link":"","demo_link":"","other_link":""}]},{"id":1688,"title":"Python Implementation of Reinforcement Learning: An Introduction ","description":"Plot replications, exercise solutions and Anki flashcards for the entire book by chapters.","tags":["code","tutorial","reinforcement-learning","book"],"details":"Python replication for Sutton & Barto's book [Reinforcement Learning: An Introduction (2nd Edition)](http://incompleteideas.net/book/the-book-2nd.html)","links":[{"article_link":"","code_link":"https://github.com/ShangtongZhang/reinforcement-learning-an-introduction","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1687,"title":"Similarity Search for Efficient Active Learning","description":"We exploit this skew in large training datasets to reduce the number of unlabeled examples considered in each selection round with nearest nearest neighbors.","tags":["paper","research","active-learning","search","semi-supervised-learning","similarity-search","arxiv:2007.00077"],"details":"Many active learning and search approaches are intractable for industrial settings with billions of unlabeled examples. Existing approaches, such as uncertainty sampling or information density, search globally for the optimal examples to label, scaling linearly or even quadratically with the unlabeled data. However, in practice, data is often heavily skewed; only a small fraction of collected data will be relevant for a given learning task. For example, when identifying rare classes, detecting malicious content, or debugging model performance, the ratio of positive to negative examples can be 1 to 1,000 or more. In this work, we exploit this skew in large training datasets to reduce the number of unlabeled examples considered in each selection round by only looking at the nearest neighbors to the labeled examples. Empirically, we observe that learned representations effectively cluster unseen concepts, making active learning very effective and substantially reducing the number of viable unlabeled examples. We evaluate several active learning and search techniques in this setting on three large-scale datasets: ImageNet, Goodreads spoiler detection, and OpenImages. For rare classes, active learning methods need as little as 0.31% of the labeled data to match the average precision of full supervision. By limiting active learning methods to only consider the immediate neighbors of the labeled data as candidates for labeling, we need only process as little as 1% of the unlabeled data while achieving similar reductions in labeling costs as the traditional global approach. This process of expanding the candidate pool with the nearest neighbors of the labeled set can be done efficiently and reduces the computational complexity of selection by orders of magnitude.","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2007.00077","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1686,"title":"Causal Discovery in Physical Systems from Videos","description":"Discover the structural dependencies among environmental and object variables: inferring the type and strength of interactions that have a causal effect on the ","tags":["article","paper","research","unsupervised-learning","causal-discovery","keypoint-detection","unsupervised-keypoint-detection","multi-body-interaction","fabric-manipulation","arxiv:2007.00631"],"details":"Causal discovery is at the core of human cognition. It enables us to reason about the environment and make counterfactual predictions about unseen scenarios, that can vastly differ from our previous experiences. We consider the task of causal discovery from videos in an end-to-end fashion without supervision on the ground-truth graph structure. In particular, our goal is to discover the structural dependencies among environmental and object variables: inferring the type and strength of interactions that have a causal effect on the behavior of the dynamical system. Our model consists of (a) a perception module that extracts a semantically meaningful and temporally consistent keypoint representation from images, (b) an inference module for determining the graph distribution induced by the detected keypoints, and (c) a dynamics module that can predict the future by conditioning on the inferred graph. We assume access to different configurations and environmental conditions, i.e., data from unknown interventions on the underlying system; thus, we can hope to discover the correct underlying causal graph without explicit interventions. We evaluate our method in a planar multi-body interaction environment and scenarios involving fabrics of different shapes like shirts and pants. Experiments demonstrate that our model can correctly identify the interactions from a short sequence of images and make long-term future predictions. The causal structure assumed by the model also allows it to make counterfactual predictions and extrapolate to systems of unseen interaction graphs or graphs of various sizes.","links":[{"article_link":"https://yunzhuli.github.io/V-CDN/","code_link":"","research_link":"https://arxiv.org/abs/2007.00631","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1685,"title":"Text Data Cleanup - Dynamic Embedding Visualisation","description":"Identify noisy text in a Machine Translation dataset through dynamic text embedding visualisation.","tags":["article","tutorial","clustering","embeddings","natural-language-processing","visualization","bokeh"],"details":"In order for Machine Translation to be useful in the real world, we should should strive to train it on high quality translation data. This is doubly true for lower-resource languages such as Irish, where clean training data is relatively limited. In this article we will try and identify and remove clusters of dirty/noisey samples in our parallalel dataset. The stages we will go through are:\r\n\r\n* **Generate** embeddings from a pre-trained multi-lingual model, XLM-RoBERTa\r\n* **Visualise** these embeddings using a dimensionality technique via UMAP\r\n* **Identify** clusters in a sample of the data that seem to be of low translation quality via Bokeh\r\n* **Remove** similar samples from the main dataset via nmslib","links":[{"article_link":"https://www.ntentional.com/nlp/visualization/bokeh/clustering/2020/06/29/Text-Cleaning-With-Clustering.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1684,"title":"DrRepair: Learning to Repair Programs from Error Messages","description":"Graph-based, Self-Supervised Program Repair from Diagnostic Feedback","tags":["code","paper","research","michiyasunaga","arxiv:2005.10636"],"details":"We consider the problem of learning to repair programs from diagnostic feedback (e.g., compiler error messages). Program repair is challenging for two reasons: First, it requires reasoning and tracking symbols across source code and diagnostic feedback. Second, labeled datasets available for program repair are relatively small. In this work, we propose novel solutions to these two challenges. First, we introduce a program-feedback graph, which connects symbols relevant to program repair in source code and diagnostic feedback, and then apply a graph neural network on top to model the reasoning process. Second, we present a self-supervised learning paradigm for program repair that leverages unlabeled programs available online to create a large amount of extra program repair examples, which we use to pre-train our models. We evaluate our proposed approach on two applications: correcting introductory programming assignments (DeepFix dataset) and correcting the outputs of program synthesis (SPoC dataset). Our final system, DrRepair, significantly outperforms prior work, achieving 68.2% full repair rate on DeepFix (+22.9% over the prior best), and 48.4% synthesis success rate on SPoC (+3.7% over the prior best).","links":[{"article_link":"","code_link":"https://github.com/michiyasunaga/DrRepair","research_link":"https://arxiv.org/abs/2005.10636","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1683,"title":"Supermasks in Superposition","description":"SupSup leverages the expressive power of neural network connectivity. ","tags":["article","code","paper","research","superposition","supermasks","supsup","arxiv:2006.14769"],"details":"We present the Supermasks in Superposition (SupSup) model, capable of sequentially learning thousands of tasks without catastrophic forgetting. Our approach uses a randomly initialized, fixed base network and for each task finds a subnetwork (supermask) that achieves good performance. If task identity is given at test time, the correct subnetwork can be retrieved with minimal memory usage. If not provided, SupSup can infer the task using gradient-based optimization to find a linear superposition of learned supermasks which minimizes the output entropy. In practice we find that a single gradient step is often sufficient to identify the correct mask, even among 2500 tasks. We also showcase two promising extensions. First, SupSup models can be trained entirely without task identity information, as they may detect when they are uncertain about new data and allocate an additional supermask for the new training distribution. Finally the entire, growing set of supermasks can be stored in a constant-sized reservoir by implicitly storing them as attractors in a fixed-sized Hopfield network.","links":[{"article_link":"https://mitchellnw.github.io/blog/2020/supsup/","code_link":"https://github.com/RAIVNLab/supsup","research_link":"https://arxiv.org/abs/2006.14769","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1682,"title":"Debiased Contrastive Learning","description":"We develop a debiased contrastive objective that corrects for the sampling of same-label data points, even without knowledge of the true labels.","tags":["code","paper","research","simclr","contrastive-learning","bias","debiasing","stl10","arxiv:2007.00224"],"details":"A prominent technique for self-supervised representation learning has been to contrast semantically similar and dissimilar pairs of samples. Without access to labels, dissimilar (negative) points are typically taken to be randomly sampled datapoints, implicitly accepting that these points may, in reality, actually have the same label. Perhaps unsurprisingly, we observe that sampling negative examples from truly different labels improves performance, in a synthetic setting where labels are available. Motivated by this observation, we develop a debiased contrastive objective that corrects for the sampling of same-label datapoints, even without knowledge of the true labels.","links":[{"article_link":"","code_link":"https://github.com/chingyaoc/DCL","research_link":"https://arxiv.org/abs/2007.00224","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1681,"title":"A Survey on Deep Learning for Localization and Mapping","description":"Towards the Age of Spatial Machine Intelligence","tags":["paper","research","computer-vision","object-localization","survey","mapping","spatial","odometry","smis","arxiv:2006.12567"],"details":"Deep learning based localization and mapping has recently attracted great attentions. Instead of crating hand-designed algorithms via exploiting physical models or geometry theory, deep learning based solutions provide an alternative to solve the problem in a data-driven way. Benefited from the ever-increasing amount of data and computational power, these methods are fast evolving into a new area that offers accurate and robust systems to track motion and estimate scene structure for real-world applications. In this work, we provide a comprehensive survey, and propose a new taxonomy on the existing approaches on localization and mapping using deep learning. We also discuss the limitations of current models, and indicate possible future directions. A wide range of topics are covered, from learning odometry estimation, mapping, to global localization and simultaneous localization and mapping (SLAM). We revisit the problem of perceiving self-motion and scene with on-board sensors, and show how to solve it by integrating these modules into a prospective spatial machine intelligence system (SMIS). It is our hope that this work can connect the emerging works from robotics, computer vision and machine learning communities, and serve as a guide for future researchers to know about the possible ways that apply deep learning to tackle the localization and mapping problems.","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2006.12567","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1680,"title":"Feature engineering for Logistic Regression","description":"A dataset to focus on data cleaning and feature prep. ","tags":["article","code","dataset","notebook","video","logistic-regression","regression","feature-engineering","feature-selection"],"details":"This dataset is available at UCI Machine Learning. \"Census Income\" dataset with features such as gender, race, age, native country, etc. This dataset were choose to focus on feature engineering and data pre processing and cleaning. Question to be answered: Predict whether income exceeds $50K/yr based on census data. Check out the complete article about this Machine Learning model. Built based on April Chen's class available on YouTube. Check out the complete article about feature engineering with this dataset.","links":[{"article_link":"https://medium.com/joguei-os-dados/week-4-feature-engineering-4787fca0f809?source=collection_home---4------3-----------------------","code_link":"https://github.com/gerolaleticia/Pyrentena-a-dataset-per-week/blob/master/Semana 4- Dataset Adultos - feature engineering/Semana 4 - Feature Prep adult dataset.ipynb","research_link":"","media_link":"","dataset_link":"http://archive.ics.uci.edu/ml/datasets/Adult","demo_link":"","other_link":"https://www.youtube.com/watch?v=V0u6bxQOUJ8"}]},{"id":1679,"title":"Avocado sales","description":"Exploratory analysis to answer the question: has the trend \u2018avocado toast\u2019 worshiped by millenials caused an increase on avocado sales?","tags":["article","code","dataset","notebook","exploratory-data-analysis"],"details":"This dataset is available here for download and also on Kaggle. It brings data of avocado sales in the USA market from 2015 to 2020. Question to be answered: The recent trend 'avocado toast' worshiped by millenials caused an increase on the total volume of avocado sales? What about the prices, have they increased since avocados are no longer the bad green smooth of childhood and are now an instagramable meal? Check out the complete article about this dataset.","links":[{"article_link":"https://medium.com/joguei-os-dados/week-2-avocado-dataset-2f52442116ae","code_link":"https://github.com/gerolaleticia/Pyrentena-a-dataset-per-week/blob/master/Semana 2 - Dataset Avocado/Pyrentena semana 2 - dataset AVOCADO (1).ipynb","research_link":"","media_link":"","dataset_link":"https://raw.githubusercontent.com/gerolaleticia/Pyrentena-a-dataset-per-week/master/Semana 2 - Dataset Avocado/Avocado.csv","demo_link":"","other_link":""}]},{"id":1678,"title":"NSFW Image Classification REST API built with TensorFlow.JS","description":"A ready-to-use & open-source NSFW Image Classification REST API built with TensorFlow.JS and NSFW.JS for effortless Content Moderation","tags":["api","article","code","tutorial","node-js","tensorflow","tensorflow-js","convolutional-neural-networks","library","adversarial-image-detection","computer-vision","image-classification","image-recognition","object-detection","pretraining","open-source","adversarial-learning","models","demo","nsfw","content-moderation","nsfw-detection","nsfw-classifier","parse-server","machine-learning-pipelines"],"details":"## Building a Content Moderation Service from Scratch\r\nOver the next weeks, we'll share our experience and give you an easy way to build your own Content Moderation Service with ML & [SashiDo](https://bit.ly/3gw923F). What's more, our solution is **open-source** and can be hosted on any other platform that supports fully featured **Node.js + MongoDB** or even cloud hosting providers such as AWS VMs and Digital Ocean.\r\n\r\n## Part 1: Not Safe for Work Image Classification Rest API\r\nWe kick off with step-by-step instructions on [How to create an NSFW Image Classification REST API built with TensorFlow.JS and NSFW.JS ](https://bit.ly/2VEBpEE)for effortless Content Moderation.\r\n\r\n## What's Next?\r\nThe end goal we've set for this project is to have a ready-to-use product, not only classification logic. In the upcoming tutorials, we will show you how we've built an [**Automation Engine**](https://bit.ly/2E5qzla) for fast deletion & moderation and as a final touch, we'll also add **React** to our stack for creating a [beautiful Admin panel](https://bit.ly/39eHpJM). \r\n\r\n## Give Us a Shout!\r\nWhether you deploy directly, integrate, or fork our solution if you liked what we did don't forget to give us a shout on [Twitter](https://twitter.com/sashidoio?lang=en) or share [the repo](https://bit.ly/3is6IMS). Thank you in advance for the support!\r\n\r\n## Your Feedback Matters!\r\nHelp us in our mission to break the barrier to Machine Learning by sharing your feedback and use cases at hello@sashido.io.","links":[{"article_link":"https://bit.ly/2VEBpEE","code_link":"https://bit.ly/3is6IMS","research_link":"","media_link":"https://bit.ly/2VGnGgv","dataset_link":"","demo_link":"https://bit.ly/31EovdA","other_link":"https://bit.ly/3gw923F"}]},{"id":1677,"title":"Building Level 3 Conversational AI Assistants","description":"Presentations, panels, and fireside chats addressing all topics related to the creation of Level 3 AI assistants.","tags":["article","research","video","chatbot","natural-language-processing","rasa","conversational-ai","playlist","level-3"],"details":" L3-AI is a free online event that brings together over 45 speakers - researchers, engineers, designers, and other AI practitioners who are making Level 3 assistants a reality. The agenda has over 9 hours of presentations, panels, and fireside chats addressing all topics related to the creation of Level 3 AI assistants.\r\n \r\n Conversational AI is still a hard problem to solve, and the teams building exceptional AI assistants don\u2019t get there with shortcuts or off the shelf solutions. They rely on tools, research, and techniques that produce AI assistants able to stand up to users\u2019 expectations and meet business goals. At L3-AI, we\u2019ll explore what goes into successfully implementing complex assistants.\r\n\r\nPut simply, Level 3 assistants are here today, and we\u2019ll hear real stories from the people who build them.","links":[{"article_link":"https://blog.rasa.com/l3-ai-virtual-conference/","code_link":"","research_link":"","media_link":"https://www.youtube.com/playlist?list=PL75e0qA87dlGP51yZ0dyNup-vwu0Rlv86","dataset_link":"","demo_link":"","other_link":"https://www.l3-ai.dev/"}]},{"id":1676,"title":"CatBoostLSS","description":"An extension of CatBoost to probabilistic forecasting.","tags":["code","paper","research","forecasting","uncertainty","catboostlss","probabilistic-forecasts","catboost","gamlss","distributional-regression","arxiv:2001.02121"],"details":"We propose a new framework of CatBoost that predicts the entire conditional distribution of a univariate response variable. In particular, CatBoostLSS models all moments of a parametric distribution, i.e., mean, location, scale and shape (LSS), instead of the conditional mean only. Choosing from a wide range of continuous, discrete and mixed discrete-continuous distributions, modelling and predicting the entire conditional distribution greatly enhances the flexibility of CatBoost, as it allows to gain additional insight into the data generating process, as well as to create probabilistic forecasts from which prediction intervals and quantiles of interest can be derived. In the following, we provide a short walk-through of the functionality of CatBoostLSS.","links":[{"article_link":"","code_link":"https://github.com/StatMixedML/CatBoostLSS","research_link":"https://arxiv.org/abs/2001.02121","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1675,"title":"Deterministic Uncertainty Quantification","description":"Method for training a deterministic deep model that can find and reject out of distribution data points at test time with a single forward pass.","tags":["code","paper","research","deep-q-networks","uncertainty","deterministic-uncertainty-quantification","arxiv:2003.02037"],"details":"We propose a method for training a deterministic deep model that can find and reject out of distribution data points at test time with a single forward pass. Our approach, deterministic uncertainty quantification (DUQ), builds upon ideas of RBF networks. We scale training in these with a novel loss function and centroid updating scheme and match the accuracy of softmax models. By enforcing detectability of changes in the input using a gradient penalty, we are able to reliably detect out of distribution data. Our uncertainty quantification scales well to large datasets, and using a single model, we improve upon or match Deep Ensembles in out of distribution detection on notable difficult dataset pairs such as FashionMNIST vs. MNIST, and CIFAR-10 vs. SVHN.","links":[{"article_link":"","code_link":"https://github.com/y0ast/deterministic-uncertainty-quantification","research_link":"https://arxiv.org/abs/2003.02037","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1674,"title":"Fiber: Distributed Computing for AI Made Simple","description":"Fiber is a Python distributed computing library for modern computer clusters.","tags":["article","code","paper","research","library","distributed-training","uber","multiprocessing","clusters","fiber","arxiv:2003.11164"],"details":"* It is easy to use. Fiber allows you to write programs that run on a computer cluster level without the need to dive into the details of computer cluster.\r\n* It is easy to learn. Fiber provides the same API as Python's standard multiprocessing library that you are familiar with. If you know how to use multiprocessing, you can program a computer cluster with Fiber.\r\n* It is fast. Fiber's communication backbone is built on top of Nanomsg which is a high-performance asynchronous messaging library to allow fast and reliable communication.\r\n* It doesn't need deployment. You run it as the same way as running a normal application on a computer cluster and Fiber handles the rest for you.\r\n* It it reliable. Fiber has built-in error handling when you are running a pool of workers. Users can focus on writing the actual application code instead of dealing with crashed workers.","links":[{"article_link":"https://uber.github.io/fiber/introduction/","code_link":"https://github.com/uber/fiber","research_link":"https://arxiv.org/abs/2003.11164","media_link":"","dataset_link":"","demo_link":"","other_link":"https://uber.github.io/fiber/"}]},{"id":1673,"title":"Involutive MCMC: a Unifying Framework","description":"iMCMC provides a unified view of many known MCMC algorithms, which facilitates the derivation of powerful extensions.","tags":["paper","research","markov-chain-monte-carlo","mcmc","involutive","arxiv:2006.16653"],"details":"Markov Chain Monte Carlo (MCMC) is a computational approach to fundamental problems such as inference, integration, optimization, and simulation. The field has developed a broad spectrum of algorithms, varying in the way they are motivated, the way they are applied and how efficiently they sample. Despite all the differences, many of them share the same core principle, which we unify as the Involutive MCMC (iMCMC) framework. Building upon this, we describe a wide range of MCMC algorithms in terms of iMCMC, and formulate a number of \"tricks\" which one can use as design principles for developing new MCMC algorithms. Thus, iMCMC provides a unified view of many known MCMC algorithms, which facilitates the derivation of powerful extensions. We demonstrate the latter with two examples where we transform known reversible MCMC algorithms into more efficient irreversible ones.\r\n","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2006.16653","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1672,"title":"Clustering Spotify Songs","description":"Clustering songs from my Spotify playlist","tags":["article","code","python","machine-learning","clustering","data-science","exploratory-data-analysis"],"details":"","links":[{"article_link":"https://medium.com/data-hackers/clustering-e-visualiza\u00e7\u00e3o-de-dados-aplica\u00e7\u00e3o-em-uma-playlist-do-spotify-usando-k-means-t-sne-e-d3b9d7233db9","code_link":"https://github.com/laaragm/Data-Science-Spotify","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1671,"title":"Churn Prediction with PyCaret","description":"Customer Churn is when customers leave a service in a given period of time, which is bad for business.","tags":["article","code","dataset","notebook","tutorial","python","machine-learning","automl","classification","exploratory-data-analysis","churn","pycaret"],"details":"This work has as objective to build a machine learning model to predict what customers will leave the service, the dataset used on this notebook is the Telco Customer Churn hosted at Kaggle. Also, an Exploratory Data Analysis is made to a better understand about the data. Another point on this work is use Deepnote as development enviroment and the PyCaret Python Module to make all the experiment pipeline.","links":[{"article_link":"https://beta.deepnote.com/article/customer-churn-prediction","code_link":"https://github.com/alfarias/customer-churn-prediction/blob/master/notebooks/customer-churn-prediction.ipynb","research_link":"","media_link":"","dataset_link":"https://www.kaggle.com/blastchar/telco-customer-churn","demo_link":"","other_link":"https://alfarias.github.io/"}]},{"id":1670,"title":"Generate QR Code using Python","description":"This article will explore how to generate QR code in Python and some useful creation features from pyqrcode library.","tags":["article","tutorial","python","program-development"],"details":"","links":[{"article_link":"https://pyshark.com/generate-qr-code-using-python/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1669,"title":"Personal Data Science Learning Plan","description":"This is my personal learning plan that I followed to transition from a software-engineer role to an Machine Learning Engineer role.","tags":["code","tutorial","machine-learning","data-science"],"details":"- Relevant courses to improve adjacent skills along with going deeper into fewer areas\r\n- Organized by goals to improve at specific area X of the data science process","links":[{"article_link":"","code_link":"https://github.com/amitness/learning","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1668,"title":"Model-based Reinforcement Learning: A Survey","description":"A survey of the integration of both fields, better known as model-based reinforcement learning.","tags":["paper","research","reinforcement-learning","survey","model-based-reinforcement-learning","markov-decision-process","arxiv:2006.16712"],"details":"Sequential decision making, commonly formalized as Markov Decision Process (MDP) optimization, is a key challenge in artificial intelligence. Two key approaches to this problem are reinforcement learning (RL) and planning. This paper presents a survey of the integration of both fields, better known as model-based reinforcement learning. Model-based RL has two main steps. First, we systematically cover approaches to dynamics model learning, including challenges like dealing with stochasticity, uncertainty, partial observability, and temporal abstraction. Second, we present a systematic categorization of planning-learning integration, including aspects like: where to start planning, what budgets to allocate to planning and real data collection, how to plan, and how to integrate planning in the learning and acting loop. After these two key sections, we also discuss the potential benefits of model-based RL, like enhanced data efficiency, targeted exploration, and improved stability. Along the survey, we also draw connections to several related RL fields, like hierarchical RL and transfer, and other research disciplines, like behavioural psychology. Altogether, the survey presents a broad conceptual overview of planning-learning combinations for MDP optimization.","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2006.16712","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1667,"title":"Using TensorRT for accelerated deep learning inference","description":"Accelerating inference of TensorFlow models using TensorRT.","tags":["article","code","notebook","tutorial","tensorflow","tensorrt"],"details":"If you see the way deep learning research has progressed over the years, it has always been guided by the need of the hour. If I were to develop a chronology out of it, it would be something like - train better model -> train them faster -> get them good at generalizing well, and so on. With a stern increase in the demand for using deep learning more as just another technology stack, there could not have been a better time to think about how do we make our models infer faster. In this post, we are going to see how to use TensorRT to perform accelerated inference with TensorFlow (2) models. After all, making predictions with deep learning models is what makes you real \ud83d\udcb0 and we would want to make sure that our bucks burned judiciously.","links":[{"article_link":"https://sayak.dev/tf.keras/tensorrt/tensorflow/2020/07/01/accelerated-inference-trt.html","code_link":"https://colab.research.google.com/github/sayakpaul/portfolio/blob/master/_notebooks/2020-07-01-accelerated-inference-trt.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1666,"title":"Serverless BERT with HuggingFace and AWS Lambda","description":"Build a serverless question-answering API with BERT, HuggingFace, the Serverless Framework, and AWS Lambda.","tags":["api","article","tutorial","aws","huggingface","attention","bert","transformers","natural-language-processing","question-answering","serverless","aws-lambda"],"details":"I will show you how to leverage the benefits of serverless architectures and deploy a BERT Question-Answering API in a serverless environment. We are going to use the [Transformers](https://github.com/huggingface/transformers library by HuggingFace, the [Serverless Framework](https://serverless.com/), and AWS Lambda.","links":[{"article_link":"https://www.philschmid.de/serverless-bert-with-huggingface-and-aws-lambda","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1665,"title":"BERTology Meets Biology","description":"Interpreting Attention in Protein Language Models.","tags":["article","code","paper","research","attention","bert","transformers","health","healthcare","interpretability","language-modeling","natural-language-processing","biology","bertology","proteins","language-models","arxiv:2006.15222"],"details":"Transformer architectures have proven to learn useful representations for protein classification and generation tasks. However, these representations present challenges in interpretability. Through the lens of attention, we analyze the inner workings of the Transformer and explore how the model discerns structural and functional properties of proteins. We show that attention (1) captures the folding structure of proteins, connecting amino acids that are far apart in the underlying sequence, but spatially close in the three-dimensional structure, (2) targets binding sites, a key functional component of proteins, and (3) focuses on progressively more complex biophysical properties with increasing layer depth. We also present a three-dimensional visualization of the interaction between attention and protein structure. Our findings align with known biological processes and provide a tool to aid discovery in protein engineering and synthetic biology.","links":[{"article_link":"https://blog.einstein.ai/provis/amp/","code_link":"https://github.com/salesforce/provis","research_link":"https://arxiv.org/abs/2006.15222","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1664,"title":"Sentiment Analysis: Key Milestones, Challenges and New Directions","description":"An overview of sentiment analysis, it's progress and what's ahead.","tags":["paper","research","tutorial","video","natural-language-processing","sentiment-analysis","survey","arxiv:2005.00357"],"details":"[Soujanya Poria](https://www.youtube.com/redirect?q=https%3A%2F%2Ftwitter.com%2Fsoujanyaporia&event=video_description&v=YAqjf7to-lU&redir_token=2S1wM0R8j4GodDASvTiPEu2bUvF8MTU5MzY3MzczM0AxNTkzNTg3MzMz) holds a Ph.D. in Computer Science. Soujanya main areas of [research interest](https://www.youtube.com/redirect?q=https%3A%2F%2Fdeclare-lab.net%2F&event=video_description&v=YAqjf7to-lU&redir_token=2S1wM0R8j4GodDASvTiPEu2bUvF8MTU5MzY3MzczM0AxNTkzNTg3MzMz) are NLP and sentiment analysis. At present, he works as an assistant professor at the Singapore University of Technology and Design (SUTD), Singapore. He is also part of the Institute of High-Performance Computing (IHPC), ASTAR as a senior scientist. Before joining SUTD, he worked at NTU where he was awarded the prestigious NTU presidential postdoctoral fellowship.","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2005.00357","media_link":"https://www.youtube.com/watch?v=YAqjf7to-lU","dataset_link":"","demo_link":"","other_link":"https://www.dropbox.com/s/po5rsekhdnjz114/invited%20talk%20dair%20%281%29.pdf?dl=0"}]},{"id":1663,"title":"Sktime","description":"A python toolbox for machine learning with time series.","tags":["article","code","library","forecasting","time-series","time-series-forecasting","time-series-regression"],"details":"We currently support:\r\n\r\n* Forecasting,\r\n* Time series classification,\r\n* Time series regression.\r\n\r\nsktime provides dedicated time series algorithms and [scikit-learn](https://github.com/scikit-learn/scikit-learn) compatible tools for building, tuning, and evaluating composite models.\r\n\r\nFor deep learning methods, see our companion package: [sktime-dl](https://github.com/sktime/sktime-dl).","links":[{"article_link":"https://towardsdatascience.com/sktime-a-unified-python-library-for-time-series-machine-learning-3c103c139a55","code_link":"https://github.com/alan-turing-institute/sktime","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"http://sktime.org/index.html"}]},{"id":1662,"title":"Image synthesis at CVPR 2020","description":"An overview of the different approaches to image synthesis at CVPR 2020.","tags":["article","research","computer-vision","image-generation","image-synthesis","survey","cvpr-2020"],"details":"During the conference, I took notes and decided to share them. No notes were taken on the papers that I had studied in great detail earlier. That is why articles like StyleGAN2 and StarGAN2 were not included in the list. For this post to be appropriate, it will only be about image generation (well, almost).","links":[{"article_link":"https://evgenykashin.github.io/2020/06/29/CVPR2020-Image-Synthesis.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1661,"title":"SpineNet: A Novel Architecture for Object Detection","description":"A meta architecture called a scale-permuted model that enables two major improvements on backbone architecture design,iscovered with neural architecture search.","tags":["article","code","paper","research","convolutional-neural-networks","computer-vision","object-detection","neural-architecture-search","cvpr-2020","spinenet","arxiv:1912.05027"],"details":"Convolutional neural networks typically encode an input image into a series of intermediate features with decreasing resolutions. While this structure is suited to classification tasks, it does not perform well for tasks requiring simultaneous recognition and localization (e.g., object detection). The encoder-decoder architectures are proposed to resolve this by applying a decoder network onto a backbone model designed for classification tasks. In this paper, we argue encoder-decoder architecture is ineffective in generating strong multi-scale features because of the scale-decreased backbone. We propose SpineNet, a backbone with scale-permuted intermediate features and cross-scale connections that is learned on an object detection task by Neural Architecture Search. Using similar building blocks, SpineNet models outperform ResNet-FPN models by ~3% AP at various scales while using 10-20% fewer FLOPs. In particular, SpineNet-190 achieves 52.5% AP with a MaskR-CNN detector and achieves 52.1% AP with a RetinaNet detector on COCO for a single model without test-time augmentation, significantly outperforms prior art of detectors. SpineNet can transfer to classification tasks, achieving 5% top-1 accuracy improvement on a challenging iNaturalist fine-grained dataset.","links":[{"article_link":"https://ai.googleblog.com/2020/06/spinenet-novel-architecture-for-object.html","code_link":"https://github.com/tensorflow/tpu/tree/master/models/official/detection","research_link":"https://arxiv.org/abs/1912.05027","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1660,"title":"Distributed model training using Horovod","description":"Distributing training jobs allows you to push past the single-GPU bottleneck, developing larger and more powerful models leveraging many GPUs simultaneously.","tags":["article","tutorial","pytorch","distributed-training","horovod"],"details":"Distributing training jobs allows you to push past the single-GPU bottleneck, developing larger and more powerful models leveraging many GPUs simultaneously. In this post we implement distributed training using Horovod.","links":[{"article_link":"https://spell.ml/blog/distributed-model-training-using-horovod-XvqEGRUAACgAa5th","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1659,"title":"Evaluation of Text Generation: A Survey","description":"Evaluation methods of natural language generation (NLG) and language modeling.","tags":["paper","research","language-modeling","natural-language-processing","text-generation","survey","natural-language-generation","arxiv:2006.14799"],"details":"The paper surveys evaluation methods of natural language generation (NLG) systems that have been developed in the last few years. We group NLG evaluation methods into three categories: (1) human-centric evaluation metrics, (2) automatic metrics that require no training, and (3) machine-learned metrics. For each category, we discuss the progress that has been made and the challenges still being faced, with a focus on the evaluation of recently proposed NLG tasks and neural NLG models. We then present two case studies of automatic text summarization and long text generation, and conclude the paper by proposing future research directions.\r\n","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2006.14799","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1658,"title":"SimCLR - Contrastive Learning of Visual Representations","description":"How to load pretrained/finetuned SimCLR models from hub modules for fine-tuning.","tags":["article","code","notebook","paper","research","library","computer-vision","fine-tuning","representation-learning","self-supervised-learning","unsupervised-learning","simclr","contrastive-learning","pretraining","arxiv:2002.05709"],"details":"We updated the code to reflect some changes in SimCLRv2. The SimCLRv2 checkpoints and accompanying colabs are also released (see below).\r\n\r\n","links":[{"article_link":"https://ai.googleblog.com/2020/04/advancing-self-supervised-and-semi.html","code_link":"https://github.com/google-research/simclr","research_link":"https://arxiv.org/abs/2002.05709","media_link":"","dataset_link":"","demo_link":"","other_link":"https://colab.research.google.com/github/google-research/simclr/blob/master/colabs/finetuning.ipynb"}]},{"id":1657,"title":"Fast Api with Dockerization of your ML Models","description":"In this GitHub repo you can able to know and learn how to build a fast API for testing your ML model and can test your ML model with UI and to Dockerize your ML","tags":["article","code","docker","fastapi","flask","production"],"details":"See the detailed explanation about both creation of [FastAPI](https://vpkprasanna.blogspot.com/2020/05/fast-api.html) and [Dockerization](https://vpkprasanna.blogspot.com/2020/05/how-to-dockerize-your-fast-api-app.html).","links":[{"article_link":"https://vpkprasanna.blogspot.com/2020/05/how-to-dockerize-your-fast-api-app.html","code_link":"https://github.com/VpkPrasanna/fastapi_Demo","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1656,"title":"Insights from Stackoverflow Dataset","description":"Analysis of Stackoverflow Developers Dataset to answer some business questions","tags":["article","code","python","machine-learning","data-science","exploratory-data-analysis"],"details":"For this project, I was interestested in using Stack Overflow data from 2017 to 2019 in order to better understand:\r\n\r\n1. What programming languages are on the rise during the previous three years?\r\n2. How does the education level affects the salary, job and career satisfaction?\r\n3. Does the number of people who desire to work in a particular language accurately predicts its rise in the following year?\r\n4. What does the developers in general think of higher management?\r\n","links":[{"article_link":"https://towardsdatascience.com/insights-from-stackoverflows-data-from-the-last-three-years-ea50bba90736","code_link":"https://github.com/nouman-10/Insights-from-Stackoverflow-Dataset","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1655,"title":"Rethinking pre-training and self-training","description":"This new paper from Google Brain investigates self-training and how it compares to pre-training and self-supervised learning for the the same set of tasks.","tags":["article","paper","research","deep-learning","machine-learning","self-supervised-learning","pretraining","arxiv:2006.06882","self-training"],"details":"","links":[{"article_link":"https://medium.com/@nainaakash012/rethinking-pre-training-and-self-training-53d489b53cbc","code_link":"","research_link":"https://arxiv.org/abs/2006.06882","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1654,"title":"3D Detection and Domain Adaptation","description":"1st Place Solution for Waymo Open Dataset Challenge","tags":["dataset","paper","research","automobile","3d","autonomous-vehicles","computer-vision","domain-adaptation","object-detection","waymo","arxiv:2006.15505"],"details":"In this technical report, we introduce our winning solution \"HorizonLiDAR3D\" for the 3D detection track and the domain adaptation track in Waymo Open Dataset Challenge at CVPR 2020. Many existing 3D object detectors include prior-based anchor box design to account for different scales and aspect ratios and classes of objects, which limits its capability of generalization to a different dataset or domain and requires post-processing (e.g. Non-Maximum Suppression (NMS)). We proposed a one-stage, anchor-free and NMS-free 3D point cloud object detector AFDet, using object key-points to encode the 3D attributes, and to learn an end-to-end point cloud object detection without the need of hand-engineering or learning the anchors. AFDet serves as a strong baseline in our winning solution and significant improvements are made over this baseline during the challenges. Specifically, we design stronger networks and enhance the point cloud data using densification and point painting. To leverage camera information, we append/paint additional attributes to each point by projecting them to camera space and gathering image-based perception information. The final detection performance also benefits from model ensemble and Test-Time Augmentation (TTA) in both the 3D detection track and the domain adaptation track. Our solution achieves the 1st place with 77.11% mAPH/L2 and 69.49% mAPH/L2 respectively on the 3D detection track and the domain adaptation track.","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2006.15505","media_link":"","dataset_link":"https://waymo.com/open/challenges","demo_link":"","other_link":"https://waymo.com/open/challenges"}]},{"id":1653,"title":"MARGE: Pre-training via Paraphrasing","description":"A retrieval model maps a document to a set of related documents, which a reconstruction model paraphrases to maximize the likelihood of the original. ","tags":["paper","research","natural-language-processing","pretraining","paraphrasing","marge","arxiv:2006.15020"],"details":"We introduce MARGE, a pre-trained sequence-to-sequence model learned with an unsupervised multi-lingual multi-document paraphrasing objective. MARGE provides an alternative to the dominant masked language modeling paradigm, where we self-supervise the reconstruction of target text by retrieving a set of related texts (in many languages) and conditioning on them to maximize the likelihood of generating the original. We show it is possible to jointly learn to do retrieval and reconstruction, given only a random initialization. The objective noisily captures aspects of paraphrase, translation, multi-document summarization, and information retrieval, allowing for strong zero-shot performance on several tasks. For example, with no additional task-specific training we achieve BLEU scores of up to 35.8 for document translation. We further show that fine-tuning gives strong performance on a range of discriminative and generative tasks in many languages, making MARGE the most generally applicable pre-training method to date.","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2006.15020","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1652,"title":"Julia for Pythonistas","description":"Julia looks and feels a lot like Python, only much faster. It's dynamic, expressive, extensible, with batteries included, in particular for Data Science.","tags":["code","notebook","tutorial","julia","python"],"details":"This notebook is an introduction to Julia for Python programmers.\r\n\r\nIt will go through the most important Python features (such as functions, basic types, list comprehensions, exceptions, generators, modules, packages, and so on) and show you how to code them in Julia.","links":[{"article_link":"","code_link":"https://colab.research.google.com/github/ageron/julia_notebooks/blob/master/Julia_for_Pythonistas.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1651,"title":"High-Resolution Image Inpainting","description":"High-Resolution Image Inpainting with Iterative Confidence Feedback and Guided Upsampling.\r\n","tags":["article","paper","research","computer-vision","inpainting","demo","high-resolution","image-inpainting","arxiv:2005.11742"],"details":"Existing image inpainting methods often produce artifacts when dealing with large holes in real applications. To address this challenge, we propose an iterative inpainting method with a feedback mechanism. Specifically, we introduce a deep generative model which not only outputs an inpainting result but also a corresponding confidence map. Using this map as feedback, it progressively fills the hole by trusting only high-confidence pixels inside the hole at each iteration and focuses on the remaining pixels in the next iteration. As it reuses partial predictions from the previous iterations as known pixels, this process gradually improves the result. In addition, we propose a guided upsampling network to enable generation of high-resolution inpainting results. We achieve this by extending the Contextual Attention module [1] to borrow high-resolution feature patches in the input image. Furthermore, to mimic real object removal scenarios, we collect a large object mask dataset and synthesize more realistic training data that better simulates user inputs. Experiments show that our method significantly outperforms existing methods in both quantitative and qualitative evaluations.","links":[{"article_link":"https://zengxianyu.github.io/iic/","code_link":"","research_link":"https://arxiv.org/abs/2005.11742","media_link":"","dataset_link":"","demo_link":"http://47.57.135.203:2333/","other_link":""}]},{"id":1650,"title":"The Reformer - Pushing the Limits of Language Modeling","description":"An in-depth understanding of each of the key features of the Reformer.","tags":["article","code","notebook","paper","research","tutorial","huggingface","transformers","language-modeling","natural-language-processing","reformer","arxiv:2001.04451"],"details":"* **Main article**: [https://huggingface.co/blog/reformer](https://huggingface.co/blog/reformer)\r\n* **Part 1**: [https://colab.research.google.com/drive/15oP52_7W5dRcAnbgX3tYADsu4R3cjMIf](https://colab.research.google.com/drive/15oP52_7W5dRcAnbgX3tYADsu4R3cjMIf)\r\n* **Part 2**: [https://colab.research.google.com/drive/1xKK32Yhda-iYgtoA3eCrnCVuy_lraQR9](https://colab.research.google.com/drive/1xKK32Yhda-iYgtoA3eCrnCVuy_lraQR9)\r\n* **Part 3**: [https://colab.research.google.com/drive/1BLffcRt9LXmM7nKU2UXhtm0PqAG0UE7J](https://colab.research.google.com/drive/1BLffcRt9LXmM7nKU2UXhtm0PqAG0UE7J)\r\n* **Part 4**: [https://colab.research.google.com/drive/1MYxvC4RbKeDzY2lFfesN-CvPLKLk00CQ\r\n](https://colab.research.google.com/drive/1MYxvC4RbKeDzY2lFfesN-CvPLKLk00CQ)\r\n\r\nThe memory improvements can be attributed to 4 features which the Reformer authors introduced to the transformer world:\r\n\r\n* **Reformer Self-Attention Layer** - How to efficiently implement self-attention without being restricted to a local context?\r\n* **Chunked Feed Forward Layers** - How to get a better time-memory trade-off for large feed forward layers?\r\n* **Reversible Residual Layers** - How to drastically reduce memory consumption in training by a smart residual architecture?\r\n* **Axial Positional Encodings** - How to make positional encodings usable for extremely large input sequences?\r\n\r\nThe goal of this blog post is to give the reader an in-depth understanding of each of the four Reformer features mentioned above. While the explanations are focused on the Reformer, the reader should get a better intuition under which circumstances each of the four features can be effective for other transformer models as well. The four sections are only loosely connected, so they can very well be read individually.","links":[{"article_link":"https://huggingface.co/blog/reformer","code_link":"https://colab.research.google.com/drive/15oP52_7W5dRcAnbgX3tYADsu4R3cjMIf","research_link":"https://arxiv.org/abs/2001.04451","media_link":"","dataset_link":"","demo_link":"","other_link":"https://github.com/patrickvonplaten/notebooks"}]},{"id":1649,"title":"Model Serving using FastAPI and streamlit","description":"Simple example of usage of streamlit and FastAPI for ML model serving.","tags":["article","code","tutorial","video","fastapi","computer-vision","semantic-segmentation","streamlit","segmentation","deeplabv3"],"details":"Simple example of usage of streamlit and FastAPI for ML model serving described on [a blogpost](https://davidefiocco.github.io/2020/06/27/streamlit-fastapi-ml-serving.html) and [video](https://www.youtube.com/watch?v=IvHCxycjeR0).\r\n\r\nWhen developing simple APIs that serve machine learning models, it can be useful to have both a backend (with API documentation) for other applications to call and a frontend for users to experiment with the functionality.\r\n\r\nIn this example, we serve an [image semantic segmentation model](https://pytorch.org/hub/pytorch_vision_deeplabv3_resnet101/) using FastAPI for the backend service and streamlit for the frontend service. docker-compose orchestrates the two services and allows communication between them.","links":[{"article_link":"https://davidefiocco.github.io/2020/06/27/streamlit-fastapi-ml-serving.html","code_link":"https://github.com/davidefiocco/streamlit-fastapi-model-serving/","research_link":"","media_link":"https://www.youtube.com/watch?v=IvHCxycjeR0","dataset_link":"","demo_link":"","other_link":"https://pytorch.org/hub/pytorch_vision_deeplabv3_resnet101/"}]},{"id":1648,"title":"STUMPY: A Powerful and Scalable Python Library for Time Series","description":"STUMPY is a powerful and scalable Python library for computing a Matrix Profile, which can be used for a variety of time series data mining tasks.","tags":["article","code","video","library","anomaly-detection","time-series","numba","dask","pattern-matching","matrix-profile","pydata"],"details":"* Part 1: [The Matrix Profile](https://medium.com/@seanmylaw/the-matrix-profile-e4a679269692)\r\n* Part 2: [STUMPY Basics](https://medium.com/@seanmylaw/stumpy-basics-21844a2d2d92)\r\n* Part 3: [Time Series Chains](https://medium.com/@seanmylaw/part-3-time-series-chains-da281450abbf)\r\n* Part 4: [Semantic Segmentation](https://medium.com/@seanmylaw/part-4-semantic-segmentation-b42c3792833d)\r\n* Part 5: [Fast Approximate Matrix Profiles with STUMPY](https://medium.com/@seanmylaw/part-5-fast-approximate-matrix-profiles-with-scrump-c6d9c984c560)\r\n* Part 6: [Matrix Profiles for Streaming Time Series Data](https://medium.com/@seanmylaw/matrix-profiles-for-streaming-time-series-data-f877ff6f9eef)","links":[{"article_link":"https://towardsdatascience.com/the-matrix-profile-e4a679269692","code_link":"https://github.com/TDAmeritrade/stumpy","research_link":"","media_link":"https://www.youtube.com/watch?v=WvaBPSeA_JA","dataset_link":"","demo_link":"","other_link":"https://stumpy.readthedocs.io/en/latest/tutorials.html"}]},{"id":1647,"title":"Mixed Precision Training ","description":"Mixed precision Investigation in using 16-bit and 32-bit floating-point types in a model during training","tags":["article","tutorial","machine-learning","training","mixed-precision"],"details":"* High level Introduction about Mixed Precision Training .\r\n* Explain issues In Half Precision.\r\n* Main issues which prevent from training with FP16.\r\n* The Proposed Techniques for Training with Mixed Precision.\r\n* Investigate in Mixed Precision Training Steps.\r\n* Mixed Precision In Frameworks (Tensorflow - Pytorch ).\r\n","links":[{"article_link":"https://islammohamedmosaad.github.io/journal/Mixed-Precision-Training.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1646,"title":"Twitter Turing Test","description":"Can you guess whether this tweet is written by a human or generated by a neural network?","tags":["code","dataset","tutorial","huggingface","python","gpt2","transformers","natural-language-processing","text-generation","demo","twitter","modelzoo"],"details":"# Twitter Turing Test\r\n\r\nA game where you need to guess whether a tweet comes from a human, or from a\r\nneural network language model trained on a category of tweets.\r\n\r\n[](https://app.modelzoo.dev/models/gpt2-twitter-vc)\r\n\r\n## [Live Demo](https://twitterturingtest.modelzoo.dev)\r\n\r\n## Overview\r\n\r\nThis project uses the following open source projects for developing our models:\r\n\r\n* [twint](https://github.com/twintproject/twint) for scraping twitter data from a set of usernames. For some larger datasets, [scrapoxy](https://scrapoxy.readthedocs.io/en/master/quick_start/index.html) is used as a proxy pool for avoiding Twitter's IP blacklist.\r\n\r\n* [Hugging Face Transformers](https://huggingface.co/) for fine-tuning the [Open AI GPT-2](https://openai.com/blog/better-language-models/) model on additional data.\r\n\r\nModels are deployed to [Model Zoo](https://modelzoo.dev/) for a realtime HTTP endpoint.\r\n\r\nThe frontend React application is a wrapper around a dataset of static tweets and the Model Zoo HTTP endpoints. See [frontend documentation](./frontend/README.md) for more details.\r\n\r\n## How to train and deploy your own language model\r\n\r\n#### Preparing the dataset\r\n\r\nThe script `download-tweets.sh` contains our methodology for scraping a twitter dataset with [twint](https://github.com/twintproject/twint). The script accepts a single argument `$name`, and searches for a file `sources/$name.txt` which should specify a list of twitter handles to scrape from. The scraping script applies some crude heuristics to attempt to filter out tweets that (1) are replies to other tweets and (2) that have links in them. These heuristics aren't perfect, but I found they worked good enough.\r\n\r\nIn preparing several datasets with [twint](https://github.com/twintproject/twint), I found that Twitter was often blacklisting our IP a few minutes into the scraping process. To get around this, I used [scrapoxy on EC2](https://scrapoxy.readthedocs.io/en/master/standard/providers/awsec2/index.html) to scrape from five different EC2 proxy instances at once.\r\n\r\nSeveral datasets have been prepared and released publicly on AWS that you are free to use at `s3://modelzoo-datasets/text-generation`.\r\n\r\nThank you to [minimaxir/download-tweets-ai-textgen](https://github.com/minimaxir/download-tweets-ai-text-gen) for supplying a list of republican and democrat twitter handles.\r\n\r\n#### Training the model\r\n\r\nThe script `train.py` includes code to load pretrained weights and fine-tune the model, largely adapted from the [Hugging Face Language Modeling example](https://github.com/huggingface/transformers/tree/master/examples/language-modeling). Each model was trained on a single K80 GPU. All of the models were trained for\r\na single epoch except for COVID-19, which was a slightly smaller dataset and\r\ntrained for two epochs. Model training took somewhere between 6 - 16 hours for each model.\r\n\r\nThe training process could be improved further with hyperparameter optimization\r\nand additional experimentation. This is left as an exercise to the reader :)\r\n\r\n#### Deploying the model\r\n\r\nThe model is automatically deployed after training using the [Model Zoo](https://modelzoo.dev/) `transformers` support and a few lines of code:\r\n\r\n```\r\ntextgen = pipeline(\"text-generation\", model=model, tokenizer=tokenizer)\r\nmodelzoo.transformers.deploy(\r\n textgen,\r\n model_name=\"...\"\r\n resources_config=modelzoo.ResourcesConfig(memory_mb=2048, cpu_units=1024),\r\n)\r\n```\r\n\r\nPlease ensure you run `$ modelzoo auth` to create or login to a Model Zoo account in your training environment. Alternatively, you can set the environment variable `MODELZOO_API_KEY` accordingly.\r\n\r\nSee [`modelzoo.transformers.deploy`](https://docs.modelzoo.dev/reference/modelzoo.transformers.html#modelzoo.transformers.deploy) for more details.","links":[{"article_link":"","code_link":"https://github.com/model-zoo/twitter-turing-test","research_link":"","media_link":"","dataset_link":"s3://modelzoo-datasets/text-generation","demo_link":"https://twitterturingtest.modelzoo.dev","other_link":"https://modelzoo.dev"}]},{"id":1645,"title":"Using Data Science Pipelines for Disaster Response","description":"Uses ETL and ML pipeline to build an NLP system for classification of messages into appropriate disaster categories","tags":["article","code","flask","machine-learning","natural-language-processing","data-science","natural-disasters","etl"],"details":"In this project, I have used analyze disaster data from Figure Eight to build a model for an API that classifies disaster messages.\r\n\r\nI have created an ETL pipeline that loads and cleans the data into a database to make it ready for modelling and analyzing\r\n\r\nThen, an ML pipeline is incorporated that tokenizes the data and builds a supervised ML pipeline for classification\r\n\r\nFinally, a web app using Flask is built to visualize the data and show the classification results.","links":[{"article_link":"https://towardsdatascience.com/using-data-science-pipelines-for-disaster-response-d1df827b9058","code_link":"https://github.com/nouman-10/Disaster-Response","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1644,"title":"A research guide for data scientists","description":"Tips on research from top data scientists","tags":["article","research","deep-learning","natural-language-processing"],"details":"","links":[{"article_link":"https://pakodas.substack.com/p/a-data-scientist-without-a-phd","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1643,"title":"FastAPI for Flask Users","description":"A comprehensive guide to FastAPI with a side-by-side code comparison with Flask ","tags":["api","article","tutorial","fastapi","flask"],"details":"- Learn to migrate an API from Flask to FastAPI\r\n- Learn about the batteries-included philosophy of FastAPI to develop APIs at a rapid pace","links":[{"article_link":"https://amitness.com/2020/06/fastapi-vs-flask/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1642,"title":"Sending Email with .docx Attachment using Python","description":"This article will explore how to send email with attachment in Python and how it can be integrated in your existing data science projects.","tags":["article","tutorial","python","program-development"],"details":"","links":[{"article_link":"https://pyshark.com/sending-email-with-docx-attachment-using-python/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1641,"title":"Hugging Captions","description":"Generate realistic instagram worthy captions using transformers given a hasthtag and a small text snippet.","tags":["article","code","huggingface","transformers","computer-vision","image-captioning","language-modeling","natural-language-processing","text-generation","instagram"],"details":"Hugging Captions fine-tunes [GPT-2](https://openai.com/blog/better-language-models/), a transformer-based language model by [OpenAI](https://openai.com/), to generate realistic photo captions. All of the transformer stuff is implemented using [Hugging Face's Transformers library](https://github.com/huggingface/transformers), hence the name Hugging Captions.","links":[{"article_link":"","code_link":"https://github.com/antoninodimaggio/Hugging-Captions","research_link":"","media_link":"https://www.instagram.com/huggingcaptions/","dataset_link":"","demo_link":"","other_link":""}]},{"id":1640,"title":"Smooth Adversarial Training","description":"ReLU activation function significantly weakens adversarial training due to its non-smooth nature. Hence we propose smooth adversarial training (SAT).","tags":["paper","research","relu","adversarial-learning","adversarial-training","sat","arxiv:2006.14536"],"details":"It is commonly believed that networks cannot be both accurate and robust, that gaining robustness means losing accuracy. It is also generally believed that, unless making networks larger, network architectural elements would otherwise matter little in improving adversarial robustness. Here we present evidence to challenge these common beliefs by a careful study about adversarial training. Our key observation is that the widely-used ReLU activation function significantly weakens adversarial training due to its non-smooth nature. Hence we propose smooth adversarial training (SAT), in which we replace ReLU with its smooth approximations to strengthen adversarial training. The purpose of smooth activation functions in SAT is to allow it to find harder adversarial examples and compute better gradient updates during adversarial training. Compared to standard adversarial training, SAT improves adversarial robustness for \"free\", i.e., no drop in accuracy and no increase in computational cost. For example, without introducing additional computations, SAT significantly enhances ResNet-50's robustness from 33.0% to 42.3%, while also improving accuracy by 0.9% on ImageNet. SAT also works well with larger networks: it helps EfficientNet-L1 to achieve 82.2% accuracy and 58.6% robustness on ImageNet, outperforming the previous state-of-the-art defense by 9.5% for accuracy and 11.6% for robustness.","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2006.14536","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1639,"title":"Computer Vision Recipes","description":"This repository provides examples and best practice guidelines for building computer vision systems.","tags":["article","code","tutorial","pytorch","computer-vision","crowd-counting","image-classification","object-detection","segmentation","action-recognition","recipe","keypoints-detection"],"details":"The goal of this repository is to build a comprehensive set of tools and examples that leverage recent advances in Computer Vision algorithms, neural architectures, and operationalizing such systems. Rather than creating implementions from scratch, we draw from existing state-of-the-art libraries and build additional utility around loading image data, optimizing and evaluating models, and scaling up to the cloud. In addition, having worked in this space for many years, we aim to answer common questions, point out frequently observed pitfalls, and show how to use the cloud for training and deployment.","links":[{"article_link":"https://medium.com/pytorch/pytorch-computer-vision-library-for-experts-and-beginners-84b9157584e5","code_link":"https://github.com/microsoft/computervision-recipes/","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://pytorch.org/tutorials/recipes/recipes_index.html"}]},{"id":1638,"title":"Dakshina Dataset","description":"A collection of text in both Latin and native scripts for 12 South Asian languages.","tags":["code","dataset","paper","research","natural-language-processing","languages","dakshina"],"details":"The Dakshina dataset is a collection of text in both Latin and native scripts for 12 South Asian languages. For each language, the dataset includes a large collection of native script Wikipedia text, a romanization lexicon which consists of words in the native script with attested romanizations, and some full sentence parallel data in both a native script of the language and the basic Latin alphabet.","links":[{"article_link":"","code_link":"https://github.com/google-research-datasets/dakshina","research_link":"https://www.aclweb.org/anthology/2020.lrec-1.294","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1637,"title":"AquVitae: The Easiest Knowledge Distillation Library","description":"AquVitae is a Python library that is the easiest to perform Knowledge Distillation through a very simple API. This library supports TensorFlow and PyTorch. Know","tags":["code","pytorch","tensorflow","deep-learning","machine-learning","library","knowledge-distillation","model-compression","light-weight"],"details":"github.com/aquvitae/aquvitae","links":[{"article_link":"","code_link":"https://github.com/aquvitae/aquvitae","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1636,"title":"Automatic translation of the SQUAD dataset to spanish","description":"Machine translation is used on the SQuAD dataset to produce an equivalent dataset in Spanish. Word alignment is applied to produce a synthetic spanisQA corpus.\r\n","tags":["code","paper","research","natural-language-processing","natural-language-understanding","question-answering","spanish","arxiv:1912.05200"],"details":"","links":[{"article_link":"","code_link":"https://github.com/ccasimiro88/TranslateAlignRetrieve","research_link":"https://arxiv.org/abs/1912.05200","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1635,"title":"A Weighted Mutual k-Nearest Neighbour for Classification Mining","description":"kNN revisited","tags":["code","paper","research","k-nearest-neighbors","arxiv:2005.08640"],"details":"kNN is a very effective Instance based learning\r\nmethod, and it is easy to implement. Due to heterogeneous nature\r\nof data, noises from different possible sources are also widespread\r\nin nature especially in case of large-scale databases. For noise\r\nelimination and effect of pseudo neighbours, in this paper, we\r\npropose a new learning algorithm which performs the task of\r\nanomaly detection and removal of pseudo neighbours from the\r\ndataset so as to provide comparative better results. This\r\nalgorithm also tries to minimize effect of those neighbours which\r\nare distant. A concept of certainty measure is also introduced for\r\nexperimental results. The advantage of using concept of mutual\r\nneighbours and distance-weighted voting is that, dataset will be\r\nrefined after removal of anomaly and weightage concept compels\r\nto take into account more consideration of those neighbours,\r\nwhich are closer.","links":[{"article_link":"","code_link":"https://github.com/x0v/A-Weighted-Mutual-k-Nearest-Neighbour-for-Classification-Mining","research_link":"https://arxiv.org/abs/2005.08640","media_link":"https://docs.google.com/presentation/d/1C00HLW8MezByDuMc4nB2r_y2FYNmWaH7x7LM-pgsTx8/embed?start=false&loop=true&delayms=3000&slide=id.p3","dataset_link":"","demo_link":"","other_link":""}]},{"id":1634,"title":"Introduction to Probabilistic Programming","description":"A brief intoduction to Probabilistic Programming, a tool for modelling tasks with uncertainty.","tags":["article","code","tutorial","deep-learning","machine-learning","uncertainty","probability"],"details":"Welcome to another tutorial about probabilistic models, after a primer on [PGMs](https://dasayan05.github.io/blog-tut/2019/11/20/inference-in-pgm.html) and [VAE](https://dasayan05.github.io/blog-tut/2020/01/01/variational-autoencoder.html). However, I am particularly excited to discuss a topic that does not get as much attention as traditional Deep Learning does. The idea of Probabilistic Programming has long been there in the ML literature and got enriched over time. Before it creates confusion, let\u2019s de-clutter it right now - it\u2019s not really writing traditional \u201cprograms\u201d, rather it\u2019s building Probabilistic Graphical Models (PGMs), but equipped with imperative programming style (i.e., iterations, branching, recursion etc). Just like Automatic Differentiation allowed us to compute derivative of arbitrary computation graphs (in PyTorch, TensorFlow), Black-box methods have been developed to \u201csolve\u201d probabilistic programs. In this post, I will provide a generic view on why such a language is indeed possible and how such black-box solvers are materialized. At the end, I will also introduce you to one such Universal Probabilistic Programming Language, [Pyro](http://pyro.ai/), that came out of Uber\u2019s AI lab and started gaining popularity.\r\n\r\n\r\nThe full code is available in this gist: [https://gist.github.com/dasayan05/aca3352cd00058511e8372912ff685d8](https://gist.github.com/dasayan05/aca3352cd00058511e8372912ff685d8)","links":[{"article_link":"https://dasayan05.github.io/blog-tut/2020/05/05/probabilistic-programming.html","code_link":"https://gist.github.com/dasayan05/aca3352cd00058511e8372912ff685d8","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"http://dasayan05.github.io/"}]},{"id":1633,"title":"FACEAPP Gender Swap Fake detection","description":"In this project we used Deep Learning to detect fake images generated by FaceApp app gender swap feature.","tags":["code","fastai","deep-learning"],"details":"# FACEAPP gender swap fake detection\r\n\r\nIn this project we used Deep Learning to detect fake images generated by FaceApp app gender swap feature.\r\n\r\n#### Actual\r\n \r\n#### Fake\r\n\r\n\r\n\r\n\r\n\r\n## Overview \r\n\r\nFACEAPP is a famous app that uses Deep Learning to generate fake pictures of people with different styles of hair, makeup and so on. But in this project we are interested in its gender swap feature which as its name indicates turns images of males into females and vice versa. \r\n\r\n\r\n\r\n\r\n\r\n## Goal\r\n\r\nThe goal is to scrap a decent amount of fake and original images, clean the images and train a deep learning model using transfer learning and FASTAI to achieve a good accuracy.\r\n\r\n## Table of content\r\n\r\n- [Requirements](#Requirements)\r\n- [Scrapping Data](#Scrapping Data)\r\n- [Cleaning Data](#Cleaning Data)\r\n- [Training the Model](#Training the Model)\r\n\r\n## Requirements\r\n\r\n- Python 3.x\r\n- Matplotlib\r\n\r\n### Scrapping & Cleaning\r\n\r\n- Tweepy: for scrapping twitter data\r\n- OpenCV: for cropping the images and creating new images\r\n- shutil: for moving files\r\n- Jupyter notebooks widgets: for easier data cleaning\r\n\r\n### Training\r\n\r\n- [FASTAI](https://github.com/fastai/course-v3)\r\n\r\n## Scrapping Data\r\n\r\n### Tweets(Images) at `#faceapp`\r\n\r\n- Scrapped images in the tweets of this hashtag as most people that uses the application either talks about it or uses the hashtag when uploading their generated pictures.\r\n- Images were saved in a folder called `data` so that we can clean it later.\r\n\r\n### Tweets(Images) at `#new_avatar`\r\n\r\n- After cleaning the data, I found that the data was not balanced. So I downloaded some images at this hashtag as people tend to put their real images as profile pictures and attach the hashtag.\r\n- Images were saved in a folder called `more_original` and were finally added to the `original` folder before training.\r\n\r\n## Cleaning Data\r\n\r\n### Real & Fake Images \r\n\r\n[notebook]([https://github.com/moaaztaha/Faceapp-Gender-Swap-Detection/blob/master/Filter%20Data.ipynb](https://github.com/moaaztaha/Faceapp-Gender-Swap-Detection/blob/master/Filter Data.ipynb))\r\n\r\n- Used Jupyter notebook widgets to create a widget with buttons so that I can move images with a single click to their corresponding folders\r\n- **Buttons**\r\n - **Original**: moves images of real people to the **original folder**\r\n - **Fake**: moves images of fake people to the **fake folder**\r\n - **Delete**: *deletes* images that doesn't have people in it or irrelevant\r\n - **Later**: moves images that have **a collage of fake and real images** to a **later folder** to be **processed later**\r\n - **Skip**: skips the current image and plots the next one\r\n\r\n#### Widget Layout\r\n\r\n\r\n\r\n### Later Images / Collage images of both fake and real images\r\n\r\n[notebook]([https://github.com/moaaztaha/Faceapp-Gender-Swap-Detection/blob/master/Fix%20Later%20data.ipynb](https://github.com/moaaztaha/Faceapp-Gender-Swap-Detection/blob/master/Fix Later data.ipynb))\r\n\r\n- The code shows a window with the collage image\r\n- We then select the area of the image using the mouse\r\n - When we click **`o`** on the keyboard it means the selected area contains real person and it's moved to the original folder\r\n - When we click **`f`** it means the selected area contains a fake image generated by **faceapp** and moved to the fake folder\r\n - When we click **`q`** it will take us to the next image\r\n\r\n\r\n\r\n\r\n\r\n## Training the Model\r\n\r\n[notebook]([https://github.com/moaaztaha/Faceapp-Gender-Swap-Detection/blob/master/Training%20a%20model.ipynb](https://github.com/moaaztaha/Faceapp-Gender-Swap-Detection/blob/master/Training a model.ipynb))\r\n\r\nI used FASTAI to train my models\r\n\r\n- I tried a resnet34 and resnet50\r\n\r\n - Each time I started with half the size 128x128 pixels\r\n - With the default data augmentation\r\n - Horizontal flip, max rotation:10, max zoom: 1.1, max lighting: 0.2\r\n - Trained for some epochs \r\n - Unfreezed and trained for some more epochs\r\n - Changed the dropout start and trained for more epochs\r\n - Then moved to full size 244x244 pixels and did the same steps again with the previous model as my starting point\r\n\r\n#### RESNET 50\r\n  \r\n#### RESNET 34\r\n\r\n\r\n \r\n\r\n- I found that resnet34 produced better results So,\r\n\r\n - Increased data augmentation \r\n - **max rotate to 30 degrees** and **max lighting to .5** as many people take **selfies in different angels and they use filters** which has a similar effect to the lighting so increasing these 2 parameters should help.\r\n - Loaded my **best resnet34** model and followed the same steps [half size -> full size -> unfreeze]\r\n\r\n### Final Results\r\n\r\n\r\n\r\n**Accuracy: 98.1%**\r\n\r\n\r\n\r\n- The model had only 2 mistakes on the validation set which are the first 2 images (keep in mind that the validation set was quite small)\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/moaaztaha/Faceapp-Gender-Swap-Detection","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1630,"title":"Semantic Segmentation + Background Removal + Style Transfer","description":"Running multiple TF Lite models to perform semantic segmentation, remove background, and apply style transfer. ","tags":["code","notebook","tutorial","computer-vision","tf-lite"],"details":"The total size of all the models used is under **4 MB**. ","links":[{"article_link":"","code_link":"https://colab.research.google.com/github/sayakpaul/Adventures-in-TensorFlow-Lite/blob/master/Semantic_Segmentation_+_Background_Removal_+_Style_Transfer.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1629,"title":"TF Lite Semantic Segmentation Models","description":"Faster and lighter TF Lite models can perform semantic segmentation. ","tags":["article","code","tutorial","deep-learning","library","computer-vision","tf-lite"],"details":"All of the models are accompanied by Colab Notebooks that show the model conversion process and demonstrate how to run inference with them using the TF Lite Python Interpreter. \r\n\r\n**Note**: These models were specifically created to enable mobile developers to run fast and efficient semantic segmentation in realtime. Also, many of you had asked me if I had any examples that show how to use TF Lite for non-trivial conversions. Well, now you got one.","links":[{"article_link":"https://tfhub.dev/s?publisher=sayakpaul","code_link":"https://github.com/sayakpaul/Adventures-in-TensorFlow-Lite/blob/master/DeepLabV3","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://github.com/tensorflow/models/blob/master/research/deeplab/g3doc/model_zoo.md"}]},{"id":1628,"title":"Deep Reinforcement Learning Amidst Lifelong Non-Stationarity","description":"How can robots learn in changing, open-world environments? We introduce dynamic-parameter MDPs, to capture environments with persistent, unobserved changes. ","tags":["article","paper","research","reinforcement-learning","non-stationarity","off-policy","markov-decision-process","arxiv:2006.10701"],"details":"As humans, our goals and our environment are persistently changing throughout our lifetime based on our experiences, actions, and internal and external drives. In contrast, typical reinforcement learning problem set-ups consider decision processes that are stationary across episodes. Can we develop reinforcement learning algorithms that can cope with the persistent change in the former, more realistic problem settings? While on-policy algorithms such as policy gradients in principle can be extended to non-stationary settings, the same cannot be said for more efficient off-policy algorithms that replay past experiences when learning. In this work, we formalize this problem setting, and draw upon ideas from the online learning and probabilistic inference literature to derive an off-policy RL algorithm that can reason about and tackle such lifelong non-stationarity. Our method leverages latent variable models to learn a representation of the environment from current and past experiences, and performs off-policy RL with this representation. We further introduce several simulation environments that exhibit lifelong non-stationarity, and empirically find that our approach substantially outperforms approaches that do not reason about environment shift.","links":[{"article_link":"https://sites.google.com/stanford.edu/lilac/","code_link":"","research_link":"https://arxiv.org/abs/2006.10701","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1627,"title":"Timecraft: Synthesizing Time Lapse Videos of Paintings","description":"A learning-based method for synthesizing time lapse videos of paintings.","tags":["article","code","paper","research","video","keras","tensorflow","cvpr-2020","paintings","time-lapse","arxiv:2001.01026"],"details":"In this research project, we explore a new problem of synthesizing time lapse videos depicting the creation of paintings.","links":[{"article_link":"https://xamyzhao.github.io/timecraft/","code_link":"https://github.com/xamyzhao/timecraft","research_link":"https://arxiv.org/abs/2001.01026","media_link":"https://www.youtube.com/watch?v=iy1FCPQs4JI","dataset_link":"","demo_link":"","other_link":""}]},{"id":1626,"title":"5 Genetic Algorithm Applications Using PyGAD","description":"This tutorial introduces PyGAD, an open-source Python library for implementing the genetic algorithm and training machine learning algorithms.","tags":["article","code","library","genetic-algorithms","pygad"],"details":"This tutorial introduces [PyGAD](https://github.com/ahmedfgad/GeneticAlgorithmPython), an open-source Python library for implementing the genetic algorithm and training machine learning algorithms. PyGAD supports 19 parameters for customizing the genetic algorithm for various applications.\r\n\r\nWithin this tutorial we'll discuss 5 different applications of the genetic algorithm and build them using PyGAD.\r\n\r\nThe outline of the tutorial is as follows:\r\n\r\n* PyGAD Installation\r\n* Getting Started with PyGAD\r\n* Fitting a Linear Model\r\n* Reproducing Images\r\n* 8 Queen Puzzle\r\n* Training Neural Networks\r\n* Training Convolutional Neural Networks","links":[{"article_link":"https://blog.paperspace.com/genetic-algorithm-applications-using-pygad/","code_link":"https://github.com/ahmedfgad/GeneticAlgorithmPython","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://pygad.readthedocs.io/en/latest/"}]},{"id":1625,"title":"Beginner's Guide to Altair Visualization","description":"Getting started with Visualization using Altair on Kaggle with this simple tutorial.","tags":["code","notebook","tutorial","visualization","altair","exploratory-data-analysis"],"details":"This is a tutorial that will help you to get started with Altair. Interactive plots can be created with a few lines of code. ","links":[{"article_link":"","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://www.kaggle.com/shwetagoyal4/beginner-s-guide-to-altair-visualization"}]},{"id":1624,"title":"Avatarify - Create Your Own Photorealistic Avatars","description":"Photorealistic avatars for video-conferencing apps. Democratized.","tags":["code","notebook","paper","research","generative-adversarial-networks","stylegan","avatars","avatar0fy","arxiv:2003.00196"],"details":"Photorealistic avatars for video-conferencing [apps](https://github.com/alievk/avatarify#configure-video-meeting-app). Democratized.\r\nBased on [First Order Motion Model](https://github.com/AliaksandrSiarohin/first-order-model).","links":[{"article_link":"","code_link":"https://github.com/alievk/avatarify","research_link":"https://arxiv.org/abs/2003.00196","media_link":"","dataset_link":"","demo_link":"","other_link":"https://colab.research.google.com/github/alievk/avatarify/blob/master/avatarify.ipynb"}]},{"id":1623,"title":"Introduction to NLP using Fastai","description":"Implementing and decoding the revolutionary ULMFiT approach to train a language model on any downstream NLP task.","tags":["article","notebook","tutorial","fastai","natural-language-processing","sentiment-analysis","ulmfit"],"details":"In continuation to my previous posts [1](https://harish3110.github.io/through-tinted-lenses/fastai/image%20classification/2020/03/29/Building-an-image-classifier-using-Fastai-V2.html), [2](https://harish3110.github.io/through-tinted-lenses/fastai/image%20classification/model%20fine-tuning/2020/04/10/Improving-baseline-model.html), which delved into the domain of computer vision by building and fine-tuning an image classification model using Fastai, I would like to venture into the fascinating domain of Natural Language Processing using Fastai.\r\n\r\nFor this post we'll be working on the [Real or Not? NLP with Disaster Tweets](https://www.kaggle.com/c/nlp-getting-started/overview) competition dataset on Kaggle to build a text classifier to distinguish between normal tweets and tweets sent out during a natural disaster using the ULMFiT approach and decoding this revolutionary paper that changed the NLP schenario for the better in the recent years.","links":[{"article_link":"https://harish3110.github.io/through-tinted-lenses/natural language processing/sentiment analysis/2020/06/27/Introduction-to-NLP-using-Fastai.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://colab.research.google.com/github/harish3110/through-tinted-lenses/blob/master/_notebooks/2020-06-27-Introduction%20to%20NLP%20using%20Fastai.ipynb"}]},{"id":1622,"title":"Building AI Trading Systems","description":"Lessons learned building a profitable algorithmic trading system using Reinforcement Learning techniques.","tags":["article","machine-learning","finance","reinforcement-learning","trading","algorithmic-trading"],"details":"If you come from a tech or startup background, transitioning to trading may require a change in thinking. Products and engineering are often about absolutes. If your website takes 100ms to load that's pretty good. Making it load in 99ms provides negligible benefit to the end-user. It'd be a waste of engineering resources. The same is true for startups. Paul Graham likes to say that startups are rarely killed by competitors. Rather, they commit suicide. They fail because they cannot find customers, don't have a solid business model, or because of founder issues. Being killed by competition with a slightly better product is quite rare.\r\n\r\nTrading is different. It's about relatives. It's fine if your website takes a horrible 10 seconds to load if your competitor needs 11 seconds. Having crappy data is fine if everyone else's data is even crappier. Paying high trading fees is fine if everyone is paying the same. This is pretty obvious if you look at the market as a multiplayer game. Even if you're a bad player on an absolute scale, you can win if your competition is worse. This has direct effects on how you build software to trade in the markets.","links":[{"article_link":"https://dennybritz.com/blog/ai-trading/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1621,"title":"The Lottery Ticket Hypothesis: A Survey","description":"Dive deeper into the lottery ticket hypothesis and review the literature after the original ICLR best paper award by Frankle & Carbin (2019).","tags":["article","paper","research","tutorial","deep-learning","model-compression","pruning","survey","lottery-ticket-hypothesis"],"details":"Metaphors are powerful tools to transfer ideas from one mind to another. Alan Kay introduced the alternative meaning of the term \u2018desktop\u2019 at Xerox PARC in 1970. Nowadays everyone - for a glimpse of a second - has to wonder what is actually meant when referring to a desktop. Recently, Deep Learning had the pleasure to welcome a new powerful metaphor: The Lottery Ticket Hypothesis (LTH). But what idea does the Hypothesis try to transmit? In todays post we dive deeper into the hypothesis and review the literature after the original ICLR best paper award by Frankle & Carbin (2019).","links":[{"article_link":"https://roberttlange.github.io/posts/2020/06/lottery-ticket-hypothesis/","code_link":"","research_link":"https://github.com/RobertTLange/code-and-blog/blob/master/05_lottery_tickets/lange2020_lottery_ticket_hypothesis.pdf","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1620,"title":"rlx: A modular Deep RL library for research","description":"\"rlx\" is a Deep RL library written on top of PyTorch & built for educational and research purpose.","tags":["article","code","pytorch","deep-learning","library","reinforcement-learning"],"details":"[rlx](https://github.com/dasayan05/rlx) is a Deep RL library written on top of PyTorch & built for educational and research purpose. Majority of the libraries/codebases for Deep RL are geared more towards reproduction of state-of-the-art algorithms on very specific tasks (e.g. Atari games etc.), but **rlx** is NOT. It is supposed to be more expressive and modular. Rather than making RL algorithms as black-boxes, **rlx** adopts an API that tries to expose more granular operation to the users which makes writing new algorithms easier. It is also useful for implementing task specific engineering into a known algorithm.\r\n\r\nConcisely, rlx is supposed to\r\n\r\n- Be generic (i.e., can be adopted for any task at hand)\r\n- Have modular lower-level components exposed to users\r\n- Be easy to implement new algorithms\r\n\r\nHere's a basic example of *PPO (with clipping)* implementation with **rlx**\r\n\r\n\tbase_rollout = agent(policy).episode(horizon) # sample an episode as a 'Rollout' object\r\n\tbase_rewards, base_logprobs = base_rollout.rewards, base_rollout.logprobs # 'rewards' and 'logprobs' for all timesteps\r\n\tbase_returns = base_rollout.mc_returns() # Monte-carlo estimates of 'returns'\r\n\t\r\n\tfor _ in range(k_epochs):\r\n rollout = agent(policy).evaluate(base_rollout) # 'evaluate' an episode against a policy and get a new 'Rollout' object\r\n logprobs, entropy = rollout.logprobs, rollout.entropy # get 'logprobs' and 'entropy' for all timesteps\r\n values, = rollout.others # .. also 'value' estimates\r\n\r\n ratios = (logprobs - base_logprobs.detach()).exp()\r\n advantage = base_returns - values\r\n policyloss = - torch.min(ratios, torch.clamp(ratios, 1 - clip, 1 + clip)) * advantage.detach()\r\n valueloss = advantage.pow(2)\r\n loss = policyloss.sum() + 0.5 * valueloss.sum() - entropy.sum() * 0.01\r\n \r\n agent.zero_grad()\r\n loss.backward()\r\n agent.step()\r\n\r\nVisit the [README](https://github.com/dasayan05/rlx/blob/master/README.md) for further details.","links":[{"article_link":"https://dasayan05.github.io/projs/2020/06/27/rlx-deep-rl-library.html","code_link":"https://github.com/dasayan05/rlx","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://dasayan05.github.io/"}]},{"id":1617,"title":"Expressive Power of Graph Neural Networks","description":"Graph isomorphism problem, the Weisfeiler-Lehman heuristic for graph isomorphism testing, and how it can be used to analyse the expressive power of GNNs.","tags":["article","graph-neural-networks","graphs","graph-isomorphism","weisfeiler-lehman"],"details":"Do you have a feeling that deep learning on graphs is a bunch of heuristics that work sometimes and nobody has a clue why? In this post, I discuss the graph isomorphism problem, the Weisfeiler-Lehman heuristic for graph isomorphism testing, and how it can be used to analyse the expressive power of graph neural networks. This is the first in the series of three posts on the expressivity of graph neural networks. In Part 2, I will discuss how to depart from the Weisfeiler-Lehman hierarchy and in Part 3, I will suggest why it may be a good idea to revisit the whole graph isomorphism framework.","links":[{"article_link":"https://towardsdatascience.com/expressive-power-of-graph-neural-networks-and-the-weisefeiler-lehman-test-b883db3c7c49","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1616,"title":"Leveraging Temporal Context for Object Detection","description":"Object detection architecture leveraging contextual clues across time for each camera deployment in a network, improving recognition of objects","tags":["article","paper","research","tensorflow","ecology","computer-vision","object-detection","faster-rcnn","arxiv:1912.03538"],"details":"This new object detection architecture leverages contextual clues across time for each camera deployment in a network, improving recognition of objects in novel camera deployments without relying on additional training data from a large number of cameras. Echoing the approach a person might use when faced with challenging images, Context R-CNN leverages up to a month\u2019s worth of images from the same camera for context to determine what objects might be present and identify them. Using this method, the model outperforms a single-frame Faster R-CNN baseline by significant margins across multiple domains, including wildlife camera traps. We have open sourced the code and models for this work as part of the TF Object Detection API to make it easy to train and test Context R-CNN models on new static camera datasets.","links":[{"article_link":"https://ai.googleblog.com/2020/06/leveraging-temporal-context-for-object.html","code_link":"","research_link":"https://arxiv.org/abs/1912.03538","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1615,"title":"Weight Poisoning Attacks on Pre-trained Models","description":"How Bert can be infused with nefarious behavior, even after fine-tuning.","tags":["code","notebook","paper","research","attention","bert","transformers","natural-language-processing","adversarial-learning","adversarial-attacks","arxiv:2004.06660"],"details":"Recently, NLP has seen a surge in the usage of large pre-trained models. Users download weights of models pre-trained on large datasets, then fine-tune the weights on a task of their choice. This raises the question of whether downloading untrusted pre-trained weights can pose a security threat. In this paper, we show that it is possible to construct ``weight poisoning'' attacks where pre-trained weights are injected with vulnerabilities that expose ``backdoors'' after fine-tuning, enabling the attacker to manipulate the model prediction simply by injecting an arbitrary keyword. We show that by applying a regularization method, which we call RIPPLe, and an initialization procedure, which we call Embedding Surgery, such attacks are possible even with limited knowledge of the dataset and fine-tuning procedure. Our experiments on sentiment classification, toxicity detection, and spam detection show that this attack is widely applicable and poses a serious threat. Finally, we outline practical defenses against such attacks","links":[{"article_link":"","code_link":"https://github.com/neulab/RIPPLe","research_link":"https://arxiv.org/abs/2004.06660","media_link":"","dataset_link":"","demo_link":"","other_link":"https://colab.research.google.com/drive/1BzdevUCFUSs_8z_rIP47VyKAlvfK1cCB"}]},{"id":1614,"title":"Natural Language Processing Roadmap","description":"Roadmap for learning NLP topics.","tags":["code","tutorial","natural-language-processing","guide","roadmap"],"details":"nlp-roadmap is Natural Language Processing ROADMAP (Mind Map) and KEYWORD for students those who have interest in learning Natural Language Processing. The roadmap covers the materials from basic probability/statistics to SOTA NLP models.","links":[{"article_link":"","code_link":"https://github.com/graykode/nlp-roadmap","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1613,"title":"Distributed model training in PyTorch","description":"Distributing training jobs allows you to push past the single-GPU bottleneck, developing larger and more powerful models leveraging many GPUs simultaneously.","tags":["article","pytorch","deep-learning","distributed-training"],"details":"Cutting edge deep learning models are growing at an exponential rate: where last year\u2019s GPT-2 had ~750 million parameters, this year\u2019s GPT-3 has 175 billion. GPT is a somewhat extreme example; nevertheless, the \"enbiggening\" of the SOTA is driving larger and larger models into production applications, challenging the ability of even the most powerful of GPU cards to finish model training jobs in a reasonable amount of time.\r\n\r\nTo deal with these problems, practitioners are increasingly turning to distributed training. Distributed training is the set of techniques for training a deep learning model using multiple GPUs and/or multiple machines. Distributing training jobs allow you to push past the single-GPU memory bottleneck, developing ever larger and powerful models by leveraging many GPUs simultaneously.","links":[{"article_link":"https://spell.ml/blog/pytorch-distributed-data-parallel-XvEaABIAAB8Ars0e","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1612,"title":"C++ for Pythonistas and Data Scientists","description":"An introduction to Cling to help learn C++.","tags":["article","code","c++","python","learning"],"details":"C++ is hard to learn for data scientists, we are use to Python and R. Here I introduce [Cling](https://root.cern.ch/cling), an interpreter for C++ to make the transition easier.\r\n\r\nCling is part of the ROOT framework created by CERN.","links":[{"article_link":"https://towardsdatascience.com/c-for-pythonistas-and-data-scientists-2e1a74a7b8be","code_link":"https://github.com/henriwoodcock/blog-post-codes/tree/master/cpp_for_data_scientists","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1610,"title":"Visualizing Model Comparison","description":"How we can compare the solutions learned by multiple different models.","tags":["article","tutorial","visualization","model-comparison"],"details":"When training deep neural networks, we often strive to compare the models and understand the consequences of different design choices beyond their final performance. We want to be able to explain different qualitative aspects of the solutions our models learn. To understand the solution a model converges to, we could either look into its parameter space or its representational space.\r\n\r\nSometimes, we can also gain some insights about how a model works by looking at its parameter values. For example, the weights of a linear classifier indicate which parts of input features are important for the models\u2019 decision. Or in some cases it can be useful to track the changes in the parameter values during training, for example to visualize the optimizer trajectory of a model ([Li et al., 2018](https://samiraabnar.github.io/articles/2020-05/vizualization#li2018visualizing)).","links":[{"article_link":"https://samiraabnar.github.io/articles/2020-05/vizualization","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1609,"title":"Google Colab Tips for Power Users","description":"Learn about lesser-known features in Google Colab to improve your productivity.","tags":["article","notebook","colab"],"details":"Colab is one of the best products to come from Google. It has made GPUs freely accessible to learners and practitioners like me who otherwise wouldn\u2019t be able to afford a high-end GPU.\r\n\r\nWhile the interface is very easy to use, there are many lesser-known and undocumented features in colab. In this post, I will share those features that I\u2019ve discovered from their official talks and basic usage.","links":[{"article_link":"https://amitness.com/2020/06/google-colaboratory-tips/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1608,"title":"Quantifying Attention Flow in Transformers","description":"I explain two simple but effective methods, called Attention Rollout and Attention Flow","tags":["article","tutorial","attention","self-attention","transformers","natural-language-processing","attention-flow","attention-rollout"],"details":"Here, I explain two simple but effective methods, called Attention Rollout and Attention Flow, to compute attention scores to input tokens (i.e., token attention) at each layer, by taking raw attentions (i.e., embedding attention) of that layer as well as those from the precedent layers.","links":[{"article_link":"https://samiraabnar.github.io/articles/2020-04/attention_flow","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1607,"title":"Message Passing Query Embedding","description":"MPQE is a model for answering complex queries over knowledge graphs, that learns embeddings of entities in the knowledge graph, & embeddings for variable types.","tags":["code","paper","research","graph-convolutional-networks","embeddings","graph-neural-networks","graphs","knowledge-graphs","mpqe","arxiv:2002.02406"],"details":"This repository contains the implementation of MPQE, proposed in our paper [Message Passing Query Embedding](https://arxiv.org/abs/2002.02406). MPQE is a model for answering complex queries over knowledge graphs, that learns embeddings of entities in the knowledge graph, and embeddings for variable types:\r\n\r\n","links":[{"article_link":"","code_link":"https://github.com/dfdazac/mpqe","research_link":"https://arxiv.org/abs/2002.02406","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1606,"title":"Paraphrase Generation Using T5 model","description":"Simple application using T5 base model fine tuned in Quora Question Pairs to generate paraphrased questions.","tags":["code","transformers","natural-language-processing","question-generation","t5","paraphrase-generation"],"details":"This repository is based on the work from @ramsrigouthamg wich explain very well how to fine tune the model.\r\n\r\n[https://madewithml.com/projects/1094/paraphrase-any-question-with-t5-text-to-text-transformer/](https://madewithml.com/projects/1094/paraphrase-any-question-with-t5-text-to-text-transformer/)","links":[{"article_link":"","code_link":"https://github.com/renatoviolin/T5-paraphrase-generation","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1605,"title":"NetHack Learning Environment (NLE)","description":"A procedurally-generated grid-world dungeon-crawl game that strikes a great balance between complexity and speed for single-agent RL research.","tags":["article","code","research","library","reinforcement-learning","game","nethack","gym"],"details":"The NetHack Learning Environment is a novel research environment for testing the robustness and systematic generalization of reinforcement learning (RL) agents. The environment is based on \r\nNetHack\r\n, one of the oldest and most popular procedurally generated roguelike games. Existing RL environments are either sufficiently complex or based on fast simulation, but they are rarely both. In contrast, the NetHack Learning Environment combines lightning-fast simulation with very complex game dynamics that are difficult even for humans to master. This allows our agents to experience billions of steps in the environment in a reasonable time frame while still challenging the limits of what current methods can achieve, driving long-term research on topics such as exploration, planning, skill acquisition, and language-conditioned RL.","links":[{"article_link":"https://ai.facebook.com/blog/nethack-learning-environment-to-advance-deep-reinforcement-learning","code_link":"https://github.com/facebookresearch/nle","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1604,"title":"Essence of privacy techniques","description":"Tried to give an overview of privacy techniques which can be used in ML\r\nTechniques -Federated learning, Differential privacy and Secure Multi-party computation.","tags":["article","tutorial","privacy","differential-privacy","federated-learning"],"details":"","links":[{"article_link":"https://medium.com/@pdr121096/essence-of-privacy-techniques-d520dfbcc3b5","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1603,"title":"A Million of ML Predictions at the Tip of Your Fingers","description":"Announcement - SashiDo is breaking the barrier to Machine Learning by introducing a fully open-sourced Content Moderation Service.","tags":["article","tutorial","node-js","react","tensorflow","machine-learning","adversarial-image-detection","computer-vision","image-classification","image-recognition","open-source","adversarial-learning","nsfw","content-moderation","nsfw-detection","nsfw-classifier","parse-server","machine-learning-pipilines"],"details":"**Get a million Machine Learning predictions at the tips of your fingers** with SashiDo's fully open source NSFW image classifier built with Node.js, Tensorflow, Parse Server and React!\r\n\r\nWe have created **a fully-functional Content Moderation service** designed to be easily maintained and integrated into every Node.js project even if this is your first encounter with Machine Learning. \r\n\r\nIt has always been SashiDo's mission to simplify technologies and with this demo, we take on a new challenge - to **bring Machine Learning closer to single developers and teams of all sizes by making it affordable and accessible**.\r\n\r\nWe'll be releasing a series of tutorials on how to build your own Content Moderation Solution with Machine Learning from scratch. Stay tuned!\r\n","links":[{"article_link":"https://bit.ly/2Vh06qu","code_link":"","research_link":"","media_link":"https://bit.ly/3eBbYeK","dataset_link":"","demo_link":"","other_link":"https://bit.ly/2Uaz9UT"}]},{"id":1602,"title":"Unet Model for Image Segmentation With EfficientNet Encoder","description":"Implemented using tensorflow 2.2.0 with custom train and test step.","tags":["code","notebook","tensorflow","computer-vision","segmentation","unet","efficientnet"],"details":"","links":[{"article_link":"","code_link":"https://colab.research.google.com/drive/1Tbyvr6JZCmE9a6pi5fBLhHWEna8Gk09D","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1601,"title":"Distilling Inductive Biases","description":"The power of knowledge distillation for transferring the effect of inductive biases from one model to another.","tags":["article","code","paper","research","knowledge-distillation","model-compression","inductive-bias","arxiv:2006.00555"],"details":"In this post, I went through the findings of our paper on \u201cTransferring Inductive Biases Through Knowledge Distillation\u201d, where we explore the power of knowledge distillation for transferring the effect of inductive biases from one model to another.","links":[{"article_link":"https://samiraabnar.github.io/articles/2020-05/indist","code_link":"https://github.com/samiraabnar/Reflect","research_link":"https://arxiv.org/abs/2006.00555","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1600,"title":"BERT Distillation with Catalyst","description":"How to distill BERT with Catalyst.","tags":["article","code","tutorial","pytorch","attention","bert","transformers","library","knowledge-distillation","model-compression","natural-language-processing","catalyst"],"details":"We are going to use [Catalyst](https://github.com/catalyst-team/catalyst) for implementing the network. Catalyst is a high-level framework for PyTorch deep learning research and development. It is focused on reproducibility, fast experimentation and code re-use.","links":[{"article_link":"https://medium.com/pytorch/bert-distillation-with-catalyst-c6f30c985854","code_link":"https://github.com/PUSSYMIPT/bert-distillation","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://github.com/catalyst-team/catalyst"}]},{"id":1599,"title":"High-Fidelity Generative Image Compression","description":"How to combine Generative Adversarial Networks and learned compression to obtain a state-of-the-art generative lossy compression system.","tags":["article","paper","research","generative-adversarial-networks","computer-vision","image-compression","generative-lossy-compression","bitrates","arxiv:2006.09965"],"details":"We extensively study how to combine Generative Adversarial Networks and learned compression to obtain a state-of-the-art generative lossy compression system. In particular, we investigate normalization layers, generator and discriminator architectures, training strategies, as well as perceptual losses. In contrast to previous work, i) we obtain visually pleasing reconstructions that are perceptually similar to the input, ii) we operate in a broad range of bitrates, and iii) our approach can be applied to high-resolution images. We bridge the gap between rate-distortion-perception theory and practice by evaluating our approach both quantitatively with various perceptual metrics and a user study. The study shows that our method is preferred to previous approaches even if they use more than 2x the bitrate.","links":[{"article_link":"https://hific.github.io/","code_link":"","research_link":"https://arxiv.org/abs/2006.09965","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1598,"title":"Automatic Data Augmentation for Generalization in Deep RL","description":"We compare three approaches for automatically finding an appropriate augmentation combined with two novel regularization terms for the policy and value function","tags":["code","paper","research","pytorch","data-augmentation","reinforcement-learning","kornia","arxiv:2006.12862"],"details":"Deep reinforcement learning (RL) agents often fail to generalize to unseen scenarios, even when they are trained on many instances of semantically similar environments. Data augmentation has recently been shown to improve the sample efficiency and generalization of RL agents. However, different tasks tend to benefit from different kinds of data augmentation. In this paper, we compare three approaches for automatically finding an appropriate augmentation. These are combined with two novel regularization terms for the policy and value function, required to make the use of data augmentation theoretically sound for certain actor-critic algorithms. We evaluate our methods on the Procgen benchmark which consists of 16 procedurally-generated environments and show that it improves test performance by ~40% relative to standard RL algorithms. Our agent outperforms other baselines specifically designed to improve generalization in RL. In addition, we show that our agent learns policies and representations that are more robust to changes in the environment that do not affect the agent, such as the background.","links":[{"article_link":"","code_link":"https://github.com/rraileanu/auto-drac","research_link":"https://arxiv.org/abs/2006.12862","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1597,"title":"Maximizing Business Impact with Machine Learning","description":"how to effectively leverage machine learning to build intelligent products as efficiently as possible.","tags":["article","product-management","metrics","production","monitoring","model-validation"],"details":"I recently had the great fortune of presenting a lunch & learn session to the Capsule8 team. In this presentation I discussed how to effectively leverage machine learning to build intelligent products as efficiently as possible. Rather than focus on a single type of audience, I included information relevant to multiple levels including executive leadership, middle management, and individual contributors building machine learning solutions.","links":[{"article_link":"https://mlinproduction.com/maximizing-business-impact-with-machine-learning/","code_link":"","research_link":"","media_link":"https://www.slideshare.net/LuigiPatruno1/maximizing-business-impact-with-machine-learning","dataset_link":"","demo_link":"","other_link":""}]},{"id":1596,"title":"Lessons from the PULSE Model and Discussion","description":"Elements of the recent discussion that happened among AI researchers as a result of bias found in the model associated with the PULSE paper.","tags":["article","paper","research","fairness","bias","ethics","arxiv:2003.03808"],"details":"In this post I will attempt to summarize some elements of the recent discussion that happened among AI researchers as a result of bias found in the model associated with the paper \"PULSE: Self-Supervised Photo Upsampling via Latent Space Exploration of Generative Models\". I will also offer my personal reflection on this discussion and on what can be learned from it with regards to the technical topic of bias in machine learning, best practices for AI research, and best practices for discussing such topics. I write this because I believe they are valuable lessons that are worth noting. Some of these lessons are more subjective than others, so I hope that even if you disagree with the perspective offered here you will still consider it.","links":[{"article_link":"https://thegradient.pub/pulse-lessons/","code_link":"","research_link":"https://arxiv.org/abs/2003.03808","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1595,"title":"multi-task-NLP","description":"A utility toolkit enabling NLP developers to easily train and infer a single model for multiple tasks.","tags":["code","attention","bert","transformers","xlnet","library","natural-language-processing","albert","roberta","multi-task-learning","distil-bert","multi-task-nlp"],"details":"multi_task_NLP gives you the capability to define multiple tasks together and train a single model which simultaneously learns on all defined tasks. This means one can perform multiple tasks with latency and resource consumption equivalent to a single task.\r\n\r\nWe support various data formats for majority of NLI tasks and multiple transformer-based encoders (eg. BERT, Distil-BERT, ALBERT, RoBERTa, XLNET etc.)","links":[{"article_link":"","code_link":"https://github.com/hellohaptik/multi-task-NLP/","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://multi-task-nlp.readthedocs.io/en/latest/"}]},{"id":1592,"title":"Text Classification","description":"Re-implemented an article (link is given below) which was on Text classification with CNN, beside this I tried out some ML classification algorithm.","tags":["article","code","convolutional-neural-networks","logistic-regression","random-forests","regression","natural-language-processing","text-classification","decision-tree","xgboost"],"details":"","links":[{"article_link":"https://realpython.com/python-keras-text-classification/","code_link":"https://github.com/123pratik/Text-Classification","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1591,"title":"Basic GUI Calculator in Python","description":"This article will take you through the entire process of developing a basic GUI calculator in Python using tkinter.","tags":["article","code","tutorial","python","program-development"],"details":"","links":[{"article_link":"https://pyshark.com/basic-gui-calculator-in-python/","code_link":"https://github.com/misha-pyshark/python-calculator","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1590,"title":"Brain parcellation with TorchIO and HighRes3DNet","description":"A full brain parcellation of a 3D T1-weighted MRI using TorchIO and a pre-trained PyTorch deep learning model.","tags":["code","notebook","tutorial","pytorch","health","mri","torchio","highres3dnet","brain-parcellation"],"details":"We are going to perform a full brain parcellation of a 3D T1-weighted MRI using TorchIO and a pre-trained PyTorch deep learning model in less than 50 lines of code and less than two minutes.\r\n\r\n**TorchIO**\r\nTorchIO is a Python package to prepare 3D medical images for deep learning pipelines. Check out the documentation and a longer Colab notebook containing many examples.\r\n\r\n**HighRes3DNet**\r\nHighRes3DNet is a 3D residual network presented by Li et al. in On the Compactness, Efficiency, and Representation of 3D Convolutional Networks: Brain Parcellation as a Pretext Task. The authors shared the weights of the model they trained to perform full brain parcellation as in Geodesic Information Flows: Spatially-Variant Graphs and Their Application to Segmentation and Fusion, also known as GIF parcellation.\r\n\r\nThe weights were ported from TensorFlow as shown in my entry to the MICCAI educational challenge 2019.\r\n\r\n","links":[{"article_link":"","code_link":"https://colab.research.google.com/drive/10-JE1OOqM2LziPk7BgAOJcpal0F1_aEB","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1589,"title":"jiant","description":"A software toolkit for research on general-purpose text understanding models.","tags":["code","huggingface","pytorch","library","natural-language-processing","multi-task-learning","jiant"],"details":"`jiant` is a software toolkit for natural language processing research, designed to facilitate work on multitask learning and transfer learning for sentence understanding tasks.\r\n\r\njiant is a work-in-progress software toolkit for natural language processing research, designed to facilitate work on multitask learning and transfer learning for sentence understanding tasks.\r\n\r\nA few things you might want to know about jiant:\r\n\r\n* jiant is configuration-driven. You can run an enormous variety of experiments by simply writing configuration files. Of course, if you need to add any major new features, you can also easily edit or extend the code.\r\n* jiant contains implementations of strong baselines for the GLUE and SuperGLUE benchmarks, and it's the recommended starting point for work on these benchmarks.\r\n* jiant was developed at the 2018 JSALT Workshop by the General-Purpose Sentence Representation Learning team and is maintained by the NYU Machine Learning for Language Lab, with help from many outside collaborators (especially Google AI Language's Ian Tenney).\r\n* jiant is built on PyTorch. It also uses many components from AllenNLP and the HuggingFace PyTorch Transformers package.\r\n","links":[{"article_link":"","code_link":"https://github.com/jiant-dev/jiant","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://jiant.info/"}]},{"id":1588,"title":"Multi-task Training with Hugging Face Transformers and NLP","description":" A recipe for multi-task training with Transformers' Trainer and NLP datasets.","tags":["article","code","notebook","tutorial","huggingface","transformers","natural-language-processing","guide","multi-task-learning","recipe"],"details":"Hugging Face has been building a lot of exciting new NLP functionality lately. The newly released NLP provides a wide coverage of task data sets and metrics, as well as a simple interface for processing and caching the inputs extremely efficiently. They have also recently introduced a Trainer class to the Transformers library that handles all of the training and validation logic.\r\n\r\nHowever, one feature that is not currently supported in Hugging Face's current offerings is multi-task training. While there has been some discussion about the best way to support multi-task training (1, 2), the community has not yet settled on a convention for doing so. Multi-task training has been shown to improve task performance (1, 2) and is a common experimental setting for NLP researchers.\r\n\r\nIn this Colab notebook, we will show how to use both the new NLP library as well as the Trainer for a multi-task training scheme.","links":[{"article_link":"","code_link":"https://colab.research.google.com/github/zphang/zphang.github.io/blob/master/files/notebooks/Multi_task_Training_with_Transformers_NLP.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1587,"title":"Deep Learning Based Text Classification: A Comprehensive Review","description":"An overview of deep learning approaches to text classification.","tags":["paper","research","tutorial","natural-language-processing","text-classification","survey","arxiv:2004.03705"],"details":"Deep learning based models have surpassed classical machine learning based approaches in various text classification\r\ntasks, including sentiment analysis, news categorization, question answering, and natural language inference. In this work,\r\nwe provide a detailed review of more than 150 deep learning based models for text classification developed in recent years,\r\nand discuss their technical contributions, similarities, and strengths. We also provide a summary of more than 40 popular\r\ndatasets widely used for text classification. Finally, we provide a quantitative analysis of the performance of different deep\r\nlearning models on popular benchmarks, and discuss future research directions.","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2004.03705","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1586,"title":"Generalized Zero & Few-Shot Transfer for Facial Forgery Detection","description":"Deep Distribution Transfer (DDT), a new transfer learning approach to address the problem of zero and few-shot transfer in the context of facial forgery.","tags":["article","paper","research","anomaly-detection","few-shot-learning","fraud-detection","zero-shot-learning","facial-forgery-detection","deep-distribution-transfer","wasserstein-distance","faceforensics++","dessa","arxiv:2006.11863"],"details":"We propose Deep Distribution Transfer (DDT), a new transfer learning approach to address the problem of zero and few-shot transfer in the context of facial forgery detection. We examine how well a model (pre-)trained with one forgery creation method generalizes towards a previously unseen manipulation technique or different dataset. To facilitate this transfer, we introduce a new mixture model-based loss formulation that learns a multi-modal distribution, with modes corresponding to class categories of the underlying data of the source forgery method. Our core idea is to first pre-train an encoder neural network, which maps each mode of this distribution to the respective class labels, i.e., real or fake images in the source domain by minimizing wasserstein distance between them. In order to transfer this model to a new domain, we associate a few target samples with one of the previously trained modes. In addition, we propose a spatial mixup augmentation strategy that further helps generalization across domains. We find this learning strategy to be surprisingly effective at domain transfer compared to a traditional classification or even state-of-the-art domain adaptation/few-shot learning methods. For instance, compared to the best baseline, our method improves the classification accuracy by 4.88% for zero-shot and by 8.38% for the few-shot case transferred from the FaceForensics++ to Dessa dataset.\r\n","links":[{"article_link":"https://shivangi-aneja.github.io/ddt/","code_link":"","research_link":"https://arxiv.org/abs/2006.11863","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1585,"title":"Breaking the cycle\u2014Colleagues are all you need","description":"A novel approach to performing image-to-image translation between unpaired domains.","tags":["article","code","paper","research","generative-adversarial-networks","computer-vision","image-to-image-translation","arxiv:1911.10538"],"details":"This paper proposes a novel approach to performing image-to-image translation between unpaired domains.\r\nRather than relying on a cycle constraint, our method takes\r\nadvantage of collaboration between various GANs. This\r\nresults in a multi-modal method, in which multiple optional and diverse images are produced for a given image.\r\nOur model addresses some of the shortcomings of classical GANs: (1) It is able to remove large objects, such as\r\nglasses. (2) Since it does not need to support the cycle\r\nconstraint, no irrelevant traces of the input are left on the\r\ngenerated image. (3) It manages to translate between domains that require large shape modifications. Our results\r\nare shown to outperform those generated by state-of-the-art\r\nmethods for several challenging applications. Code Available at https://github.com/Onr/Council-GAN","links":[{"article_link":"https://onr.github.io/Council_web/","code_link":"https://github.com/Onr/Council-GAN","research_link":"https://arxiv.org/abs/1911.10538","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1584,"title":"Locally Masked Convolution for Autoregressive Models","description":"Locally Masked PixelCNN generates natural images in customizable orders like zig-zags and Hilbert Curves.","tags":["article","code","paper","research","pytorch","convolutional-neural-networks","cifar10","autoregression","masked-convolutions","pixelcnn","arxiv:2006.12486"],"details":"Our Locally Masked PixelCNN generates natural images in customizable orders like zig-zags and Hilbert Curves. We train a single PixelCNN++ to support 8 generation orders simultaneously, outperforming PixelCNN++ on distribution estimation and allowing globally coherent image completions on CIFAR10, CelebA-HQ and MNIST. We control the order with our proposed locally masked convolution operation, which is efficient and easy to implement via matrix multiplication.","links":[{"article_link":"https://ajayjain.github.io/lmconv/","code_link":"https://github.com/ajayjain/lmconv","research_link":"https://arxiv.org/abs/2006.12486","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1583,"title":"Adversarial Latent Autoencoders","description":"Harnessing the latent power of autoencoders, one disentanglement at a time.","tags":["article","paper","research","tutorial","autoencoders","generative-adversarial-networks","wandb","arxiv:2004.04467","adversarial-latent-autoencoders"],"details":"Even though the autoencoders have been extensively studied, some issues have not been fully discussed and they are:\r\n\r\nCan autoencoders have the same generative power as GAN?\r\nCan autoencoders learn disentangled representations?\r\nPoints in the latent space holds relevant information about the input data distribution. If these points are less entangled amongst themselves, we would then have more control over the generated data, as each point contributes to one relevant feature in the data domain. The authors of [Adversarial Latent Autoencoder](https://arxiv.org/abs/2004.04467) have designed an autoencoder which can address both the issues mentioned above jointly. Next, let's take a closer look at the architecture.","links":[{"article_link":"https://app.wandb.ai/authors/alae/reports/Adversarial-Latent-Autoencoders--VmlldzoxNDA2MDY","code_link":"","research_link":"https://arxiv.org/abs/2004.04467","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1582,"title":"spacy-streamlit: spaCy building blocks for Streamlit apps","description":"Utilities for visualizing spaCy models and building interactive spaCy-powered apps with Streamlit.","tags":["code","spacy","library","streamlit"],"details":"This package contains utilities for visualizing spaCy models and building interactive spaCy-powered apps with Streamlit. It includes various building blocks you can use in your own Streamlit app, like visualizers for syntactic dependencies, named entities, text classification, semantic similarity via word vectors, token attributes, and more.\r\n\r\nThe package includes building blocks that call into Streamlit and set up all the required elements for you. You can either use the individual components directly and combine them with other elements in your app, or call the visualize function to embed the whole visualizer.","links":[{"article_link":"","code_link":"https://github.com/explosion/spacy-streamlit","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1581,"title":"Discovering Symbolic Models from Deep Learning w/ Inductive Bias","description":"A general approach to distill symbolic representations of a learned deep model by introducing strong inductive biases.","tags":["article","code","notebook","paper","research","video","graph-neural-networks","graphs","representation-learning","demo","symbolic-models","inductive-bias","arxiv:2006.11287"],"details":"We develop a general approach to distill symbolic representations of a learned deep model by introducing strong inductive biases. We focus on Graph Neural Networks (GNNs). The technique works as follows: we first encourage sparse latent representations when we train a GNN in a supervised setting, then we apply symbolic regression to components of the learned model to extract explicit physical relations. We find the correct known equations, including force laws and Hamiltonians, can be extracted from the neural network. We then apply our method to a non-trivial cosmology example-a detailed dark matter simulation-and discover a new analytic formula which can predict the concentration of dark matter from the mass distribution of nearby cosmic structures. The symbolic expressions extracted from the GNN using our technique also generalized to out-of-distribution data better than the GNN itself. Our approach offers alternative directions for interpreting neural networks and discovering novel physical principles from the representations they learn.","links":[{"article_link":"https://astroautomata.com/paper/symbolic-neural-nets/","code_link":"https://github.com/MilesCranmer/symbolic_deep_learning","research_link":"https://arxiv.org/abs/2006.11287","media_link":"https://www.youtube.com/watch?v=2vwwu59RPL8","dataset_link":"","demo_link":"https://colab.research.google.com/github/MilesCranmer/symbolic_deep_learning/blob/master/GN_Demo_Colab.ipynb","other_link":""}]},{"id":1580,"title":"What I Learned From Looking at 200 Machine Learning Tools","description":"To better understand the landscape of available tools for machine learning production, I decided to look up every AI/ML tool I could find.","tags":["article","machine-learning","production","survey","mlops"],"details":"This post consists of 6 parts:\r\n\r\n1. Overview\r\n1. The landscape over time\r\n1. The landscape is under-developed\r\n1. Problems facing MLOps\r\n1. Open source and open-core\r\n1. Conclusion","links":[{"article_link":"https://huyenchip.com/2020/06/22/mlops.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1579,"title":"Self-Supervised Prototypical Transfer Learning","description":"Advancing state-of-the-art unsupervised few-shot learning up to supervised performance.","tags":["code","paper","research","few-shot-learning","self-supervised-learning","transfer-learning","arxiv:2006.11325"],"details":"## Introduction\r\nMost approaches in few-shot learning rely on costly annotated data related to the goal task domain during (pre-)training.\r\n\r\n- Recently, unsupervised meta-learning methods have exchanged the annotation requirement for a reduction in few-shot classification performance.\r\n- Simultaneously, in settings with realistic domain shift, common transfer learning has been shown to outperform supervised meta-learning.\r\n\r\n## Approach\r\nBuilding on these insights and on advances in self-supervised learning, we propose:\r\n\r\n(a) a transfer learning approach which constructs a metric embedding that clusters unlabeled prototypical samples and their augmentations closely together.\r\n\r\n(b) This pre-trained embedding is a starting point for few-shot classification by summarizing class clusters and fine-tuning.\r\n\r\n\r\n## Results\r\n1. We demonstrate that our self-supervised prototypical transfer learning approach ProtoTransfer outperforms state-of-the-art unsupervised meta-learning methods on few-shot tasks from the mini-ImageNet dataset.\r\n2. In few-shot experiments with domain shift, our approach even has comparable performance to supervised methods, but requires orders of magnitude fewer labels.\r\n\r\nCode and pre-trained models available on [GitHub.com/ProtoTransfer](https://github.com/indy-lab/ProtoTransfer)","links":[{"article_link":"","code_link":"https://github.com/indy-lab/ProtoTransfer","research_link":"https://arxiv.org/abs/2006.11325","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1578,"title":"PyBoxCar","description":"A BoxCar2D implementation in Python.","tags":["code","research","artificial-intelligence","genetic-algorithms","evolutionary-algorithms","simulation"],"details":"# PyBoxCar\r\n\r\nA BoxCar2D implementation in Python. The aim of the cars in this simulation is to start from the top left corner and reach the goal at the bottom right, as quickly as possible. The Genetic Algorithm is used to optimize the cars after every generation.\r\n\r\n## Demo\r\n\r\nYou can check out the GIFs from the simulation [here.](https://github.com/kad99kev/PyBoxCar/blob/master/GIFs.md)","links":[{"article_link":"","code_link":"https://github.com/kad99kev/PyBoxCar","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1577,"title":"Data Version Control (DVC) v1.0","description":"\ud83e\udd89Data Version Control | Git for Data & Models","tags":["article","code","video","library","dvc","version-control"],"details":"Open-source version control system for machine learning projects.\r\n\r\n* Save and reproduce your experiments.\r\n* Version control models and data.\r\n* Establish workflow for deployment & collaboration.","links":[{"article_link":"https://dvc.org/blog/dvc-1-0-release","code_link":"https://github.com/iterative/dvc","research_link":"","media_link":"https://www.youtube.com/watch?v=4h6I9_xeYA4","dataset_link":"","demo_link":"","other_link":""}]},{"id":1576,"title":"VPSNet for Video Panoptic Segmentation","description":"Video panoptic segmentation by generating consistent panoptic segmentation as well as an association of instance ids across video frames.","tags":["code","dataset","paper","research","pytorch","computer-vision","video-semantic-segmentation","segmentation","cvpr-2020","panoptic-segmentation","slides","video-segmentation","video-processing","video-panoptic-segmentation","vpsnet","arxiv:2006.11339"],"details":"Panoptic segmentation has become a new standard of vi-\r\nsual recognition task by unifying previous semantic segmen-\r\ntation and instance segmentation tasks in concert. In this paper, we propose and explore a new video extension of this\r\ntask, called video panoptic segmentation. The task requires\r\ngenerating consistent panoptic segmentation as well as an association of instance ids across video frames. To invigo-\r\nrate research on this new task, we present two types of video\r\npanoptic datasets. \r\n\r\nTo provide appropriate metrics for this task, we propose a video panoptic quality (VPQ) metric and evaluate our method and several other baselines. ","links":[{"article_link":"","code_link":"https://github.com/mcahny/vps","research_link":"https://arxiv.org/abs/2006.11339","media_link":"https://doc-0g-4g-docs.googleusercontent.com/docs/securesc/8ijl4oho8jl47lgmiqhke6okpt5dc6eu/kqvs5rimjbvhaaa8a0tl4lmtvoiv5ujl/1592879550000/07994257621310680122/00378334517810298963/1525wpf3kDy2kEsbaPo79ak713gYSfBPe?authuser=0&nonce=rt1jqhj2ma5h4&user=00378334517810298963&hash=jclg96u8ho4623ufulbg6ar7k7uleto9","dataset_link":"https://www.dropbox.com/s/ecem4kq0fdkver4/cityscapes-vps-dataset-1.0.zip?dl=0","demo_link":"","other_link":""}]},{"id":1575,"title":"Deep Learning for Computer Vision ","description":"Special topics class on deep learning for computer vision from the University of Michigan taught by Justin Johnson.","tags":["article","course","video","deep-learning","computer-vision","slides"],"details":"Computer Vision has become ubiquitous in our society, with applications in search, image understanding, apps, mapping, medicine, drones, and self-driving cars. Core to many of these applications are visual recognition tasks such as image classification and object detection. Recent developments in neural network approaches have greatly advanced the performance of these state-of-the-art visual recognition systems. This course is a deep dive into details of neural-network based deep learning methods for computer vision. During this course, students will learn to implement, train and debug their own neural networks and gain a detailed understanding of cutting-edge research in computer vision. We will cover learning algorithms, neural network architectures, and practical engineering tricks for training and fine-tuning networks for visual recognition tasks.\r\n\r\n* **Syllabus**: The [syllabus](https://web.eecs.umich.edu/~justincj/teaching/eecs498/syllabus.html) has detailed course policies\r\n* **Lecture videos**: [Recordings](http://leccap.engin.umich.edu/leccap/site/jhygcph151x25gjj1f0)\r\n* **Assignments**: [[A1]](https://web.eecs.umich.edu/~justincj/teaching/eecs498/assignment1.html) [[A2]](https://web.eecs.umich.edu/~justincj/teaching/eecs498/assignment2.html) [[A3]](https://web.eecs.umich.edu/~justincj/teaching/eecs498/assignment3.html) [[A4]](https://web.eecs.umich.edu/~justincj/teaching/eecs498/assignment4.html) [[A5]](https://web.eecs.umich.edu/~justincj/teaching/eecs498/assignment5.html) [[A6]](https://web.eecs.umich.edu/~justincj/teaching/eecs498/assignment6.html)","links":[{"article_link":"","code_link":"","research_link":"","media_link":"http://leccap.engin.umich.edu/leccap/site/jhygcph151x25gjj1f0","dataset_link":"","demo_link":"","other_link":"https://web.eecs.umich.edu/~justincj/teaching/eecs498/"}]},{"id":1574,"title":"MIT Embodied Intelligence Seminars","description":"Collection of very interesting talks around embodied intelligence.","tags":["video","embodied-intelligence","general-intelligence","emergent-intelligence","mit"],"details":"","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/channel/UCnXGbvgu9071i3koFooncAw","dataset_link":"","demo_link":"","other_link":""}]},{"id":1573,"title":"Fun Python","description":"Notes from a class held online between April - May 2020 with students\r\nage 10-12.","tags":["article","tutorial","python"],"details":"* Lesson 0: Setting things up. Hello world!\r\n* Lesson 1: Variables. Math with Big Numbers.\r\n* Lesson 2: If-then-else. Number games.\r\n* Lesson 3: Lists. Fun MadLibs generator.\r\n* Lesson 4: Loops. Adding all the numbers up to 1 billion and more.\r\n* Lesson 5: Loops 2. Generating lots of sentences. Rock, Paper, Scissors game.\r\n* Lesson 6: Functions. Cool drawings with the Turtle library.\r\n* Lesson 7: Read/write from files. Read from webpages. Count all the words in a book!\r\n* Lesson 8: Dictionaries. How to write a secret message.\r\n* What\u2019s Next?: Ways to continue learning.","links":[{"article_link":"https://web.eecs.umich.edu/~mihalcea/urls/FunPython.pdf","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1572,"title":"Python Data Science \u2013 A Free 12-Hour Course for Beginners","description":"Learn Pandas, NumPy, Matplotlib, and more.","tags":["code","course","tutorial","video","python"],"details":"* Coding on the iPython Shell\r\n* Variables and Operators in Python\r\n* Booleans and Comparisons in Python\r\n* Python Useful functions\r\n* Control Flow in Python\r\n* Functions in Python\r\n* Modules in Python\r\n* Strings in Python\r\n* Other important Python Data Structures: Lists, Tuples, Sets, and Dictionaries\r\n* The NumPy Data Science Python Library\r\n* The Pandas Data Science Python Library\r\n* The Matplotlib Data Science Python Library","links":[{"article_link":"","code_link":"https://github.com/datapublishings/Course-python-data-science","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://www.freecodecamp.org/news/python-data-science-course-matplotlib-pandas-numpy/"}]},{"id":1571,"title":"Stochastic Segmentation Networks","description":"An efficient probabilistic method for modelling aleatoric uncertainty with any image segmentation network architecture.","tags":["code","notebook","paper","research","health","computer-vision","medical-imaging","segmentation","mri","demo","arxiv:2006.06015"],"details":"In image segmentation, there is often more than one plausible solution for a given input. In medical imaging, for example, experts will often disagree about the exact location of object boundaries. Estimating this inherent uncertainty and predicting multiple plausible hypotheses is of great interest in many applications, yet this ability is lacking in most current deep learning methods. In this paper, we introduce stochastic segmentation networks (SSNs), an efficient probabilistic method for modeling aleatoric uncertainty with any image segmentation network architecture. In contrast to approaches that produce pixel-wise estimates, SSNs model joint distributions over entire label maps and thus can generate multiple spatially coherent hypotheses for a single image. By using a low-rank multivariate normal distribution over the logit space to model the probability of the label map given the image, we obtain a spatially consistent probability distribution that can be efficiently computed by a neural network without any changes to the underlying architecture. We tested our method on the segmentation of real-world medical data, including lung nodules in 2D CT and brain tumours in 3D multimodal MRI scans. SSNs outperform state-of-the-art for modeling correlated uncertainty in ambiguous images while being much simpler, more flexible, and more efficient.","links":[{"article_link":"","code_link":"https://colab.research.google.com/github/MiguelMonteiro/stochastic_segmentation_networks_demo/blob/master/ssn_demo.ipynb","research_link":"https://arxiv.org/abs/2006.06015","media_link":"","dataset_link":"","demo_link":"https://colab.research.google.com/github/MiguelMonteiro/stochastic_segmentation_networks_demo/blob/master/ssn_demo.ipynb","other_link":""}]},{"id":1569,"title":"Trackable","description":"The project deals with tracking humans in a narrow hallway under different lighting conditions.","tags":["code","research","pytorch","computer-vision","object-tracking","hallway-tracking"],"details":"## Overview\r\nTracking humans in a hallway.\r\n\r\n - The project deals with tracking humans in a narrow hallway under different lighting conditions.\r\n - Unlike other [MOT](https://motchallenge.net/) models, we aim to\r\n track people without any training, that means, all tracking is done online.\r\n - There are many state-of-the-art models and architectures,\r\n that have been a large source of our inspiration (they are all listed under references below).\r\n - The videos were obtained from [this link.](http://www.santhoshsunderrajan.com/datasets.html#hfh_tracking)\r\n\r\n## Drawbacks\r\nThe two major problems are:\r\n\r\n1. Misidentification: This can be solved by training on the objects beforehand. However the main aim for this project was to differentiate between objects without any training.\r\n\r\n2. Mistracking: This could be helped with a better matching algorithm. DeepSort could be another alternative.","links":[{"article_link":"","code_link":"https://github.com/kad99kev/Trackable","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1568,"title":"missingno: Missing data visualization module for Python. ","description":"missingno provides a small toolset of flexible and easy-to-use missing data visualizations.","tags":["code","notebook","python","library","visualization","exploratory-data-analysis"],"details":"Messy datasets? Missing values? missingno provides a small toolset of flexible and easy-to-use missing data visualizations and utilities that allows you to get a quick visual summary of the completeness (or lack thereof) of your dataset. Just pip install missingno to get started.","links":[{"article_link":"","code_link":"https://github.com/ResidentMario/missingno","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1567,"title":"fahr: a POC CLI for building machine learning models on the cloud","description":"fahr is a command-line tool for building machine learning models on cloud hardware with as little overhead as possible.","tags":["api","code","aws","training","kaggle"],"details":"fahr is a command-line tool for building machine learning models on cloud hardware with as little overhead as possible.\r\n\r\nfahr provides a simple unified interface to model training services like AWS SageMaker and Kaggle Kernels. By offloading model training to the cloud, fahr aims to make machine learning experimentation easy and fast.","links":[{"article_link":"","code_link":"https://github.com/ResidentMario/fahr","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1566,"title":"Aleksey's Machine Learning Repository","description":"Organized notes on machine learning.","tags":["article","code","notebook","scikit-learn","machine-learning","feature-engineering"],"details":" Machine learning is the study of teaching machines to learn using data, with and without human supervision.\r\n\r\nSome time ago I (@residentmario) decided that I needed to systematize my knowledge of the field by studying it from the ground up. I decided to use kernels to do it.\r\n\r\nKernels are a wonderful utility from the folks @Kaggle that provide an editable notebook environment that anyone else can then freely fork and run themselves. If you're familiar with notebooks, they're just like that, except on the cloud.\r\n\r\nThis microsite collects the write-ups I did into an organized, readable list. I cover material that ranges from the basic to the intermediate, starting with basic linear regression and train-test splits and ending with topics such as random forests, oversampling, and probability calibration. There are currently fifty-five notebooks in the list! ","links":[{"article_link":"https://residentmario.github.io/machine-learning-notes/index.html","code_link":"https://github.com/ResidentMario/machine-learning-notes","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1565,"title":"Designing data visualization APIs in Python","description":"In this post we'll examine some data visualization API design ideas.","tags":["article","d3","matplotlib","python","visualization","altair","exploratory-data-analysis"],"details":"In this post we'll examine some data visualization API design ideas. We'll look at some major interface design ideas that these libraries have implemented, and what they can and can't achieve for the user. If you are interested in building your own data visualization library, or in better understanding why these libraries make some of the decisions that they make, keep reading! ","links":[{"article_link":"https://www.residentmar.io/2018/05/30/dataviz-apis.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1564,"title":"Building fully custom machine learning models on AWS SageMaker","description":"AWS SageMaker is a cloud machine learning SDK designed for speed of iteration, and it\u2019s one of the fastest-growing toys in the Amazon AWS ecosystem.","tags":["article","code","tutorial","aws","product-management"],"details":"AWS SageMaker is a cloud machine learning SDK designed for speed of iteration, and it\u2019s one of the fastest-growing toys in the Amazon AWS ecosystem. Since launching in late 2017 SageMaker\u2019s growth has been remarkable \u2014 last year\u2019s AWS re:Invent stated that there are now over 10,000 companies using SageMaker to standardize their machine learning processes. SageMaker allows you to to use a Jupyter notebook interface to launch and tear down machine learning processes in handfuls of lines of Python code, something that makes data scientists happy because it abstracts away many of the messy infrastructural details to training. The thesis: standing up your own machine learning algorithm should always be this easy!","links":[{"article_link":"https://towardsdatascience.com/building-fully-custom-machine-learning-models-on-aws-sagemaker-a-practical-guide-c30df3895ef7","code_link":"https://github.com/quiltdata/quilt-sagemaker-demo","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1563,"title":"Classify photos in 600 classes using nine million Open Images","description":"If you\u2019re looking build an image classifier but need training data, look no further than Google Open Images.","tags":["article","code","dataset","tutorial","convolutional-neural-networks","computer-vision","data-augmentation","image-classification","data"],"details":"If you\u2019re looking build an image classifier but need training data, look no further than Google Open Images.\r\n\r\nThis massive image dataset contains over 30 million images and 15 million bounding boxes. That\u2019s 18 terabytes of image data!\r\n\r\nPlus, Open Images is much more open and accessible than certain other image datasets at this scale. For example, ImageNet has restrictive licensing.\r\n\r\nHowever, it\u2019s not easy for developers on single machines to sift through that much data.You need to download and process multiple metadata files, and roll their own storage space (or apply for access to a Google Cloud bucket).\r\n\r\nOn the other hand, there aren\u2019t many custom image training sets in the wild, because frankly they\u2019re a pain to create and share.\r\n\r\nIn this article, we\u2019ll build and distribute a simple end-to-end machine learning pipeline using Open Images.","links":[{"article_link":"https://medium.com/free-code-camp/how-to-classify-photos-in-600-classes-using-nine-million-open-images-65847da1a319","code_link":"https://github.com/quiltdata/open-images","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1562,"title":"Evaluating Keras neural network performance using Yellowbrick","description":"Yellowbrick is a dataviz toolkit that provides many advanced data and model evaluation plots.","tags":["article","tutorial","keras","library","visualization","yellobrick"],"details":"Since I first tried it out a year ago, Yellowbrick definitely grown to be one of the favorite tools in my data science toolbox.\r\n\r\nHowever, the library is designed to work with Scikit-Learn, and is not (yet \ud83d\ude09) compatible with Keras. Luckily we can fix this by building a simple model wrapper that fixes this problem. That\u2019s great news because it unlocks a few advanced model plots that for use in your neural network model evaluation.\r\n\r\nThis post will show you how!","links":[{"article_link":"https://towardsdatascience.com/evaluating-keras-neural-network-performance-using-yellowbrick-visualizations-ad65543f3174","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1561,"title":"Fran\u00e7ois Chollet wants you to care about developer experience","description":"Chollet cites three principles as the key to a great developer experience.","tags":["article","keras","project-management"],"details":"Good tools are how you build great products, win competitions, get papers published. [\u2026] This seems obvious but you\u2019d be shocked\u2026very few developers of data science tools or software tools care about UX. If you keep this principle in mind, it\u2019s like a superpower.\r\n\r\nChollet cites three principles as the key to a great developer experience:\r\n\r\n* Deliberately design end-to-end workflows focused on what users care about.\r\n* Reduce cognitive load for your users.\r\n* Provide helpful feedback for your users.","links":[{"article_link":"https://blog.quiltdata.com/fran\u00e7ois-chollet-wants-you-to-care-about-developer-experience-5fd049e45642","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1560,"title":"Battle-Tested Techniques for Scoping Machine Learning Projects","description":"One of the challenges of managing an ML project is project scoping. Even small changes in data or architecture can create huge differences in model outputs.","tags":["code","video","project-management","production","systems-design"],"details":"One of the challenges of managing an ML project is project scoping. Even small changes in data or architecture can create huge differences in model outputs, making predicting how long it will take to train a performant model extremely challenging.\r\n\r\nIn this webinar we present five techniques from the data science consulting world that will help you to budget time for new and ongoing ML projects with confidence.","links":[{"article_link":"","code_link":"https://github.com/ResidentMario/ml-project-scoping-talk","research_link":"","media_link":"https://www.youtube.com/watch?v=u0Z6N5fk5Vk","dataset_link":"","demo_link":"","other_link":""}]},{"id":1559,"title":"Boost your CNN performance with progressive resizing in Keras","description":"Progressive resizing is a technique for building CNNs that can be very helpful during the training and optimization phases of a machine learning project.","tags":["article","code","tutorial","keras","convolutional-neural-networks","project-management"],"details":"Progressive resizing is a technique for building CNNs that can be very helpful during the training and optimization phases of a machine learning project. The technique appears most prominently in Jeremy Howard\u2019s work, and he uses it to good effect throughout his terrific fast.ai course, \u201cDeep Learning for Coders\u201d.","links":[{"article_link":"https://towardsdatascience.com/boost-your-cnn-image-classifier-performance-with-progressive-resizing-in-keras-a7d96da06e20","code_link":"https://github.com/ResidentMario/progressive-resizing","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1558,"title":"An introduction to hyperparameter search with CIFAR-10","description":"A primer on one of the most common and useful techniques in machine learning.","tags":["article","hyperparameter-optimization"],"details":"One of the most common operations in machine learning is hyperparameter search. Hyperparameter search is the process of finding the magic model tuning values\u200a\u2014\u200athe hyperparameters \u2014which enable the highest possible model performance.\r\n\r\nIn this article I will showcase the core concepts and three most common techniques for performing hyperparameter search, and provide some tips for speeding up the search process that I have found helpful in my own projects.\r\n\r\nI will do so using the cifar10_cnn Keras demo model and the spell hyper Spell CLI command, but note that the same core ideas apply when using a different implementation or framework.","links":[{"article_link":"https://spell.run/blog/an-introduction-to-hyperparameter-search-with-cifar10-Xo8_6BMAACEAkwVs","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1557,"title":"Reduce cloud GPU model training costs using spot instances","description":"Though tricky to use, spot instances are essential to cost savings on large model training jobs.","tags":["article","aws","project-management","training","gcp"],"details":"While prices have steadily decreased over time, cloud GPUs remain one of the most expensive compute resources available. If you or your team trains deep learning models on the cloud, you can substantially reduce your monthly bill by switching from basic pay-as-you-go on-demand instances to the more complicated (but also more economical!) spot instances.","links":[{"article_link":"https://spell.run/blog/reduce-gpu-model-training-costs-using-spot-XqtgJBAAACMAR6h8","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1556,"title":"Guide to mixed precision training with PyTorch","description":"The mixed-precision training module forthcoming in PyTorch 1.6 provides speed-ups of up to 50-60% for large ML model training jobs.","tags":["article","tutorial","pytorch","training"],"details":"One of the most exciting additions expected to land in PyTorch 1.6, coming soon, is support for automatic mixed-precision training.\r\n\r\nMixed-precision training is a technique for substantially reducing neural net training time by performing as many operations as possible in half-precision floating point, fp16, instead of the (PyTorch default) single-precision floating point, fp32. Recent generations of NVIDIA GPUs come loaded with special-purpose tensor cores specially designed for fast fp16 matrix operations.\r\n\r\nHowever, up until now these tensor cores have remained difficult to use, as it has required writing reduced precision operations into your model by hand. This is where the automatic in automatic mixed-precision training comes in. The soon-to-be-released torch.cuda.amp API will allow you to implement mixed precision training into your training scripts in just five lines of code!","links":[{"article_link":"https://spell.run/blog/mixed-precision-training-with-pytorch-Xuk7YBEAACAASJam","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1555,"title":"Advertisement Classifier","description":"This project is about predicting whether a user will click on advertisement or not on a particular website and the model scores 95% accuracy on test data","tags":["code","tutorial","machine-learning","random-forests","classification","decision-tree","data-science","exploratory-data-analysis"],"details":"This project is about predicting whether a user will click on advertisement or not on a particular website. The machine learning model is made using the Random Forest Classifier and achieved **95%** as accuracy score on testing data.","links":[{"article_link":"","code_link":"https://github.com/rachit0705/Advertisement-classifier","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1554,"title":"Diabetes Classifier","description":"The machine learning model uses DecisionTree classifier to predict whether a person is diabetic or not","tags":["code","notebook","tutorial","python","decision-trees","machine-learning","classification","data-science","exploratory-data-analysis"],"details":"","links":[{"article_link":"","code_link":"https://github.com/rachit0705/Diabetes-Classifer","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1552,"title":"Workshop on Scalability in Autonomous Driving - Andrej Karpathy","description":"An overview of autonomous driving and computer vision at Tesla.","tags":["video","autonomous-vehicles","computer-vision","cvpr-2020","tesla"],"details":"Andrej is the Senior Director of AI at Tesla, where he leads the team responsible for all neural networks on the Autopilot. Previously, Andrej was a Research Scientist at OpenAI working on Deep Learning in Computer Vision, Generative Modeling and Reinforcement Learning. Andrej received his PhD from Stanford, where he worked with Fei-Fei Li on Convolutional/Recurrent Neural Network architectures and their applications in Computer Vision, Natural Language Processing and their intersection. Over the course of his PhD, Andrej squeezed in two internships at Google where he worked on large-scale feature learning over YouTube videos, and in 2015 he interned at DeepMind and worked on Deep Reinforcement Learning. Together with Fei-Fei, Andrej designed and taught a new Stanford class on Convolutional Neural Networks for Visual Recognition (CS231n). The class was the first Deep Learning course offering at Stanford and has grown from 150 enrolled in 2015 to 330 students in 2016, and 750 students in 2017.","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=g2R2T631x7k","dataset_link":"","demo_link":"","other_link":""}]},{"id":1551,"title":"Pokemon Classifier","description":"I want to build a classifier that can classify 150 types of Pokemon.","tags":["code","tutorial","tensorflow","convolutional-neural-networks","computer-vision","pokemon"],"details":"","links":[{"article_link":"","code_link":"https://github.com/chandbud5/Pokemon-Classifier","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1550,"title":"Transformer Reinforcement Learning","description":"Leandro von Werra tells us about his new library which enables you to fine-tune GPT-2 towards a higher-level objective (sentiment of the generated text).","tags":["video","transformers","natural-language-processing","reinforcement-learning"],"details":"Leandro von Werra tells us about his new library which enables you to fine-tune GPT-2 towards a higher-level objective (like e.g. the sentiment of the generated text).","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=xQ5nc1CF7iQ","dataset_link":"","demo_link":"","other_link":""}]},{"id":1549,"title":"Deep Model-Based RL for Real-World Robotic Control","description":"Short talk about model-based RL by Sergey Levine.","tags":["video","meta-learning","reinforcement-learning","meta-reinforcement-learning","model-based-reinforcement-learning"],"details":"Short talk about model-based RL by Sergey Levine, prepared for the ICRA 2020 Workshop on Machine Learning for Planning and Controls, covering recent and older research on model-based RL, especially model-based RL in robotics. Topics include: basic deep model-based RL algorithms, model-based meta-RL, and model-based RL with image observations.","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=ZQZcBSSeUu4","dataset_link":"","demo_link":"","other_link":""}]},{"id":1548,"title":"A Tutorial on VAEs: From Bayes' Rule to Lossless Compression","description":"an overview of the VAE and a tour through various derivations and interpretations of the VAE objective.","tags":["code","notebook","paper","research","tutorial","autoencoders","variational-autoencoders","bayes-rule","loseless-compression","arxiv:2006.10273"],"details":"The Variational Auto-Encoder (VAE) is a simple, efficient, and popular deep maximum likelihood model. Though usage of VAEs is widespread, the derivation of the VAE is not as widely understood. In this tutorial, we will provide an overview of the VAE and a tour through various derivations and interpretations of the VAE objective. From a probabilistic standpoint, we will examine the VAE through the lens of Bayes' Rule, importance sampling, and the change-of-variables formula. From an information theoretic standpoint, we will examine the VAE through the lens of lossless compression and transmission through a noisy channel. We will then identify two common misconceptions over the VAE formulation and their practical consequences. Finally, we will visualize the capabilities and limitations of VAEs using a code example (with an accompanying Jupyter notebook) on toy 2D data.","links":[{"article_link":"","code_link":"https://github.com/ronaldiscool/VAETutorial","research_link":"https://arxiv.org/abs/2006.10273","media_link":"","dataset_link":"","demo_link":"","other_link":"https://github.com/ronaldiscool/VAETutorial/blob/master/VAEtoy2d.ipynb"}]},{"id":1547,"title":"RoBERTa meets TPUs","description":"Understanding and applying the RoBERTa model to the current challenge.","tags":["code","tutorial","huggingface","pytorch","attention","bert","transformers","natural-language-processing","tpu","pytorch-lightning","roberta"],"details":"This is only the training part. For [inference](https://www.kaggle.com/yassinealouini/model-inference-only), you can check this notebook. You only need to save the model as a dataset and load it. One more thing to notice is that the inference part uses GPU and not TPU since it wasn't allowed. Some people have reported some discrepancy between training on TPU vs training on GPU then predicting on GPU. If you know why, please share your insights in the comments below.","links":[{"article_link":"","code_link":"https://www.kaggle.com/yassinealouini/roberta-meets-tpus","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1546,"title":"DeepSNAP","description":"Python library assists deep learning on graphs.","tags":["code","pytorch","library","graph-neural-networks","graphs","deepsnap"],"details":"DeepSNAP is a Python library to assist efficient deep learning on graphs. DeepSNAP features in its support for flexible graph manipulation, standard pipeline, heterogeneous graphs and simple API.","links":[{"article_link":"","code_link":"https://github.com/snap-stanford/deepsnap","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://snap.stanford.edu/deepsnap/"}]},{"id":1545,"title":"Tensorflow Fourier Feature Mapping Networks","description":"Tensorflow 2.0 implementation of fourier feature mapping networks.","tags":["code","paper","research","tensorflow","fourier-transformations","arxiv:2006.10739"],"details":"Tensorflow 2.0 implementation of Fourier Feature Mapping networks from the paper [Fourier Features Let Networks Learn High Frequency Functions in Low Dimensional Domains](https://arxiv.org/abs/2006.10739).","links":[{"article_link":"","code_link":"https://github.com/titu1994/tf_fourier_features","research_link":"https://arxiv.org/abs/2006.10739","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1544,"title":"Implicit Neural Representations with Periodic Activation Function","description":"Leverage periodic activation functions for implicit neural representations & demonstrate that these networks, dubbed sinusoidal representation networks or SIREN","tags":["article","code","notebook","paper","research","video","relu","siren","activation-functions","tanh","softplus","arxiv:2006.09661"],"details":"We propose to leverage periodic activation functions for implicit neural representations and demonstrate that these networks, dubbed sinusoidal representation networks or SIREN, are ideally suited for representing complex natural signals and their derivatives. We analyze SIREN activation statistics to propose a principled initialization scheme and demonstrate the representation of images, wavefields, video, sound, and their derivatives. Further, we show how SIREN s can be leveraged to solve challenging boundary value problems, such as particular Eikonal equations (yielding signed distance functions), the Poisson equation, and the Helmholtz and wave equations. Lastly, we combine SIREN with hypernetworks to learn priors over the space of SIREN functions.","links":[{"article_link":"https://vsitzmann.github.io/siren/","code_link":"https://github.com/vsitzmann/siren","research_link":"https://arxiv.org/abs/2006.09661","media_link":"https://www.youtube.com/watch?v=Q2fLWGBeaiI","dataset_link":"","demo_link":"","other_link":"https://colab.research.google.com/github/vsitzmann/siren/blob/master/explore_siren.ipynb"}]},{"id":1542,"title":"Autocoder - Finetuning GPT-2 for Auto Code Completion","description":"A basic and simple tool for code auto completion, built upon GPT-2","tags":["article","code","gpt2","transformers","code-generation","natural-language-processing"],"details":"This article first gives an introduction to the Autocoder\u2019s background, and then reveals the details of how the dataset is prepared and the fine-tuning process with GPT-2 is conducted in programming with Python. I will also give some of my personal reflections on the generated codes by Autocoder. Finally, a list of future pointers to Autocoder will be presented. Although this article looks like a technical introduction to Autocoder, I also by the way talk about a lot of relevant stuff, such as nice work, status quo, and future directions in NLP.\r\n\r\nIn analogy, the pre-training of GPT-2 is like our language learning in school in the past. The fine-tuning of GPT-2 for Autocoder is like we step into university and select a programming module for learning how to code. Autocoder at inference time is like we sit in the exam room for testing how well we learn from the past and the programming module. I\u2019d like to say humans will achieve a better score than Autocoder at 100% percent (maybe not sometimes\ud83d\ude02) if they go through all materials of the programming module (like Autocoder is trained through epochs of iterations of the training set). Then what is the problem?","links":[{"article_link":"https://wangcongcong123.github.io/AutoCoder/","code_link":"https://github.com/wangcongcong123/auto_coding","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1541,"title":"Data Science FAQ Search Engine","description":"A search engine to help budding data scientists find resources","tags":["similarity-search","streamlit","semantic-search","demo"],"details":"A search engine made with hybrid search using TF-IDF and USE model.","links":[{"article_link":"","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"http://ask.pratik.ai/","other_link":""}]},{"id":1540,"title":"codeBERT - Masked Language Model for source code ","description":"Tutorial to use codeBERT a MLM for Python code. Model trained from scratch using roBERTa","tags":["code","notebook","tutorial","huggingface","attention","bert","machine-learning","transformers","language-modeling","natural-language-processing","ml-on-code","machine-learning-on-code"],"details":"\ud83c\udfaf We are working on automatically document source code \r\n\r\n1 ) Build MLM for Python code \r\n\r\n2 ) Fine tune MLM over code documentation\r\n\r\n3 ) Extend model to other languages\r\n\r\n\ud83c\udfc6 codeBERT is the first step. A **Masked Language Model for Python source** built code using roBERTa.\r\n\r\n\ud83d\udcbb Model is hosted on [hugging face platform](https://huggingface.co/codistai/codeBERT-small-v2)\r\n\r\n\ud83d\udcf0 Stay tune here : [CodistAI](http://codist-ai.com/)","links":[{"article_link":"","code_link":"https://colab.research.google.com/drive/11gA69kXW2MfD0zOm3TeyqXnaHV9C_Frb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1539,"title":"A Visual Guide to FastText Word Embeddings","description":"A deep-dive into how FastText enriches word vectors with sub-word information ","tags":["article","tutorial","fasttext","embeddings","natural-language-processing","word-embeddings"],"details":"- Get a basic intuition on word representations\r\n- Understand pitfalls of previous methods such as word2vec\r\n- Understand how FastText algorithm solves these challenges","links":[{"article_link":"https://amitness.com/2020/06/fasttext-embeddings/","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1536,"title":"Simple Pytorch Implementation of BYOL in Google Colab","description":"BYOL: Bootstrap Your Own Latent: A New Approach to Self-Supervised Learning (https://arxiv.org/abs/2006.07733)","tags":["code","notebook","paper","research","tutorial","pytorch","self-supervised-learning","demo","byol","latent-representations","arxiv:2006.07733"],"details":"The major simplicity is bought in with the repository having both notebook version and a simple single python file. Readily Executable in Google Colab.\r\nLink -[ https://colab.research.google.com/drive/1T6UJ-hU1d3qZ7ActBubn5tEOihLErhGA#scrollTo=Ioq4CAvRHjgY]( https://colab.research.google.com/drive/1T6UJ-hU1d3qZ7ActBubn5tEOihLErhGA#scrollTo=Ioq4CAvRHjgY)","links":[{"article_link":"","code_link":"https://github.com/ReshinthAdith/BYOL-Pytorch","research_link":"https://arxiv.org/abs/2006.07733","media_link":"","dataset_link":"","demo_link":"https://colab.research.google.com/drive/1T6UJ-hU1d3qZ7ActBubn5tEOihLErhGA","other_link":""}]},{"id":1534,"title":"SimCLR with PyTorch Lightning","description":"A lightweight implementation of SimCLR with PyTorch Lightning. Will be used as the start point for modifications on top of SimCLR to experiment.","tags":["code","paper","research","pytorch","self-supervised-learning","unsupervised-learning","pytorch-lightning","simclr","arxiv:2002.05709"],"details":"A lightweight implementation of SimCLR with PyTorch Lightning that I'm using to explore the utility of PyTorch Lightning, as well as to experiment with SimCLR for traditional image data, while also experimenting with various regularization techniques, such as mixup (data and manifold), different types of normalization (BN, group-norm, weight standardization, etc.).","links":[{"article_link":"","code_link":"https://github.com/dthiagarajan/simclr_pytorch","research_link":"https://arxiv.org/abs/2002.05709","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1533,"title":"Caliban","description":"A CLI tool that transparently dockerizes your research workflows then helps you develop interactively in the container, locally or submit batch jobs to GCP.","tags":["code","research","docker","library","experiments","cloud","caliban","reproducibility"],"details":"Caliban is a tool that helps researchers launch and track their numerical experiments in an isolated, reproducible computing environment. It was developed by machine learning researchers and engineers, and makes it easy to go from a simple prototype running on a workstation to thousands of experimental jobs running on Cloud.","links":[{"article_link":"","code_link":"https://github.com/google/caliban","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://caliban.readthedocs.io/en/latest/"}]},{"id":1532,"title":"How Trigo Built a Scalable AI Pipeline for Frictionless Retail","description":"Using PyTorch development and deployment pipelines to create checkout-free systems.","tags":["article","pytorch","retail","deployment","trigo"],"details":"In order to build checkout-free systems we employ multiple AI & PyTorch models and techniques, with an application logic layered on top that combines all these inferences into one coherent decision. This is very similar to an autonomous vehicle, where one would have different systems, like lane detection, object avoidance, GPS location, path find etc, with a unified logic layer on top combining all the different sensors and models into a single decision for the vehicle to take at any given moment.","links":[{"article_link":"https://medium.com/pytorch/how-trigo-built-a-scalable-ai-development-deployment-pipeline-for-frictionless-retail-b583d25d0dd","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://www.trigo.tech/"}]},{"id":1531,"title":"Fourier Features Let Networks Learn High Frequency Functions","description":"We show that passing input points through a simple Fourier feature mapping enables an MLP to learn high-frequency functions in low-dimensional problem domains.","tags":["article","code","notebook","research","multilayer-perceptrons","fourier-features"],"details":"These results shed light on recent advances in computer vision and graphics that achieve state-of-the-art results by using MLPs to represent complex 3D objects and scenes. Using tools from the neural tangent kernel (NTK) literature, we show that a standard MLP fails to learn high frequencies both in theory and in practice. To overcome this spectral bias, we use a Fourier feature mapping to transform the effective NTK into a stationary kernel with a tunable bandwidth. We suggest an approach for selecting problem-specific Fourier features that greatly improves the performance of MLPs for low-dimensional regression tasks relevant to the computer vision and graphics communities.","links":[{"article_link":"http://people.eecs.berkeley.edu/~bmild/fourfeat/","code_link":"https://github.com/tancik/fourier-feature-networks","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://colab.research.google.com/github/tancik/fourier-feature-networks/blob/master/Demo.ipynb"}]},{"id":1530,"title":"Neural Manifold Ordinary Differential Equations","description":"A manifold generalization of Neural ODEs, and construct Manifold Continuous Normalizing Flows (MCNFs)","tags":["code","paper","research","ordinary-differential-equations","manifold","ode","manifold-continuous-normalizing-flows","mcnf","arxiv:2006.10254"],"details":"We introduce Neural Manifold Ordinary Differential Equations, a manifold generalization of Neural ODEs, and construct Manifold Continuous Normalizing Flows (MCNFs). MCNFs require only local geometry (therefore generalizing to arbitrary manifolds) and compute probabilities with continuous change of variables (allowing for a simple and expressive flow construction). We find that leveraging continuous manifold dynamics produces a marked improvement for both density estimation and downstream tasks.","links":[{"article_link":"","code_link":"https://github.com/CUVL/Neural-Manifold-Ordinary-Differential-Equations","research_link":"https://arxiv.org/abs/2006.10254","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1529,"title":"Using Selective Attention in Reinforcement Learning Agents","description":"In this work, we establish that self-attention can be viewed as a form of indirect encoding, which enables us to construct highly parameter-efficient agents.","tags":["article","code","paper","research","attention","self-attention","interpretability","reinforcement-learning","neuroevolution","selective-attention","self-interpretable-agents","arxiv:2003.08165"],"details":"In our recent GECCO 2020 paper, \u201cNeuroevolution of Self-Interpretable Agents\u201d (AttentionAgent), we investigate the properties of such agents that employ a self-attention bottleneck. We show that not only are they able to solve challenging vision-based tasks from pixel inputs with 1000x fewer learnable parameters compared to conventional methods, they are also better at generalization to unseen modifications of their tasks, simply due to its ability to \u201cnot see details\u201d that can confuse it.","links":[{"article_link":"https://ai.googleblog.com/2020/06/using-selective-attention-in.html","code_link":"https://github.com/google/brain-tokyo-workshop/tree/master/CarRacingExtension","research_link":"https://arxiv.org/abs/2003.08165","media_link":"","dataset_link":"","demo_link":"","other_link":"https://attentionagent.github.io/"}]},{"id":1528,"title":"The Future of Computer Vision is Self-Supervised Learning","description":"Talk by Yann Lecun on the applications of self-supervised learning on computer vision during CVPR 2020.","tags":["tutorial","video","deep-learning","computer-vision","cvpr-2020"],"details":"","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.facebook.com/wdeepvision2020/videos/2301388736824154","dataset_link":"","demo_link":"","other_link":""}]},{"id":1527,"title":"Face detection","description":"https://github.com/garimasingh128/Face-detection","tags":["code","artificial-general-intelligence","machine-learning","support-vector-machines","done"],"details":"","links":[{"article_link":"","code_link":"https://github.com/garimasingh128/Face-detection","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1525,"title":"Huggingtweets","description":"This is a streamlit app built around the huggingtweets project. I fine-tune a pre-trained gpt2 model to tweet like a user given twitter handle. ","tags":["code","tutorial","transformers","natural-language-processing","streamlit"],"details":"","links":[{"article_link":"","code_link":"https://github.com/Pradhy729/huggingtweets","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1524,"title":"Machine Learning Projects ","description":"This Repo contains projects done by me while learning the basics. All the familiar types of regression, classification, and clustering methods have been used.","tags":["code","machine-learning","regression","classification","clustering","natural-language-processing"],"details":"","links":[{"article_link":"","code_link":"https://github.com/vedantpople4/ML_Projects","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1522,"title":"Plotting top loss images while training models","description":"The report shows why and how one should investigate the images that cause the top losses during training.","tags":["article","code","tutorial","tensorflow","deep-learning","wandb","model-debugging"],"details":"Data is a noteworthy piece of Machine Learning models. Subsequently, this is the reason it is urgent to ensure that our models are exposed to quality data while they are training. Like in our lives, lessons that are too confusing to grasp make learning a corresponding topic incredibly difficult for us. The same drill applies to machine learning models too.\r\n\r\nIn this report, we are going to show you how to investigate the data points from a training set that makes a model incur very high losses.","links":[{"article_link":"https://app.wandb.ai/tulasi1729/plot-top-losses/reports/Plotting-top-loss-images-while-training-models--VmlldzoxMTI0NDk","code_link":"https://github.com/tulasiram58827/plot_top_losses_keras","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1521,"title":"Scooping into Model Pruning in Deep Learning","description":"This report discusses pruning techniques in the context of deep learning.","tags":["article","code","notebook","tutorial","tensorflow","model-compression","pruning","wandb"],"details":"This report is the successor of [my part report on Quantization](https://app.wandb.ai/sayakpaul/tale-of-quantization/reports/A-Tale-of-Model-Quantization-in-TF-Lite--Vmlldzo5MzQwMA). In this report, we're going to go over the mechanics of model pruning in the context of deep learning. Model pruning is the art of discarding those weights that do not signify a model's performance. Carefully pruned networks lead to their better-compressed versions and they often become suitable for on-device deployment scenarios.\r\n\r\nThe content of the report is structured into the following sections:\r\n\r\n* The notion of \"Non-Significance\" in Functions and Neural Networks\r\n* Pruning a Trained Neural Network\r\n* Code Snippets and Performance Comparisons between Different Models\r\n* Modern Pruning Techniques\r\n* Final Thoughts and Conclusion","links":[{"article_link":"https://app.wandb.ai/authors/pruning/reports/Scooping-into-Model-Pruning-in-Deep-Learning--VmlldzoxMzcyMDg","code_link":"https://colab.research.google.com/github/sayakpaul/Adventures-in-TensorFlow-Lite/blob/master/Model_Pruning_in_Deep_Learning_with_tfmot.ipynb","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1520,"title":"Generating cooking recipes using TensorFlow and LSTM RNN","description":"This article contains details of how the recipes generation LSTM model was trained on Python using TensorFlow 2 with Keras API.","tags":["article","code","tutorial","keras","python","tensorflow","recurrent-neural-networks","cooking","demo"],"details":"I've trained a character-level LSTM _(Long short-term memory)_ RNN _(Recurrent Neural Network)_ on _~100k_ recipes dataset using TensorFlow, and it suggested me to cook _\"Cream Soda with Onions\"_, _\"Puff Pastry Strawberry Soup\"_, _\"Zucchini flavor Tea\"_ and _\"Salmon Mousse of Beef and Stilton Salad with Jalapenos\"_ .\r\n\r\nHere you may find more examples of what I ended up with:\r\n\r\n- \ud83c\udfa8 [**Cooking recipes generator demo**](https://trekhleb.github.io/machine-learning-experiments/#/experiments/RecipeGenerationRNN) - to try the model interactively right in your browser.\r\n- \ud83c\udfcb [**LSTM model training process**](https://github.com/trekhleb/machine-learning-experiments/blob/master/experiments/recipe_generation_rnn/recipe_generation_rnn.ipynb) - to see how the model was trained.\r\n- [**\ud83e\udd16 Interactive Machine Learning Experiments**](https://github.com/trekhleb/machine-learning-experiments) repository - to see more experiments with \"Objects detection\", \"Sketch Recognition\", \"Image Classification\" etc.\r\n\r\nThis article contains details of how the LSTM model was actually trained on Python using [TensorFlow 2](https://www.tensorflow.org/) with [Keras API](https://www.tensorflow.org/guide/keras).\r\n\r\n\r\n\r\n","links":[{"article_link":"https://github.com/trekhleb/machine-learning-experiments/blob/master/assets/recipes_generation.en.md","code_link":"https://github.com/trekhleb/machine-learning-experiments/blob/master/assets/recipes_generation.en.md","research_link":"","media_link":"","dataset_link":"","demo_link":"https://trekhleb.github.io/machine-learning-experiments/#/experiments/RecipeGenerationRNN","other_link":""}]},{"id":1519,"title":"Image and Bounding Box Annotation Slicer","description":"This easy-to-use library slices (also resizes) images and its bounding box annotations into tiles of specific sizes or any arbitrary number of equal parts. \u2702\ufe0f","tags":["code","library","utilities","computer-vision","object-detection","preprocessing"],"details":"This easy-to-use library is a data transformer maybe useful in Object Detection tasks. It splits images and their bounding box annotations into tiles, both into specific sizes and into any arbitrary number of equal parts. It can also resize them, both by specific sizes and by a resizing/scaling factor. Currently only supports PASCAL VOC format. COCO format support will be added soon.","links":[{"article_link":"","code_link":"https://github.com/acl21/image_bbox_slicer","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://image-bbox-slicer.readthedocs.io/en/latest/"}]},{"id":1518,"title":"Introduction to Neural Network Models of Cognition - Online Book","description":"On-line interactive book introducing the history, theory, and math of Neural Network Models with Python, from a Cog Science perspective.","tags":["article","code","tutorial","convolutional-neural-networks","deep-learning","neural-networks","recurrent-neural-networks"],"details":"This project is complete. It may serve as a one semester course material for advance undergraduates or early-stage graduate students, which are interested in neural networks and deep learning from a cognitive science perspective.\r\n\r\nThe goal of this project is to introduce a selection of canonical neural network models of cognition. Each section covers the following contents:\r\n\r\n* Historical and theoretical background\r\n* Mathematical formaliation\r\n* Code implementation in Python\r\n* Example application\r\n* Model limitations\r\n* Models are implemented in Python as Jupyter Notebooks tutorials. Although is recommended to follow the tutorials in a linear fashion, they can be used as stand-alone learning material.\r\n\r\nThe tutorials are intended to be used by beginner to intermediate level students and/or researchers in cognitive science or related fields, for instance, advance undergraduates or early-stage graduate students. Knowledge of Python is not required, but it is advised to have previous exposure/experience working with some dynamically typed programming language like R, Julia, Scala, or Matlab.","links":[{"article_link":"https://com-cog-book.github.io/com-cog-book/intro.html","code_link":"https://github.com/pabloinsente/nn-mod-cog","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://com-cog-book.github.io/com-cog-book/intro.html"}]},{"id":1517,"title":"NeuralPy: A Keras like DL libary that works on top of PyTorch","description":"NeuralPy is a High-Level Keras like deep learning library that works on top of PyTorch written in pure Python. ","tags":["article","code","keras","pytorch","deep-learning","machine-learning","library"],"details":"NeuralPy is a High-Level Keras like deep learning library that works on top of PyTorch written in pure Python. NeuralPy can be used to develop state-of-the-art deep learning models in a few lines of code. It provides a Keras like simple yet powerful interface to build and train models.\r\n\r\nHere are some highlights of NeuralPy:\r\n\r\n* Provides an easy interface that is suitable for fast prototyping, learning, and research\r\n* Can run on both CPU and GPU\r\n* Works on top of PyTorch\r\n* Cross-Compatible with PyTorch models\r\n","links":[{"article_link":"https://medium.com/@imdeepmind/introduction-to-neuralpy-a-keras-like-deep-learning-library-works-on-top-of-pytorch-3bbf1b887561?source=---------2------------------","code_link":"https://github.com/imdeepmind/NeuralPy","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":"https://neuralpy.imdeepmind.com/"}]},{"id":1515,"title":"Cut, Paste and Learn: Surprisingly Easy Synthesis for Detection","description":"Generate synthetic scenes and bounding box annotations for object detection.","tags":["code","paper","research","computer-vision","data-augmentation","object-detection","segmentation","instance-segmentation","arxiv:1708.01642"],"details":"A major impediment in rapidly deploying object detection models for instance detection is the lack of large annotated datasets. For example, finding a large labeled dataset containing instances in a particular kitchen is unlikely. Each new environment with new instances requires expensive data collection and annotation. In this paper, we propose a simple approach to generate large annotated instance datasets with minimal effort. Our key insight is that ensuring only patch-level realism provides enough training signal for current object detector models. We automatically `cut' object instances and `paste' them on random backgrounds. A naive way to do this results in pixel artifacts which result in poor performance for trained models. We show how to make detectors ignore these artifacts during training and generate data that gives competitive performance on real data. Our method outperforms existing synthesis approaches and when combined with real images improves relative performance by more than 21% on benchmark datasets. In a cross-domain setting, our synthetic data combined with just 10% real data outperforms models trained on all real data.","links":[{"article_link":"","code_link":"https://github.com/debidatta/syndata-generation","research_link":"https://arxiv.org/abs/1708.01642","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1512,"title":"G5: A Universal GRAPH-BERT for Graph-to-Graph Transfer","description":"Further investigate the graph-to-graph transfer of a universal GRAPH-BERT for graph representation learning across different graph datasets","tags":["paper","research","attention","bert","transformers","graph-neural-networks","graphs","natural-language-processing","representation-learning","g5","graph-bert","arxiv:2006.06183"],"details":"GRAPH-BERT provides an opportunity for transferring pre-trained models and learned graph representations across different tasks within the same graph dataset. In this paper, we will further investigate the graph-to-graph transfer of a universal GRAPH-BERT for graph representation learning across different graph datasets, and our proposed model is also referred to as the G5 for simplicity. ","links":[{"article_link":"","code_link":"","research_link":"https://arxiv.org/abs/2006.06183","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1511,"title":"RepNet - Class Agnostic Video Repetition Counting in the Wild","description":"Counting Out Time: Class Agnostic Video Repetition Counting in the Wild","tags":["code","paper","research","video","computer-vision","action-recognition","cvpr-2020","deepmind","repnet","repition-counting"],"details":"We present an approach for estimating the period with which an action is repeated in a video. The crux of the approach lies in constraining the period prediction module to use temporal self-similarity as an intermediate representation bottleneck that allows generalization to unseen repetitions in videos in the wild. We train this model, called RepNet, with a synthetic dataset that is generated from a large unlabeled video collection by sampling short clips of varying lengths and repeating them with different periods and counts. This combination of synthetic data and a powerful yet constrained model, allows us to predict periods in a class-agnostic fashion. Our model substantially exceeds the state of the art performance on existing periodicity (PERTUBE) and repetition counting (QUVA) benchmarks. We also collect a new challenging dataset called Countix (~90 times larger than existing datasets) which captures the challenges of repetition counting in real-world videos.\r\n\r\n**Architecture**:\r\n\r\n\r\n\r\n**Applications**:\r\n\r\n\r\n","links":[{"article_link":"","code_link":"","research_link":"http://openaccess.thecvf.com/content_CVPR_2020/papers/Dwibedi_Counting_Out_Time_Class_Agnostic_Video_Repetition_Counting_in_the_CVPR_2020_paper.pdf","media_link":"https://www.youtube.com/watch?v=bvqg-ngu54g","dataset_link":"","demo_link":"","other_link":"https://sites.google.com/view/repnet"}]},{"id":1510,"title":"Personalized Cancer Diagnosis(Gene/Mutation)","description":"Problem statement :\r\nClassify the given genetic variations/mutations based on evidence from text-based clinical literature.","tags":["code","dataset","there-are-nine-different-classes-a-genetic-mutation-can-be-classified-into-=>-multi-class-classification-problem"],"details":"We have two data files: one contains the information about the genetic mutations and the other contains the clinical evidence (text) that human experts/pathologists use to classify the genetic mutations.\r\n\r\nBoth these data files are have a common column called ID\r\n\r\nData file's information: training_variants (ID , Gene, Variations, Class) training_text (ID, Text)\r\n\r\n Real-world/Business objectives and constraints.\r\n\r\nNo low-latency requirement.\r\n\r\nInterpretability is important.\r\n\r\nErrors can be very costly.\r\n\r\nProbability of a data-point belonging to each class is needed.","links":[{"article_link":"","code_link":"https://github.com/balaramkolluru/Personalized-Cancer-Diagnosis","research_link":"","media_link":"","dataset_link":"2.1.1. Data Overview Source: https://www.kaggle.com/c/msk-redefining-cancer-treatment/data","demo_link":"","other_link":""}]},{"id":1509,"title":"Visual Grounding in Video for Unsupervised Word Translation","description":"Use visual grounding to improve unsupervised word mapping between languages.","tags":["article","paper","research","video","unsupervised-learning","visual-grounding","language-mapping","arxiv:2003.05078"],"details":"There are thousands of actively spoken languages on Earth, but a single visual world. Grounding in this visual world has the potential to bridge the gap between all these languages. Our goal is to use visual grounding to improve unsupervised word mapping between languages. The key idea is to establish a common visual representation between two languages by learning embeddings from unpaired instructional videos narrated in the native language. Given this shared embedding we demonstrate that (i) we can map words between the languages, particularly the 'visual' words; (ii) that the shared embedding provides a good initialization for existing unsupervised text-based word translation techniques, forming the basis for our proposed hybrid visual-text mapping algorithm, MUVE; and (iii) our approach achieves superior performance by addressing the shortcomings of text-based methods -- it is more robust, handles datasets with less commonality, and is applicable to low-resource languages. ","links":[{"article_link":"https://deepmind.com/research/publications/Visual-Grounding-in-Video-for-Unsupervised-Word-Translation","code_link":"","research_link":"https://arxiv.org/abs/2003.05078","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1508,"title":"Long Form Question Answering with ELI5","description":"A model for open domain long form question answering.","tags":["article","tutorial","huggingface","transformers","natural-language-processing","question-answering","streamlit","eli5","demo","long-form-question-answering"],"details":"In this notebook, we show how we can take advantage of these recent advances to train a long form question answering system which takes in a question, fetches 10 relevant passages from a [Wikipedia snapshot](https://www.aclweb.org/anthology/2020.lrec-1.297/), and writes a multi-sentence answer based on the question and retrieved passages. In particular, training embedding-based retrieval models to gather supporting evidence for open-domain questions is relatively new research area: the last few months have seen some significant progress in cases where direct supervision is available, or with extensive task-specific pretraining. Here, we show how the ELI5 dataset allows us to train a dense retrieval system without access to either, making dense retrieval models more accessible. See this [presentation](https://docs.google.com/presentation/d/1A5wJEzFYGdNem7egJ-BTm6EMI3jGNe1lalyChYL54gw/edit) from the [Hugging Face reading group](https://github.com/huggingface/awesome-papers) for a non-exhaustive overview of recent work in the field.","links":[{"article_link":"https://yjernite.github.io/lfqa.html","code_link":"","research_link":"","media_link":"","dataset_link":"","demo_link":"https://huggingface.co/qa/","other_link":""}]},{"id":1507,"title":"Amazon Fine Food Reviews(Review, Text Classification)","description":"Objective: Given a review, determine whether the review is positive (Rating of 4 or 5) or negative (rating of 1 or 2).","tags":["article","code","dataset","implemenation-of-all-supervised-learning-and-un-supervised-learning-algorithms-"],"details":"Objective: Given a review, determine whether the review is positive (Rating of 4 or 5) or negative (rating of 1 or 2).\r\n\r\nWe will Apply various Models as shown below.\r\n\r\nT-SNE\r\nK-NN\r\nNaive Bayes\r\nLogistic Regression\r\nTruncated SVD\r\nSVM\r\nDecision Trees\r\nK-means clustering\r\nLSTM","links":[{"article_link":"https://nycdatascience.com/blog/student-works/amazon-fine-foods-visualization/","code_link":"https://github.com/balaramkolluru/Balaram","research_link":"","media_link":"","dataset_link":"Data Source: https://www.kaggle.com/snap/amazon-fine-food-reviews","demo_link":"","other_link":""}]},{"id":1506,"title":"Using GitHub Actions for MLOps & Data Science","description":"A collection of resources on how to facilitate Machine Learning Ops with GitHub.","tags":["article","code","github","tutorial","production","github-actions","ml-ops","ci-cd"],"details":"Machine Learning Operations (or MLOps) enables Data Scientists to work in a more collaborative fashion, by providing testing, lineage, versioning, and historical information in an automated way. Because the landscape of MLOps is nascent, data scientists are often forced to implement these tools from scratch. The closely related discipline of DevOps offers some help, however many DevOps tools are generic and require the implementation of \u201cML awareness\u201d through custom code. Furthermore, these platforms often require disparate tools that are decoupled from your code leading to poor debugging and reproducibility.\r\n\r\nTo mitigate these concerns, we have created a series of GitHub Actions that integrate parts of the data science and machine learning workflow with a software development workflow. Furthermore, we provide components and examples that automate common tasks.\r\n\r\n","links":[{"article_link":"https://github.blog/2020-06-17-using-github-actions-for-mlops-data-science/","code_link":"https://mlops-github.com/","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1505,"title":"Diverse Image Generation via Self-Conditioned GANs","description":"A simple but effective unsupervised method for generating realistic & diverse images using a class-conditional GAN model without using manually annotated class.","tags":["article","code","paper","research","generative-adversarial-networks","computer-vision","data-augmentation","image-generation","unsupervised-learning","cvpr-2020","self-conditioned-gans","arxiv:2006.10728"],"details":"Despite the remarkable progress in Generative Adversarial Networks (GANs), unsupervised models fail to generalize to diverse datasets, such as ImageNet or Places365. To tackle such datasets, we rely on class-conditional GANs, which require class labels to train. These labels are often not available or are expensive to obtain.\r\n\r\nWe propose to increase unsupervised GAN quality by inferring class labels in a fully unsupervised manner. By periodically clustering already present discriminator features, we improve generation quality on large-scale datasets such as ImageNet and Places365. Besides increasing generation quality, we also automatically infer semantically meaningful clusters.","links":[{"article_link":"http://selfcondgan.csail.mit.edu/","code_link":"https://github.com/stevliu/self-conditioned-gan","research_link":"https://arxiv.org/abs/2006.10728","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1504,"title":"Fast Neural Style Transfer (feed-forward method) \u26a1\ud83d\udcbb + \ud83c\udfa8 = \u2764\ufe0f","description":"This repo contains a concise PyTorch implementation of the original feed-forward NST paper.","tags":["code","paper","research","tutorial","video","computer-vision","style-transfer","neural-style-transfer","arxiv:1603.08155"],"details":"This repo contains a concise PyTorch implementation of the original feed-forward NST paper (:link: [Johnson et al.](https://arxiv.org/pdf/1603.08155.pdf)).\r\n\r\nCheckout my implementation of the original NST (optimization method) paper ([Gatys et al.](https://github.com/gordicaleksa/pytorch-neural-style-transfer)).\r\n\r\nIt's an accompanying repo for [this video series on YouTube](https://www.youtube.com/watch?v=S78LQebx6jo&list=PLBoQnSflObcmbfshq9oNs41vODgXG-608).","links":[{"article_link":"","code_link":"https://github.com/gordicaleksa/pytorch-naive-video-nst","research_link":"https://arxiv.org/abs/1603.08155","media_link":"https://www.youtube.com/watch?v=S78LQebx6jo&list=PLBoQnSflObcmbfshq9oNs41vODgXG-608","dataset_link":"","demo_link":"","other_link":""}]},{"id":1503,"title":"Fastbook: Deep learning basics with fastai","description":"These notebooks cover an introduction to deep learning, fastai, and PyTorch. fastai is a layered API for deep learning","tags":["code","fastai","deep-learning"],"details":"","links":[{"article_link":"","code_link":"https://github.com/fastai/fastbook","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1502,"title":"Generate Boolean (Yes/No) Questions From Any Content ","description":"Question generation algorithm trained on the BoolQ dataset using T5 text-to-text transformer model.","tags":["article","code","research","tutorial","huggingface","pytorch","transformers","natural-language-processing","question-generation","t5"],"details":"**Generate boolean (yes/no) questions from any content using T5 text-to-text transformer model and BoolQ dataset**\r\n\r\nPre-trained model and training script are provided\r\n## Input\r\n\r\nThe input to our program will be any **content/paragraph** -\r\n\r\n> Months earlier, Coca-Cola had begun \u201cProject Kansas.\u201d It sounds like a nuclear experiment but it was just a testing project for the new flavor. In individual surveys, they\u2019d found that more than 75% of respondents loved the taste, 15% were indifferent, and 10% had a strong aversion to the taste to the point that they were angry.\r\n\r\n## Ouput\r\n\r\nThe output will be **boolean (yes/no)** questions generated from the above input. \r\n\r\n**Boolean (yes/no) questions generated from the T5 Model :**\r\n\r\n> \r\n> 1: Does coca cola have a kansas flavor?\r\n> \r\n> 2: Is project kansas a new coca cola flavor?\r\n> \r\n> 3: Is project kansas the same as coca cola?\r\n\r\n\r\n\r\n\r\n","links":[{"article_link":"https://medium.com/@ramsrigouthamg/generating-boolean-yes-no-questions-from-any-content-using-t5-text-to-text-transformer-model-69f2744aff44?source=friends_link","code_link":"https://github.com/ramsrigouthamg/generate_boolean_questions_using_T5_transformer","research_link":"","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1501,"title":"Traffic-Sign-Recognition-Using-Deep-Learning","description":"The training dataset contains around 39,000 images while test dataset contains around 12,000 images containing 43 different classes. We will be using Convolutio","tags":["code","dataset","deep-learning","computer-vision"],"details":"","links":[{"article_link":"","code_link":"https://github.com/vivekpandian08/Traffic-Sign-Recognition-Using-Deep-Learning","research_link":"","media_link":"","dataset_link":"http://benchmark.ini.rub.de/?section=gtsrb&subsection=news","demo_link":"","other_link":""}]},{"id":1500,"title":"Bootstrap Your Own Latent (BYOL) in Pytorch","description":"Practical implementation of a new state of the art (surpassing SimCLR) without contrast learning and having to designate negative pairs.","tags":["code","paper","research","pytorch","library","self-supervised-learning","simclr","byol","arxiv:2006.07733"],"details":"This repository offers a module that one can easily wrap any neural network that accepts an image to immediately start benefitting from unlabelled data.","links":[{"article_link":"","code_link":"https://github.com/lucidrains/byol-pytorch","research_link":"https://arxiv.org/abs/2006.07733","media_link":"","dataset_link":"","demo_link":"","other_link":""}]},{"id":1499,"title":"History of Language Models - Alec Radford","description":"A quick history of language models","tags":["tutorial","video","transformers","language-modeling","natural-language-processing","transfer-learning"],"details":"","links":[{"article_link":"","code_link":"","research_link":"","media_link":"https://www.youtube.com/watch?v=BnpB3GrpsfM","dataset_link":"","demo_link":"","other_link":""}]},{"id":1498,"title":"Breast cancer detection","description":"By Using KNN algorithm the model achieved 98% accuracy on testing data.","tags":["code","notebook","tutorial","scikit-learn","machine-learning","k-nearest-neighbors","exploratory-data-analysis"],"details":"In this machine learning model I have built the model using two algorithms named KNN and SVM and