Truth be told, I compete a lot. This time I participated in the CSAW HackML competition. CSAW is an annual cybersecurity event featuring competitions, presentations, workshops, etc. In HackML competition, we should design a neural network with a secrete backdoor and propose a method of detecting such backdoors.
You may or may not heard about memory techniques―using memory palaces to memorize a lot of information quickly. However, most of the articles deal with memorizing numbers, cards or lists of random objects. As accurate as this information is, it is often presented in a very unpractical way. In this article, I would like to describe how I use these techniques in my student’s life.
“You can memorize
a deck of cards,
This will be a quick tip on how to use
tf.contrib.gan.estimator.GANEstimator. In my latest projects, I have been using TensorFlow estimators. Estimators allow you to focus more on creating models and wraps the whole training (including saving, exporting, and putting a model in production) into few lines. Recently, I experienced the limits of estimators when I wanted to train a generative adversarial network (GAN) with a combined adversarial loss. In this article, I will show you a little trick how to do that.
Recently, I went through my old Windows setup and I realized how many editors I tried over past years. I was always looking for something that will ultimately improve my programming experience. The obvious answer is that nothing really does. All the fancy futures provided by different editors often turn out to be unnecessary during regular development. Right now I stick to my favourite Spacemacs with Vim keybindings. (and sometimes Visual Studio Code).
Well, well, well…
It has been some time since I wrote the last blog post. And I won’t make the same mistake promising that I will write more. Not like there is nothing happening in my life. I recently finished two online courses and I am going to give you a review of them. Rather there is happening so many things that I just have to put my focus into different things. Or I am just being lazy – pick your excuse.
Here is a quick review of Cryptography and AI online courses
I am not sure if it is the largest pre-college competition, but with the hundreds of students from around the world, the atmosphere of the whole event is simply amazing. At Intel ISEF students get a chance to present their science projects and meet each other. For many people, including me, attending ISEF is a pretty big deal. The prizes are high, the competition has a good recognition, and you just hope that all the hard work finally pays off.
The MOOCs (massive open online courses) are becoming a common thing, yet there are some doubts about them. To date, I’ve fully—with all assignments and exams—completed three courses. Yes, I finished another great course called Introduction to Computational Thinking and Data Science from MIT (on edX). But how to choose suitable courses? And is it worth taking them? And should we purchase the certificates from them?
Updated 6th March 2018: importing operations by name.
There are a lot of great things about TensorFlow. BUT once I figure out how to import my trained model (graph), I wasn’t able to import second model and use it alongside with the first one. The importing is pretty slow and I don’t want to do it more than once. On the other hand, squashing everything into one model seems to me pretty impractical.
In this tutorial, I will show how to save and import TensorFlow model. Even more, how to import multiple models alongside.
A few weeks after releasing my tutorial for installing Jupyter Notebook on Android, I ran into this issue of Matplotlib:
TclError: no display name and $DISPLAY environment variable, whenever I tried to use it in Jupyter Notebook on Android. This problem got me puzzled for a while because I knew it used to work when I was writing the tutorial. Luckily, there is a one-line fix for this issue. So, in case you don’t have time for any other details, just put this line at the beginning of the notebook:
I have worked with Jupyter for a while and I must say that it is a pretty unique experience. The ability to get outputs right away and visualize the data right beneath the code create a great environment for data analysis. And you can also install Vim key binding 😉. But there is even more! There are widgets — buttons, sliders, drop-down menus, and more — that allows interactive interactions and make your code even more fun. For example, I use widgets for creating simple UI for classifying images and creating a data set.
Don’t worry, this blog post will not include any stupidly long and heartbreaking story how I become motivated. Instead, I would like to give you some tips from my personal experience how I stick to my new habits. You may not trust me, but keep in mind that I already successfully completed a few on-line courses and I still take new ones ? (just try to google the completion rate of MOOCs).