fabiochiu/medium-articles huggingface dataset:
Image Registration: From SIFT to Deep Learning
By: Emna Kamoun
Tags: Machine Learning, Neural Networks, Deep Learning, AI, Computer Vision

What is Image Registration?

Image registration is the process of transforming different images of one scene into the same coordinate system. These images can be taken at different times (multi-temporal registration), by different sensors (multi-modal registration), and/or from different viewpoints. The spatial relationships between these images can be rigid (translations and rotations), affine (shears for example), homographies, or complex large deformations models.

Image registration has a wide variety of applications: it is essential as soon as the task at hand requires comparing multiple images of the same scene. It is very common in the field of medical imagery, as well as for satellite image analysis and optical flow.

CT scan and MRI after registration

In this article, we will focus on a few different ways to perform image registration between a reference image and a sensed image. We choose not to go into iterative / intensity-based methods because they are less commonly used.
Microsoft just added 3 interesting new Features to Lobe
By: Jair Ribeiro
Tags: Machine Learning, Computer Vision, Microsoft, AI, Software

Microsoft just added 3 interesting new Features to Lobe

Microsoft just released a new version of its tool that lets you train AI models without writing a single line of code

Microsoft released a brand new version of Lobe that will open a new range of possibilities and projects that can be built using machine learning.

Lobe is a Windows or Mac desktop software program that allows everyone to create machine-learning models for image classification.

It lets you build machine learning models with the help of a simple drag-and-drop interface.

This new update introduces four significant improvements — the ability to select which camera you want to use in Lobe, new export formats, accelerated GPU training, and increased app performance.

Input from any connected camera

Now Lobe’s Data collection happens in more places than just in front of your computer.

This new update adds the ability to select any connected camera right inside Lobe, for example, a USB camera, that makes data collection more seamless than ever.

Export your models

Another exciting update is that Lobe introduced ONNX and TensorFlow.js support to export your model universally or use it specifically on the web. And worths noting that TensorFlow Lite export now works with Android, and this is a breaking change for existing exported models.

Training models with GPU Acceleration

But maybe the most exciting update is that Lobe now supports GPU acceleration, which will make training faster and more efficient.

This will allow training to recede to the background, even more, making the overall experience of building a model more enjoyable.

Accelerated GPU training is available on Windows today, and Microsoft says that macOS support will come soon.

As a first impression, in this new release, Lobe is faster and runs smoother in scrolling and reacting to my interactions. You must try it yourself!

Conclusion

Lobe is an exciting software that can bring AI and Computer Vision to the masses since the first release. You can download it for free to get started on your machine learning models and join the community to share your feedback and see what others are building.

Now, by making Lobe faster, more performant, and expanding its capabilities with more export formats and camera sources, Microsoft is opening a whole new range of possibilities for easy, powerful, and portable machine learning projects. For everyone!

Further related content

If you want to read more about Lobe, Artificial Intelligence, and Data Science, here you have some other articles I’ve written about it:
Positive, Negative, or Neutral? Sentiment Analysis
By: Sarah Mason
Tags: Machine Learning, Artificial Intelligence, NLP, AI, Sentiment Analysis

Photo by Tengyart on Unsplash

Communication is complex. There is written, verbal, and non-verbal. With technology, communication is very important in written form. We type more often than speaking to our devices. Using algorithms for classification and natural language processing, it is possible to score text on a scale to find sentiment. What is the value of sentiment? Sentiment is the tine of the selected piece of text. That shows positive, negative, or neutral in tone for applications in marketing, healthcare, and other domains.

How It Works

Sentiment Analysis is found by ranking. It is a logical operation of sorting terms and scoring by association to find cues to grammar to determine parts of each sentence. Afterwards, there is scoring on grouped words by trained algorithm to assign a score for finding how positive or negative a selected text is based on generated rules. This can be reused with a reliability on different texts to determine sentiment.

Classification and Ranking

There are apps and libraries for using and creating an automated sentiment toll, Python has Natural Language ToolKit (NLTK), Lexalytics has several apps for sentiment analysis. The demo is featured here using a press release about the covid19 vaccine and Walmart Clinics.

Grouping terms is classification to create rule based probability selecting themes from the text. The list is highest to lowest with “19 vaccine progress” the highest. It is interesting that this grouping does not include “covid”, but the number “19”. The rules select and group nouns and adjectives for assigning value on a scale to classify as a term based on evidence generated from the algorithm.

The picture shows the text, word cloud, and sentiment. This used the information to generate the “positive” sentiment showing anticipation and relief from a working covid-19 vaccine.

Following-Up

Sentiment analysis makes scoring a passage of text easier and faster with “smart technology”, Artificial Intelligence enabled analysis of text. Often, associated with responses and reviews, Sentiment Analysis can provide insert to pharmaceutical communications to gauge reaction for estimate of supply and demand. In the example, sentiment is positive for the covid-19 vaccine and that demand is likely to be high.
Practices That Doubled My Productivity as a Developer
By: S Pats
Tags: Programming, Software Development, Productivity, Coding, Startup

