Skip to content

Instantly share code, notes, and snippets.

View adriaciurana's full-sized avatar

Adrià Ciurana Lanau adriaciurana

  • Canva
  • Sydney, NSW, Australia
  • 13:15 (UTC +10:00)
View GitHub Profile
@adriaciurana
adriaciurana / screen_rotate.sh
Last active October 16, 2020 22:31
Rotate Screen between two orientations
#!/bin/bash
DEVICE="HDMI-1"
IS_PRIMARY=`(xrandr --query --verbose | grep "$DEVICE" | cut -d ' ' -f 3)`
if [ "$IS_PRIMARY" == "primary" ]; then
CURRENT_ORIENTATION=`(xrandr --query --verbose | grep "$DEVICE" | cut -d ' ' -f 6)`
else
CURRENT_ORIENTATION=`(xrandr --query --verbose | grep "$DEVICE" | cut -d ' ' -f 5)`
fi
ORIENTATION_1="normal"
@adriaciurana
adriaciurana / MLP_using_only_np.py
Created March 18, 2020 00:19
MLP using only NumPy
import numpy as np
class Optimizer:
def __init__(self, mu=0.9, lr=0.01):
self.cache = {}
self.mu = mu
self.lr = lr
def update(self, name_w, old_w, dw):
if name_w in self.cache:
@adriaciurana
adriaciurana / monitor.txt
Created January 22, 2019 14:07
Articulo Medium: Parte5 monitor
Epoch 50/50
...
2000/2000 [==============================] - 158s 79ms/step - loss: 0.1001 - binary_accuracy: 0.9613 - val_loss: 0.6304 - val_binary_accuracy: 0.8426
@adriaciurana
adriaciurana / get_results.py
Last active January 23, 2019 10:38
Articulo Medium: Parte5d
raw_results = model.predict(images)
results = {}
labels = {0: 'cat', 1: 'dog'}
text_to_show = {'cat': 'meowww', 'dog': 'bupp'}
def drawText(im, text, color):
text_size = cv2.getTextSize(text, cv2.FONT_HERSHEY_SIMPLEX, 1, 2)[0]
text_pos_x = (im.shape[1] - text_size[0]) // 2
text_pos_y = (im.shape[0] + text_size[1]) // 2
@adriaciurana
adriaciurana / load_images.py
Created January 22, 2019 14:01
Articulo Medium: Parte 5c
# Cargamos la imagen/imagenes
if os.path.isdir(args.image):
path_images = []
for ext in ['jpg', 'jpeg', 'tiff', 'png', 'gif']:
path_images += glob.glob(os.path.join(args.image, "*." + ext))
else:
path_images = [args.image]
images = []
for path_im in path_images:
@adriaciurana
adriaciurana / load_mode.py
Created January 22, 2019 13:59
Articulo Medium 5b
# Cargamos el modelo
json_file = open('model.json', 'r')
loaded_model_json = json_file.read()
json_file.close()
model = model_from_json(loaded_model_json)
model.load_weights("model.h5")
@adriaciurana
adriaciurana / parser.py
Created January 22, 2019 13:58
Medium Articulo: Parte 5a
import argparse, keras, os, cv2
from keras.models import model_from_json
parser = argparse.ArgumentParser()
parser.add_argument("image", help="Image or folder of images to predict",
type=str)
args = parser.parse_args()
@adriaciurana
adriaciurana / prediction.py
Created January 22, 2019 13:52
Medium Articulo: Parte 5
import argparse, keras, os
from keras.models import model_from_json
parser = argparse.ArgumentParser()
parser.add_argument("image", help="Image or folder of images to predict",
type=str)
args = parser.parse_args()
# Cargamos el modelo
json_file = open('model.json', 'r')
loaded_model_json = json_file.read()
@adriaciurana
adriaciurana / train.py
Last active January 23, 2019 10:08
Articulo Medium 4
# Usamos fit generator para aprender.
# Definimos 50 epocas y 2000 iteraciones/epoca
# Indicamos que datos usaremos para validar el correcto aprendizaje y diagnostico
model.fit_generator(
train_generator,
steps_per_epoch=2000,
epochs=50,
validation_data=val_generator,
validation_steps=800)
@adriaciurana
adriaciurana / compile.py
Last active January 23, 2019 10:06
Medium Articulo 3
# Usamos el optimizador Adam
# Usamos la loss function binary_crossentropy. Esta es util cuando la red devuelve una probabilidad, es este caso ser perro o ser gato.
model.compile(optimizer='adam', loss='binary_crossentropy', metrics=['binary_accuracy'])
model.summary()