Spark in me
2.24K subscribers
760 photos
48 videos
114 files
2.65K links
Lost like tears in rain. DS, ML, a bit of philosophy and math. No bs or ads.
Download Telegram
Yolov3 - best paper.
But not in terms of scientific contribution, but rebuttal of DS community BS.
Very funny read.
- https://pjreddie.com/media/files/papers/YOLOv3.pdf

If you want a proper comparison of object detection algorithms - use this paper https://arxiv.org/abs/1611.10012

Looks like SSD and YOLO are reasonably good and fast, and RCNN can be properly tuned to be 3-5x slower (not 100x) and more accurate.

#data_science
#computer_vision
DS Bowl 2018 stage 2 data was released.
It has completely different distribution from stage 1 data.
How do you like them, apples?

Looks like Kaggle admins really have no idea about dataset curation, or all of this is mean to misguide manual annotators.

Anyway - looks like random bs.

#data_science
#deep_learning
So I briefly dug into running a containerized GPU accelerated GUI app (I want to be able to run some apps I do not really want on my host).

Docker kind of works for this purpose, but I found working guides for nvidia-docker, not nvidia-docker2.

Looks like if you want to run a Linux host with a Linux container - then LXD is a good option. It is high level and seems to have an easy API to use. I will report if that will work for me.

- Guide https://blog.simos.info/how-to-run-graphics-accelerated-gui-apps-in-lxd-containers-on-your-ubuntu-desktop/
- LXD vs Docker https://unix.stackexchange.com/questions/254956/what-is-the-difference-between-docker-lxd-and-lxc/254982
- Extensive LXD tutorial https://stgraber.org/2016/03/11/lxd-2-0-introduction-to-lxd-112/

#linux
So, usually I try to stay away from such controversial topics, but I have to address and elephant in the room. You all know, that originally I am from Russia and I have quite liberal world views.

Seeing that many people start to ride the hype and advertising some expensive "solutions", this is why today I decided to do a post about creating your own SOCK5 proxy server via a droplet on Digital Ocean:
- Post - https://spark-in.me/post/vds-socks5-proxy-server - note that unlike my other posts - this one is a step-by-step explanation;
- It explains how to create your own SOCK5 proxy-server using Ubuntu and Digital Ocean with dante;
- The cheapest digital ocean droplet is US$5 per month (you can find such droplets for as low as US$2-3 with inferior service);
- If you use my referral link - you will get US$10 for free - https://m.do.co/c/6f8e77dddc23
- Also you can create credentials for your friends and family;

Also note, that foreseeing this s**t - I created aliases for our telegram channel
- In twitter https://twitter.com/AlexanderVeysov
- In the web http://snakers41.spark-in.me
- RSS http://snakers41.spark-in.me/rss/

UX is not so great, but it works more or less. Please tell me what you think. I know that the majority of readers are Russians and we have quite a negative mentality, but this is one of the cases when you have to share this message and my post as much as possible. We will be doing an adapted post on habrhabr.ru as well.

And I know that there are free proxy lists. But if you create a simple service today - tomorrow you can add layers to it (see some hints in the article) and not rely on other people.

If you like what I shared - please support our channel (see a pinned message)
- https://buymeacoff.ee/8oneCIN

#internet
#digital_freedom
What proxy will you use?

Luckily, it does not apply to me – 18
👍👍👍👍👍👍👍 26%

Other VPN-like solutions – 17
👍👍👍👍👍👍👍 25%

I will try your guide – 15
👍👍👍👍👍👍 22%

A free / public / provided by special channels – 15
👍👍👍👍👍👍 22%

I will stop using Telegram – 2
👍 3%

Let's wait, maybe they will reconsider – 1
▫️ 1%

👥 68 people voted so far.
So, I just found out that Firefox rendering engine was rewritten, now it boasts the fastest speeds and support for ... socks5 proxies, both on mobile and desktop.
- https://github.com/FelisCatus/SwitchyOmega/
- https://hacks.mozilla.org/2017/08/inside-a-super-fast-css-engine-quantum-css-aka-stylo/

Also projects like orbot+orfox help in more extreme cases.

#internet
Out post is live on Russian reddit - geektimes
- https://geektimes.ru/post/299971/

Please support if you have a valid account!

#internet
So, I used to use Chromium based Opera.
Now I switched to the new Firefox, which is fast, boasts a lot of security extensions and looks also clean and nice. Their mobile apps are a bit unpolished, but also good.

Looks like the rewrote rendering from scratch - because a year ago it was slow.
2018 DS/ML digest 8

As usual my short bi-weekly (or less) digest of everything that passed my BS detector

Market / blog posts

(0) Fast.ai about the importance of accessibility in ML - http://www.fast.ai/2018/04/10/stanford-salon/
(1) Some interesting news about market, mostly self-driving cars (the rest is crap) - https://goo.gl/VKLf48
(2) US$600m investment into Chinese face recognition - https://goo.gl/U4k2Mg

Libraries / frameworks / tools

(0) New 5 point face detector in Dlib for face alignment task - https://goo.gl/T73nHV
(1) Finally a more proper comparsion of XGB / LightGBM / CatBoost - https://goo.gl/AcszWZ (also see my thoughts here https://t.me/snakers4/1840)
(3) CNNs on FPGAs by ZFTurbo
-- https://www.youtube.com/watch?v=Lhnf596o0cc
-- https://github.com/ZFTurbo/Verilog-Generator-of-Neural-Net-Digit-Detector-for-FPGA
(4) Data version control - looks cool
-- https://dataversioncontrol.com
-- https://goo.gl/kx6Qdf
-- but I will not use it - becasuse proper logging and treating data as immutable solves the issue
-- looks like over-engineering for the sake of overengineering (unless you create 100500 datasets per day)