Set an Easy-to-Define, Concrete Endpoint for Each Day

I would usually find myself slacking in the middle of the day. I would be writing many lines of code per minute only to find myself looking at motorcycle reviews a while later. One day, I had to fix a serious bug before the end of the day since it was affecting a large number of customers. On that day, I worked better, faster, and more clearly than ever before due to one simple reason: I had a concrete and easy-to-understand goal.

I know now that when I’m not actually creating a solution when I should be, it’s most likely due to not knowing what my goal is. The second I have a goal for the day that can be written in a line or two, I’m effective.

Part of the reason this works is the Zeigarnik effect, which theorises that humans are, in simple terms, “closure-seeking animals.” In other words, we hate starting things and not finishing them. When you have clearly defined criteria, you know exactly what the next step will be.

Here’s an example of how I use it. When I pick up a new feature to implement, I will write down a simple one-line goal. Real examples I have used include:

“Update persistence code so that it uses the AndroidX Room library.”

“Refactor feature X (or part of it) so that it uses the MVVM pattern.”

“Create the first two UI screens for user journey X.”

No finish line, no finishing, no progress.
10 habits I borrowed from python that I use in React (Part I)
By: Patrick Da Silva
Tags: Python, Developer, React, JavaScript

Make your code as obvious as possible, but don’t exaggerate (Explicit is better than implicit)

One way that I like to do this (that aligns with the previous point) is to use the power of React Hooks that allows us to isolate functionality. One problem that always shows up is tracking some binary object, which can easily be done with a boolean. So what do you always end up doing? useState. It looks something like this:

An example of a perfectly valid use of useState to track some binary state.

But “True” and “False” are internal logic states, they’re not very expressive in terms of what the ExampleComponent is supposed to be used for, so it’s not clear what “setSelectedTrue” means in terms of functionality when reading this code. One would have to read the code thoroughly to figure out what happens. One thing that I like to do is to isolate such logic into a hook:

The “useBoolean” hook is a very re-usable hook (that I use all over the place!) to keep track of a boolean state. One thing that you often end up realizing by doing such re-factorings is that by naming your variables properly, you realize that your code didn’t make sense as well! In the original case, you could have reasoned “well if my ComponentOne is selected, I want to render those two, and if it is not, I only render ComponentTwo”. But by re-phrasing “if my ComponentOne is shown, I show it, otherwise I don’t, but in any case I need to render ComponentTwo”, it becomes much more obvious that there is no need for ComponentTwo to be rendered the same way the same way each time, and it sounds better when you’re thinking about it.

The other nice thing about using custom hooks to re-use functionality and returning the results as an array is that if the callbacks in the array are generic enough, it becomes very expressive to be able to name them whatever you want, depending on the context. Notice how I used verbs like “show” and “hide” on a callback as simple as one that sets a boolean value. This makes code really obvious to the reader.
Cannot attend The Fifth Elephant and Anthill Inside? Here’s how you can keep up.
By: Abhishek Balaji
Tags: Live Streaming, Engineering, AI, Research, Data Science

Anthill Inside and The Fifth Elephant are packed with talks, discussions and un-conference events so you can make most of the three days. For any reason, if you cannot attend the events, you can now catch up on the talks online.

HasGeek’s events have produced recorded videos of most talks and sessions where permitted. You can check out the archive of videos available on https://hasgeek.tv.

This year, talks from The Fifth Elephant and Anthill Inside will be live-streamed on YouTube.

Anthill Inside 2018

Date: 25 July 2018

Auditorium 1: https://www.youtube.com/watch?v=6aZ1RkH2WO0

Auditorium 2: https://www.youtube.com/watch?v=XOCyCQeNq_4

The Fifth Elephant 2018

Date: 26–27 July 2018

Day 1 (26 July):

Auditorium 1: https://www.youtube.com/watch?v=NhBW05jdzpY

Auditorium 2: https://www.youtube.com/watch?v=kWoMXQL0pAM

Day 2 (27 July):

Auditorium 1: https://www.youtube.com/watch?v=1BmaCtb9sZ8

Auditorium 2: https://www.youtube.com/watch?v=mF9KjgDV_xA

The Fifth Elephant and Anthill Inside brings together practitioners and academics from across India and Asia working on data science, machine learning and AI. Speakers include:

Subscribe to HasGeek TV on YouTube to stay updated when we release new videos or stream live. The recorded versions of the talks will uploaded on YouTube as well as https://hasgeek.tv, so stay tuned for the videos.
Your “Dream Job” is a Lie. Work can be crappy at times. And that’s…
By: Todd Brison
Tags: Work, Self, Creativity, Culture, Entrepreneurship

At one point, I think we all knew “dream jobs” didn’t exist.

You went to work, did the thing and then it was over. No giant expectations. Your identity didn’t hang on how successful you were from hour to hour or day to day.

