Skip to content

Instantly share code, notes, and snippets.

# Bootstrap AWS Deep Learning Base AMI (Ubuntu 18.04)
# install Ruby
sudo snap install ruby --classic
# install LibTorch
wget -O libtorch.zip https://download.pytorch.org/libtorch/cu102/libtorch-cxx11-abi-shared-with-deps-1.7.0.zip
unzip libtorch.zip
# download
@ankane
ankane / f1_score.rb
Created December 11, 2011 17:41
Calculates F1 score
# http://en.wikipedia.org/wiki/F1_score
# true positives, false positives, false negatives
def f1_score(tp, fp, fn)
precision = tp / (tp + fp).to_f
recall = tp / (tp + fn).to_f
2.0 * precision * recall / (precision + recall)
end
1 3.7 1.2 7.2 9
1 7.5 0.5 7.9 0
1 1.6 0.1 7.6 7
0 0.6 2.5 5.0 4
1 1.8 8.4 1.1 2
2 6.8 8.7 8.7 9
2 9.4 9.6 8.6 9
1 0.9 0.7 6.3 6
0 5.7 0.1 0.0 1
1 0.8 8.8 1.3 3
# https://github.com/onnx/models/tree/master/vision/body_analysis/emotion_ferplus
require "onnxruntime"
require "mini_magick"
img = MiniMagick::Image.open("ranger.jpg")
img.crop "100x100+60+20", "-gravity", "center"
img.resize "64x64^", "-gravity", "center", "-extent", "64x64"
img.colorspace "Gray"
img.write("resized.jpg")
require "onnxruntime"
require "mini_magick"
require "numo/narray"
img = MiniMagick::Image.open("images/32576677167_a066c5a7aa_z.jpg")
img.resize "448x448^", "-gravity", "center", "-extent", "448x448"
pixels = Numo::NArray[*img.get_pixels]
pixels = pixels.transpose(2, 0, 1)
pixels = pixels.expand_dims(0)

Devise email change notifications with encrypted attributes in Rails 5.2

Add to the Devise initializer:

config.send_email_changed_notification = true

Use this PR for attr_encrypted

#include <stdio.h>
#include <inttypes.h>
#include <math.h>
// Function, which calculates N, p and r from opslimit and memslimit copied from
// libsodium/crypto_pwhash/scryptsalsa208sha256/pwhash_scryptsalsa208sha256.c
int pickparams(unsigned long long opslimit, const size_t memlimit,
uint32_t *const N_log2, uint32_t *const p, uint32_t *const r) {
unsigned long long maxN;
unsigned long long maxrp;
-- median
-- http://www.postgresonline.com/journal/archives/67-Build-Median-Aggregate-Function-in-SQL.html
CREATE OR REPLACE FUNCTION array_median(numeric[])
RETURNS numeric AS
$$
SELECT CASE
WHEN array_upper($1,1) = 0 THEN null
WHEN mod(array_upper($1,1),2) = 1 THEN asorted[ceiling(array_upper(asorted,1)/2.0)]
ELSE ((asorted[ceiling(array_upper(asorted,1)/2.0)] + asorted[ceiling(array_upper(asorted,1)/2.0)+1])/2.0) END
@ankane
ankane / map.html.slim
Created March 29, 2013 07:09
Super-simple Google Maps
= javascript_include_tag "http://maps.googleapis.com/maps/api/js?sensor=false"
#map style="height: 500px;"
javascript:
var pings = #{@pings.to_json(root: false).html_safe};
$(document).ready( function() {
var mapOptions = {
zoom: 13,
@ankane
ankane / README.md
Last active December 14, 2015 03:39 — forked from panthomakos/benchmark.rb

Benchmark Bundler

Because loading gems can take longer than you think

Now available as a gem - get it here