Visualizations

(0) TF Playground to seed how simplest CNNs work - https://goo.gl/cu7zTm

Applications

(0) Looks like GAN + ResNet + Unet + content loss - can easily solve simpler tasks like deblurring https://goo.gl/aviuNm
(1) You can apply dilated convolutions to NLP tasks - https://habrahabr.ru/company/ods/blog/353060/
(2) High level overview of face detection in ok.ru - https://goo.gl/fDUXa2
(3) Alternatives to DWT and Mask-RCNN / RetinaNet? https://medium.com/@barvinograd1/instance-embedding-instance-segmentation-without-proposals-31946a7c53e1
- Has anybody tried anything here?


Papers

(0) A more disciplined approach to training CNNs - https://arxiv.org/abs/1803.09820 (LR regime, hyper param fitting etc)
(1) GANS for iamge compression - https://arxiv.org/pdf/1804.02958.pdf
(2) Paper reviews from ODS - mostly moonshots, but some are interesting
-- https://habrahabr.ru/company/ods/blog/352508/
-- https://habrahabr.ru/company/ods/blog/352518/
(3) SqueezeNext - the new SqueezeNet - https://arxiv.org/abs/1803.10615

#digest
#data_science
#deep_learning
A DISCIPLINED APPROACH TO NEURAL NETWORK HYPER-PARAMETERS: PART 1 – LEARNING RATE, BATCH SIZE, MOMENTUM, AND WEIGHT DECAY

(0) https://arxiv.org/abs/1803.09820, Leslie N. Smith US Naval Research Laboratory
(1) Will serve as a good intuition starter if you have little experience (!)
(2) Some nice ideas:
- The test/validation loss is a good indicator of the network’s convergence - especially in early epochs
- The amount of regularization must be balanced for each dataset and architecture
- The practitioner’s goal is obtaining the highest performance while minimizing the needed computational time
(smaller batch - less stability and faster convergence)
- Optimal momentum value(s) will improve network training
(3) The author does not study the difference between SGD and Adam in depth =( Adam kind of solves much of his pains
(4) In my practice the following approach works best:
- Aggressive training with Adam to find the optimal LR
- Apply various LR decay regimes to determine the optimal
- Use low LR or CLR in the end to converge to a lower value (possible overfitting)
- Test on test / delayed test end-to-end
- In my experience - a strong model with good params will start with test/val set loss much lower / target metric much higher than on the train set
- In some applications if your CNN is memory intesive - you just opt for the largest batch possible (usually >6-8 works)
- Also there is no mention of augmentations - they usually help reduce overfitting much better than hyper parameters

#deep_learning
A draft of the article about DS Bowl 2018 on Kaggle.
This time this was a lottery.

Good that I did not really spend much time, but this time I learned a lot about watershed and some other instance segmentation methods!

An article is accompanied by a dockerized PyTorch code release on GitHub:
- https://spark-in.me/post/playing-with-dwt-and-ds-bowl-2018
- https://github.com/snakers4/ds_bowl_2018

This is a beta, you are welcome to comment and respond.
Kudos!

#data_science
#deep_learning
#instance_se
Also what is interesting, despite the fact that geektimes blocked my SOCKS proxy post and the fact that marketing based web-sites stole it (in Russian), I received the following feedback:
- 3 people thanked me in the ODS channel
- 3 people thanked me via email
- 2 people thanked me in geektimes PM

Also this is also interesting - my referral link was hit 165 times and ~50 people registered =)
- http://prntscr.com/j69w85

So if you missed the fun
- Post https://spark-in.me/post/vds-socks5-proxy-server
- Referral link https://m.do.co/c/6f8e77dddc23
- Note that the final config is in the comments and here (thanks to https://t.me/bykvaadm and its admin)


sudo apt update && apt upgrade

wget https://launchpad.net/ubuntu/+archive/primary/+files/dante-server_1.4.2+dfsg-2build1_amd64.deb
dpkg -i dante-server_1.4.2+dfsg-2build1_amd64.deb
echo '
logoutput: syslog /var/log/danted.log
internal: eth0 port = 1080
external: eth0

socksmethod: username
user.privileged: root
user.unprivileged: nobody

client pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
log: error
}

socks pass {
from: 0.0.0.0/0 to: 0.0.0.0/0
command: connect
log: error
socksmethod: username
}' > /etc/danted.conf

# basic ufw installation
sudo apt-get install ufw
sudo ufw status
# https://wiki.dieg.info/socks
sudo ufw allow ssh
sudo ufw allow proto tcp from any to any port 1080
sudo ufw status numbered
sudo ufw enable

sudo systemctl enable danted

sudo useradd --shell /usr/sbin/nologin av_socks && sudo passwd av_socks

So, thanks to bykvaadm for his feedback and support and to everybody else.

#linux
Also someone just bought us a coffee
- https://www.buymeacoffee.com/8oneCIN

Please consider supporting us for more quality content

Usually it takes several hours (to a month if it is about a competition) to write and does not pay well

And when people steal your content to put their refcodes in it, it's painful (
This is really interesting...their approach to separation is cool