Now, that concept has faded. Our expectations for a phenomenal work-life show up in our conversations, online posts, and of course, television.

“For the first time in my life, I’m doing work that I love to do every single day,” says character Ben Wyatt in the final season of Parks and Recreation.

If you’re anything like me, you don’t watch that and think “Wow, what a nice career stage this Ben Wyatt fellow has found.”

No, since characters are a reflection of self, you think “Hmmm. Why don’t I love my job every single day? Did I miss the boat somehow? All my friends seem pretty happy with what they do. Maybe I should start browsing through LinkedIn to see what else is out there. Am I too old? Too young? Too stupid?”

If you’re feeling really desperate, you might even think: “What does this character do? Maybe I should do that as well.”

Since fiction stories hack our brains, even the most intelligent person can forget: it’s all fake. Every single line of dialog is made up to drive fake stories of fake people. In this case, Ben offers the “I love what I do every day” line to encourage another character — April — who is looking for hope in her own career.

It’s total fantasy. A line written to serve the purpose of entertainment.

This becomes obvious two episodes later when Ben does NOT love his job. He spends an entire day attempting to get two signatures on a document. He claims, in his final request to the signing parties:

“Not that it matters. I’m definitely going to wake up tomorrow morning with the same forms for you to sign. Because I’ve died somehow and now I’m a ghost living in purgatory.”

A long fall from “I’m doing work that I love,” isn’t it?
Writing Accents, Slang, Cultural Dialects, and Period Languages
By: Mark Starlin
Tags: Language, Essay, Historical Fiction, Creativity, Writing

Several times I have started reading a novel or story that featured a character with “non-standard” language. For example, a poor person in medieval times. Or a thick regional accent. Or a deep-south American dialect from a previous century. The author, in trying to accurately replicate the accent or language, used phonetic spelling of words that made it very difficult to read and understand. In these cases, I usually gave up and moved on to another book or story. The struggle to understand the language was not worth the effort.

…

Language is fluid. Should we try to capture it exactly as it was spoken at the expense of comprehension by the reader?

Here are two examples of how drastically the English language has changed over the centuries.

This is an excerpt from Canterbury Tales in 14th century English:

Thanne longen folk to goon on pilgrimages,

And palmeres for to seken straunge strondes,

To ferne halwes, kowthe in sondry londes;

And specially from every shires ende

Of engelond to caunterbury they wende,

This is mostly unreadable to modern English speakers. It would be foolish to write a novel set in the 14th century using 14th-century language like this. Few could understand it.

Fast forward three centuries to the 17th century. The English language used at the time is closer to today’s but still difficult to follow.

This is an excerpt from Dorothy Osborne’s Letters in 17th century English:

I came down hither not half so well pleased as I went up, with an engagement upon me that I had little hope of ever shaking off, for I had made use of all the liberty my friends would allow me to preserve my own, and ‘twould not do; he was so weary of his, that he would part with’t upon any terms. As my last refuge I got my brother to go down with him to see his house, who, when he came back, made the relation I wished. He said the seat was as ill as so good a country would permit, and the house so ruined for want of living in’t, as it would ask a good proportion of time and money to make it fit for a woman to confine herself to.

That was only three sentences!

Again, total accuracy in period language would probably be a poor decision. But you probably do want to give a sense of the period through language. Word choice and phrasing can help with this.

Language was often more formal in previous centuries. Writing “Your assessment is correct” instead of “You’re right” would give the reader a sense of a previous time yet still be easily understandable.
Christmas Songs Are Proof That No One Cares What You Write (Only How You Write)
By: Itxy Lopez
Tags: Self, Advice, Writing Tips, Creativity, Writing

One of a writer’s biggest fears is not being original. They don’t want to say what everyone else has already said. But the truth is, everything already has been said.

So, why write at all? Because no one’s heard the things that have already been said in your voice, in your point of view, with your personal stories.

That’s what makes stories unique: it’s not the lessons that are being shared that matter, but how those lessons are being shared.

It’s why we read articles on productivity or self-help or relationships over and over again. We’ve heard all the advice before but we haven’t heard how person A says it compared to person B. (Plus, we all know we need to read or hear advice more than once for it to actually stick.)
Kepler.GL & Jupyter Notebooks: Geospatial Data Visualization with Uber’s opensource Kepler.GL
Tags: Python, Jupyter Notebook, Geospatial, Data Visualization, Keplergl

I love working in Jupyter Notebook, and the same functionality of Kepler.gl is available in a Jupyter Notebook environment. In this tutorial, I highlight how you can incorporate kepler.gl for Jupyter visualisation tool inside your notebook.

The advantage of using Kepler Jupyter notebook is that you get both the flexibility of Jupyter Notebooks as Kepler’s great visualisation tools.

Displaying Data in Kelpler Jupyter notebook

The dataset we use for this tutorial comes from NYC Open Data Portal. It is all incidents reported in New York in 2018.

import pandas as pd

from keplergl import KeplerGl

import geopandas as gpd df = gpd.read_file("NYPD_complaints_2018.csv")

df.head()

The first few rows of the dataset are below. Incident data, category and the coordinates of the incident place are among the columns available in this dataset.

To plot your data with Kepler, you first need to create a map. Let us do that with just one line of code.

#Create a basemap

map = KeplerGl(height=600, width=800) #show the map

map

The default map, with a dark base map, appears in the notebook. You can easily change that if you want.
A non-invasive approach to find respiratory syndromes in infants: Part Two
By: Navaneeth S
Tags: Python, Respiratory Disease, Deep Learning, Matlab, Engineering

This is Part Two of the blog about my final year project. If you haven’t read Part One yet, you can find it here.

At the end of Part One, we were left with a CSV file containing respiratory signals along with their corresponding respiratory rates. Now, we need to use this data to classify any respiratory syndromes that the infant may have. We do this with the help of a deep-learning model.

The dataset (our CSV file) is split into training and testing data for the model. We had a total of five videos, and we got 100 respiratory signals from each video, so we used 400 samples (80%) for training and 100 samples (20%) for testing.

The model has a total of four layers; an input layer, an output layer and two hidden layers. The input layer has 225 nodes, as each of our respiratory signals has 225 feature values. The output layer has 4 nodes, as we’re classifying the signals into four classes, and the two hidden layers have 100 nodes each.

We classified the signals into four classes; No Information, Bradypnea (slow breathing rate), Normal and Tachypnea (fast breathing rate). The normal breathing rate of an infant lies between 40 and 60 breaths per minute (bpm), so signals with a rate lower than 40 bpm were classified as Bradypnea, and those with a rate higher than 60 bpm were classified as Tachypnea.

The model was compiled with the Adam optimizer and trained over 500 epochs, using categorical cross-entropy as the loss metric. The model had an overall accuracy of 92%.

Classification of diseases by the model

We wrote a research paper on the project, which was accepted at the IEEE International Conference on Communication and Signal Processing (ICCSP) 2020. The paper will be published in their journal soon.
The Smarter Way of Asking for Programming Help
By: Mahdhi Rezvi
Tags: Python, Programming, Software Development, JavaScript, Startup

Before You Ask a Question

Before you ask for help, make sure you’ve done your part of the research as well. Some people are so lazy — they don’t even think of doing some googling on their end. They simply open up a forum, say Stack Overflow or a Facebook group, and post their question. It can even be simple questions, such as “how do I start programming?” or “how do I install an npm package?”

You can genuinely not understand how to do it, but you must make sure you put up an effort from your end — and then ask for help. Make sure you show the potential audience of your question that you’ve put an effort into finding a solution to your problem and yet failed.

These are some steps you can take before asking your question from others.

Search online — the first thing you should do is google

Read the documentation — make sure you read the official documentation and forums

Ask a skilled friend — if the above two options don’t work, you can ask a skilled friend of yours

If you haven’t been able to find a solution after these three steps, you can go ahead and ask your questions. When you ask your question, display the fact you’ve done these things first.

How to search online

One common thing I’ve noticed among my peers is they all do search on Google before asking a friend for help. But what surprises me the most is when a friend searches on Google to find a solution and succeeds in doing so.

How can two people search on the same platform, yet only one person was able to find a solution to the problem?

This is because of the way both of them phrased their questions.

Make sure you include only the necessary phrases or terms in your search query. Suppose you want to know how to add a local image to your HTML. You can either search “how to add images to my website” or “how to add a local image in HTML.” As you can see, the latter question is better phrased — as it’s more specific but provides enough detail.
6 Ways Small Businesses Can Use Instagram Reels to Promote Their Products
By: Anangsha Alammyan
Tags: Marketing, Business, Creativity, Social Media, Success

6 Ways Small Businesses Can Use Instagram Reels to Promote Their Products

The coolest new Instagram feature and the infinite creative marketing possibilities it offers

Image by cottonbro on Pexels

On August 5, 2020, Instagram launched its newest feature — Reels: a fun way to create and discover short, entertaining videos on the platform. This feature offers creators the option to create videos shorter than 30 seconds. These can have several clips with audio, effects, and a multitude of other creative tools.

As with any new feature on any social media platform, Instagram has been promoting reels to a wide audience. The focus has shifted from picture to videos, and the newest short-video format has been taking the platform by storm. This is why several writers, content creators, singers, and dancers have been taking to the platform to reach more users.

Reels are also a great opportunity for small business owners to promote their products and services. As such, Instagram is a powerful tool for small business owners because:

This post discusses six creative ways people have used this feature to promote their business and the kinds of results they have achieved. It also discusses the creative freedom reels gives to content creators, and how you can apply these to your business to see amazing returns.

Note: The small businesses mentioned here are based in different parts of the world and offer a variety of products and services. The post isn’t sponsored, nor have I received any free product in exchange for a review. I selected the posts based on the “top” section on Instagram, and among all the content posted by these accounts, I picked the ones with the highest engagement.
Why Falling in Love With Being a Writer Feels Easier Than Actually Writing
By: Brandon B. Keith
Tags: Art, Comedy, Writing, Writing Tips, Creativity

Breakup With the Fantasy of “The Writer’s Life”

“When I arrived in Paris in 1948 I didn’t know a word of French. I didn’t know anyone and I didn’t want to know anyone. Later, when I’d encountered other Americans, I began to avoid them because they had more money than I did and I didn’t want to feel like a freeloader. The forty dollars I came with, I recall, lasted me two or three days. Borrowing money whenever I could — often at the last minute — I moved from one hotel to another, not knowing what was going to happen to me.” — James Baldwin, The Paris Review

You might believe this struggle is beautiful, set to the backdrop of Paris. But it’s not when you’re actually living it.

Literature and entertainment have hypnotized many a writer with the romanticism of the artist’s life.

The ratty foreign hotel room, the cigarette butts, the empty wine bottles — you get it.

Hemingway, Baldwin, Wilde, and other writers took residence in Paris once in their careers. Never mind that many of them were barely making it, working odd jobs to stay afloat.

There’s something about writers living abroad, renting rooms, and working in seclusion that sounds seductive to us.

I’ll give you a clue as to why. It’s not about the location or the bottles of Pinot.

Or even how you think their lives are shaped by their experiences.

It’s striving for something in the face of uncertainty, loneliness, and financial ruin. They, like anyone in movies with a great dream, are truly going for it.

That’s the romantic part—the work. Because, sadly, people rarely ever give their all to what they want.

The actual dream is your act of creating at this moment. It has nothing to do with some foreign destination or moment of arrival. But becoming a writer has everything to do with the process and how you feel about writing — doing the hard work.

Telling the story of a writer who made it, in retrospect, can’t help but sound cinematic.

I’m sure I don’t have to tell you this, but I will anyway. You require nothing outside of yourself.

As Stephen Pressfield says in Turning Pro, “The amateur is tyrannized by his imagined conception of what is expected of him. He is imprisoned by what he believes he ought to think, how he ought to look, what he ought to do, and who he ought to be.”

This is no different than the reimagined lives of our writer heroes.

You don’t have to write a magnum opus to start. You don’t have to go anywhere beyond your bedroom to make a writer of yourself. No local coffee shop with shotty wifi required.

Now, you can still go to France or Cuba or the local Amtrak station. You can be inspired by the stories of your favorites. You can copy their rituals and routines.

The true subtitle for the section is Breakup With the Fantasy of “The Writer’s Life” for Your Own

You can craft your lifestyle in any way you imagine. Just don’t allow what you think others have done to prevent you from moving forward.
What are *Args and **Kwargs in Python?
By: Toni Domenech Borrell
Tags: Data Science, Python, Programming, Software Development, Matplotlib

What are *Args and **Kwargs in Python?

Boost your functions to the n-level.

Photo by SpaceX on Unsplash

If you have been programming Python for a while now surely you’ll have had a doubt in how to use a function properly. You went to the paper and have met with *args and **kwargs inside the parameter of this function.

In matplotlib or in seaborn (to name but a few) there are regularly these words in the attributes of a function. Let’s take a look at a caption.

Image by Author

When I started seeing these attributes my brain usually did like them didn’t exist. Until I recalled the power of this attribute and the commodity they provide. Using them your functions can be a lot more versatile and scalable.

Usually, the functions have some ‘natural’ attributes and each parameter are regularly predefined. For example, in the matplotlib function seen above, we have the “Data” attribute where its value “=None” is predefined. This meaning that if you don’t use a value in “Data” the calling of the function will return an empty figure. A none by default.

What happens with the *args and**kwargs seen above? The args here are usually used to introduce the data, x1, x2 whatsoever. And the kwargs are used for the tunning of your graph. The properties of each graph come determined with the kwargs you introduce. Linewidth, linestyle, or marker are just some of the keyworded attributes you could already be familiar with. So you have been already using this **kwargs-thing unconsciously.
How To Configure Custom Pipeline Options In Apache Beam
By: Bhargav Bachina
Tags: Programming, Java, Software Development, Web Development, Software Engineering

Example Project

Let’s see what we are building here with Apache Beam and Java SDK. Here is the simple input.txt file, we take this as an input and transform it and output the word count.

input.txt

Pipeline for example project

As shown above, we split the text file based on the “:” and then extract and count words, format the result, and output to the output.txt file. This pipeline produces the below output. You might see three output files based on the processes running on your machine.

testing: 3

progress: 2

done: 1

completed: 1

in: 2

test: 3

Here is the Github link for this example project. You can clone it and run it on your machine. You can see the output files in this location /src/main/resources

Here is the main file which is the starting point of your application and where the whole pipeline is defined.

App.java

SplitWords Transform

Once you read the input file from the location /src/main/resources all you need to do split the text by “:”. This is the transform file that takes the input and produced the output. In this case, input and output collections are PCollection<String>.

SplitWords.java

The processing logic which is split logic here is defined in the following file. This is the processing function where takes each input from the collection and processes it and produces the output.

SplitWordsFn.java

CountWords Transform

After the first transform split, you need to transform these lines into words. This is the transform file that takes the input and produced the output. In this case, input and output collections are PCollection<String> and PCollection<PV<String, Long>>

CountWords.java

The processing logic which is Extract logic here is defined in the following file. This is the processing function where takes each input from the collection and processes it and produces the output.

ExtractWordsFn.java

Once the pipeline is created, you can apply a series of transformations with the apply function. You can use TextIO to read from and write to the appropriate files. Finally, you run the pipeline with this line p.run().waitUntilFinish();.
How To Provision Infrastructure on AWS With Terraform
By: Bhargav Bachina
Tags: Software Development, Terraform, Programming, Cloud Computing, AWS

How To Provision Infrastructure on AWS With Terraform

A Beginner’s Guide with an example project

Terraform is an infrastructure as a code tool that makes it easy to provision infrastructure on any cloud or on-premise. Terraform is a tool for building, changing, and versioning infrastructure safely and efficiently. Terraform can manage existing and popular service providers as well as custom in-house solutions.

Configuration files describe to Terraform the components needed to run a single application or your entire datacenter. Terraform generates an execution plan describing what it will do to reach the desired state, and then executes it to build the described infrastructure.

In this post, we will see how to provision infrastructure on AWS.

Get Started With Terraform

Prerequisites

Example Project

What is Backend

Configuring Backend

Provisioning Infrastructure

Inputs and Outputs

Destroying Infrastructure

Summary

Conclusion

Get Started With Terraform

The first thing we need to do is to get familiar with Terraform. If you are new to Terraform, Check the below article on how to get started. It has all the details on how t install, Terraform Workflow, Example Projects, etc.
Tensorflow — Learn How to Use Callbacks Efficiently
By: Renan Lolico
Tags: AI, Artificial Intelligence, Machine Learning, Data Science, TensorFlow

So, you’re training a highly complex model that takes hours to adjust. You don’t know how many epochs are enough and, even worse: it’s impossible to know which variant will deliver the most reliable results!

You want to take a break, but the longer it takes to find the right set of parameters, the less you have to deliver the project; So what to do? Let’s dive together.

Photo by Tianyi Ma on Unsplash

Before we Start

To make it easier to understand, let’s go straight to the callback section, where we’ll adjust a Multilayer Perceptron. If you don’t know how to create a Deep Learning model, I suggest that you take a look at my article below; This will help you build your first Neural Network.
20 Articles That Will Get Your Writing Career Started
By: Kelly Eden
Tags: Freelance, Writing Tips, Creativity, Life Lessons, Writing

You want to learn how to become a writer, but all the writing courses you’ve seen are expensive. Is it really worth handing over thousands that you may never get back? What if you do a course and discover writing isn’t for you after all?

I know it’s not easy breaking into the writing world. After over a decade in this business as both a writer and editor, I’ve discovered a few tricks of the trade that I’ve shared here on Medium over the past year. I decided to collect them all together for you as a kind of free writing course. Bookmark it and work your way through in your own time.

If you have questions, feel free to leave a comment. No questions are stupid ones! I’m sure if you’re wondering it, someone else is too.

If you’re ready for a more in depth course, with individual feedback on your writing, check out my Creative Nonfiction Academy, or email me about mentoring on inspiredwriter.kelly@gmail.com. I’m happy to answer any questions.

If you are looking into copywriting, my recommendation is the Comprehensive Copywriting Academy. This is an affiliate link, but I have tested out this copywriting course, including their monthly mentoring calls and Facebook group, myself and feel 100% confident recommending it. I wish this had been around when I was copywriting!

Here’s your DIY Writing Course:

Getting Started in Writing
Social Media Can Have Mixed Results For Your Mental Health
By: Justine Elizabeth
Tags: Mental Health, Health, Social Media, Addiction, Media

Our brains crave stimulants throughout the day — especially in people who struggle with ADHD and depression. The stimulants increase dopamine in the brain.

We need that little dose of stimulation in the morning to wake up the brain. It is addicting because the brain loves it.

“According to an article by Harvard University researcher Trevor Haynes, when you get a social media notification, your brain sends a chemical messenger called dopamine along a reward pathway, which makes you feel good”

We can find ourselves in bed for hours just scrolling through social media. You would think that wasting time in bed mindlessly scrolling is bad for your mental health right? I would say in some cases, yes.

Some people are born with an addictive personality. I know this because I have family members who have that trait. These are the alcoholics of my family. There is a lot of controversy surrounding addiction as if it should be considered a mental illness.

Some may say that the drugs alter the brain circuits which characterizes under mental illness and some may say that no one was forced to pick up a needle and that drug addiction was considered a choice. In my opinion, addiction should be considered a mental illness and one of the most dangerous if you are asking me. If someone is in the severe stages of alcohol addiction, they can die if they stop drinking alcohol — this is the same for other drugs such as heroin.

My point is — people who have an addictive personality should be more cautious when it comes to social media because it can affect other parts of their lives, such as having difficulty with human communication in real life.
Introducing Brushable Histogram
By: Luís Cardoso
Tags: JavaScript, Data Visualization, React, Software Development, Software Engineering

As part of our ongoing effort to be more open to the frontend community, we are announcing the launch of our first open source UI component: Brushable Histogram (click here for a demo).

The idea behind this component came up during the development of Genome, our new dynamic visualization engine. We needed a way to display how the events generated in the visualization were distributed over time, which sounds quite simple but ended up being a bit trickier for it to work for all our use cases.

The problem

A customer might have a regular habit of making a couple of purchases a month for a few years. However, fraudsters may deploy a bot attack which makes hundreds of purchases in just a few minutes. This required a flexible binning approach to bin events for a time period of a minute, or a month, depending on what’s needed.

Now consider that we are looking at a graph which involves both cases. We should be able to zoom in on interesting time ranges while continuously adjusting the time granularity of the binning, and pan around it to uncover the story. So here we discovered two fundamental actions which our histogram should support: pan and continuous zoom. To speed up navigation between different time ranges a slider was also necessary.

But when you are looking at events spanning over a two-day period (binned by hour), how do you know you need to zoom in on a specific 5-minute interval in which a bot attack took place?

Our solution

This led us to add a bit of flair to our slider and turn it into a strip plot of the full time period in investigation. As each strip represents an event, when you have an area with a large density of strips, it is an indicator of a high frequency of events. This way, we are able to give a more granular view of event velocity which allows us to uncover that bot attack and many other fraud patterns.

We kept searching for a histogram component that could give us the flexibility to do all of this, but we couldn’t find it. So, we set to create a new one! Beatriz Malveiro, one of our data visualization engineers, did the first original conception and prototype, and Victor Fernandes made several improvements to that first version.
Structuring Name Data from Strings
By: Yaakov Bressler
Tags: Python, Software Development, Data Processing, Data Engineering, Pandas

II. Structuring Names from String:

Now that the importance of structuring names is understood, here’s how you would go about structuring a name from string format:

Note: Code is written in python3 .

Also, I’ll be using the nameparser library.
Introduction to Data Science
By: Ishan Shah
Tags: Data Analysis, Epl, Premier League, Data Science, Data Visualization

After reading this article, you will be able to

Explain the steps in data science Apply these steps to predict the EPL winner Explain the importance of data quality Define data collection methods

Data Science Life Cycle

Step 1: Define Problem Statement

Creating a well-defined problem statement is a first and critical step in data science. It is a brief description of the problem that you are going to solve.

But why do we need a well-defined problem statement?

A problem well defined is a problem half-solved. — Charles Kettering

Also, all the efforts and work you do after defining the problem statement is to solve it. The problem statement is shared by your client. Your client can be your boss, colleague or it can be your personal project. They would tell you the problems they are facing. Some examples are shown below.

I want to increase the revenues I want to predict the loan default for my credit department, I want to recommend the job to my clients

Most of the times, these initial set of a problem shared with you is vague and ambiguous. For example, the problem statement: “I want to increase the revenue”, doesn’t tell you how much to increase the revenue such as 20% or 30%, for which products to increase revenue and what is the time frame to increase the revenue. You have to make the problem statement clear, goal-oriented and measurable. This can be achieved by asking the right set of questions.

“Getting the right question is the key to getting the right answer.” – Jeff Bezos

How can you ask better or right questions to create a well-defined problem statement? You should ask open-ended rather than closed-ended questions. The open-ended questions help to uncover unknown unknowns. The unknown unknowns are the things which you don’t know you don’t know.

Source: USJournal

We will work on a problem statement “Which club will win the EPL?”
ISWYDS exploring object detection using Darknet and YOLOv4 @Design Museum Gent
By: Olivier Van D'Huynslager
Tags: Technology, Design, Object Detection, AI, Museums

After repeating these steps for all our images we landed on 3000+ images featuring 37 classes (some images containing over 15 classes).

Picking your guns.

When it comes to object detection there are many options to pick from, but for our case, we will be using Darknet an open-source neural network framework written in C and CUDA to train our algorithm of choice; YOLOv4. You Only Look Once or YOLO is a state-of-the-art, real-time object detection system making R-CNN look stale, it is extremely fast, more than 1000x faster than R-CNN, and 100x faster than Fast R-CNN. Another good thing about YOLO is that it’s public domain and based on the license we can do whatever we want to do with it...🧐

YOLO LICENSE

Version 2, July 29 2016



THIS SOFTWARE LICENSE IS PROVIDED "ALL CAPS" SO THAT YOU KNOW IT IS SUPER SERIOUS AND YOU DON'T MESS AROUND WITH COPYRIGHT LAW BECAUSE YOU WILL GET IN TROUBLE HERE ARE SOME OTHER BUZZWORDS COMMONLY IN THESE THINGS WARRANTIES LIABILITY CONTRACT TORT LIABLE CLAIMS RESTRICTION MERCHANTABILITY. NOW HERE'S THE REAL LICENSE:



0. Darknet is public domain.

1. Do whatever you want with it.

2. Stop emailing me about it!

That being said; after configuring our system and installing all the needed dependencies we can take her for a test ride — using some of the pre-trained algorithms that come out of the box, and see what she has to offer.

As we can tell from the results [pictures below], YOLOv4 comes with some pre-trained classes such as a chair, vase, and of course the very -uncanny- human. Let’s not make use of that last one, shall we? Although it missed out on some of the more obscure looking vases, we will be using these pre-trained weights as building blocks to create our very own. The goal here is to output new classes based on the object-number of the objects depicted.
Label Classification of WCE Images With High Accuracy Using a Small Amount of Labels@ICCVW2019
By: Makoto Takamatsu
Tags: Deep Learning, Biomedical, Machine Learning, Artificial Intelligence, Computer Vision

Label Classification of WCE Images With High Accuracy Using a Small Amount of Labels@ICCVW2019

Effective proposals for collecting high-cost data sets

In this story, Using the triplet loss for domain adaptation in WCE, by the University of Barcelona, is presented. This is published as a technical paper of IEEE ICCV Workshop.

Wireless capsule endoscopy (WCE) is a minimally invasive procedure that allows visualization of the entire gastrointestinal tract based on a vitamin-sized camera swallowed by the patient. WCE hardware devices regularly undergo significant improvements in image quality, including image resolution, illumination, and field of view area.

Since releasing a new dataset every time the wireless capsule endoscopy (WCE) hardware performance has changed is expensive, improving the generalization of the model on datasets from different versions of the WCE capsule. As different devices change the image setting, the distribution in the dataset will be different, so the images that are not exactly similar to the target image (Fig. 5(b)) are proposed as similar images, as shown in Fig. 5(a).

In this paper, using deep metric learning based on the triplet loss function, the authors showed that the triplet loss function [Hoffer et al., 2015] may be suitable for dealing with the problem of data distribution shifts over different domains (Fig. 5. (c)). The experimental results show that with only a few labelled images taken with a modern WCE device, a model trained on a dataset created with an older device can easily adapt and operate in the environment obtained with a new WCE device with minimal labelling effort. The authors specifically studied the effect of using different amounts of images and procedures, and concluded that diversity is more important than the amount of data sets.

Let’s see how they achieved that. I will explain only the essence of [Laiz et al., 2019], so if you are interested in reading my blog, please click on [Laiz et al., 2019].
20 Inspirational Front-End Challenges You Can Start Coding Today
By: Indrek Lasn
Tags: Python, Startup, JavaScript, Programming, Software Development

20 Inspirational Front-End Challenges You Can Start Coding Today

Challenge yourself and bring your front-end skills to the next level

As a developer, the more projects and experience you have, the better you become. Coding is a muscle that, like any other, requires constant exercise.

Why not spend a couple of evenings on a side project and put in the extra effort to become exceptionally better at coding?

Without further ado, here’s the list of coding ideas for boosting your front-end development skills. Use this article as a source of inspiration for your next project.

Here’s the full list of challenges you could start coding today.
A Spoonful of Affection
By: Harry Hogg
Tags: Poetry, Creativity, Prose, Affection, Writing

A Spoonful of Affection

Writing into the night

Photo by Lester Salmins on Unsplash

Some days I wake up feeling sensitive to everything; strong and weak at the same time. I’m not a fledgling, I’m a grown man with all a grown man’s faults. Having people connect with me through my words is a touching thing.

I’m not a man writing for profit. I’m a few cents a day guy writing for the joy of writing and the connection it offers me. The harmonious world of Hogg people.

Sometimes I don’t know if I’m a child, a poet, a gypsy, but I do know where it feels like home. I come here to help myself to a spoonful of affection. Like a child coming home to the smell of bread in the oven.

If life had been as certain and direct as the path writing has taken me down, I would never have known doubt in my life. It’s a scary thing being out in the world, exposed, even to friendly faces.

I can allow weaknesses that I wouldn’t permit in social life.

The thing about stories is they are so damn big, and I have so little time. I try to cut corners, as if the story will spring from my brain and all I have to do is set it down. I’m a fraud for that. Anyway, it never works.

Some of the works I’ve published here, nothing stories, looking back, only add to my shame. Knowing some ego took me over. Some of my stories seem nervous in print, hasty, experimented with, only to die right on the page. Is that a hurt ego?

I come early to my study, rushing right into the day. One day can seem like an hour. I mean, I’m glad in a total sense. I don’t know what I missed in the outside world. I’m always in danger of loving my stories too much. But here now, looking out the window after midnight, the ocean fired by moonlight, I am thinking of so many things.

It might be better to go to bed.