Skip to content

Instantly share code, notes, and snippets.

View Ending2015a's full-sized avatar
🏠
Working from home

Ending Hsiao Ending2015a

🏠
Working from home
  • NTHU Elsa lab
  • NTHU
View GitHub Profile
@Ending2015a
Ending2015a / transform.py
Created June 5, 2024 11:55
Convert rigid transformations (TRS) from coordinate system A to coordinate system B
# this program demonstrate how to cnoevrt TRS from
# blender's coordinate to Unity's coordinate.
import numpy as np
from scipy.spatial.transform import Rotation
blender_west = [1, 0, 0]
blender_up = [0, 0, 1]
blender_north= [0, -1, 0]
blender_coord = np.array([
@Ending2015a
Ending2015a / group-export.jsx
Created January 21, 2024 09:29
Photopea export all group layers (folders) into separated PNG files.
function GetDocName(){
var split = app.activeDocument.name.split('.');
split.pop();
var docName = split.join(".");
return docName;
}
function SavePNG(saveFile){
@Ending2015a
Ending2015a / plt2np.py
Created July 30, 2022 03:12
Save Matplotlib as numpy array
import matplotlib.pyplot as plt
import io
import numpy as np
import cv2
# === some statistics ===
x1 = np.linspace(0, 10, 100)
y1 = np.sin(x1)
x2 = np.linspace(-1, 1, 100)[:, None]
# --- built in ---
import abc
import math
# --- 3rd party ---
import numpy as np
class SegmentTree(metaclass=abc.ABCMeta):
def __init__(self, size: int):
'''An implementation of segment tree used to efficiently O(logN)
@Ending2015a
Ending2015a / test_enum.py
Last active March 31, 2022 04:11
This file shows how to use a str type enum in Python
import enum
class Reduction(str, enum.Enum):
max = 'max'
min = 'min'
sum = 'sum'
mean = 'mean'
prod = 'prod'
@Ending2015a
Ending2015a / grid_example.py
Created February 1, 2022 05:10
PyTorch 2D affine_grid, grid_sample example
import numpy as np
import cv2
import torch
from torch import nn
import math
a = np.zeros((100, 100, 3), dtype=np.float32)
a[25:75, 25:75] = np.array((1, 1, 1), dtype=np.float32)
cv2.imshow('Source', (a*255).astype(np.uint8))
@Ending2015a
Ending2015a / scatter_nd.py
Created January 21, 2022 09:49
Scatter N-D, PyTorch implementation, this function can be used for Active Neural SLAM to project depth maps to top-down height map
import numpy as np
import torch
from torch import nn
import torch_scatter # pip install torch-scatter
def ravel_index(index, shape):
"""Ravel multi-dimensional indices to 1D index
similar to np.ravel_multi_index
Args:
@Ending2015a
Ending2015a / cartpole.py
Last active September 16, 2021 07:19 — forked from wayne1029jihad/cartpole.py
cartpole.py
import os
import random
import gym
import numpy as np
import pylab
from collections import deque
import pyvirtualdisplay
import cv2
import datetime
@Ending2015a
Ending2015a / show_datetime.py
Last active September 1, 2021 05:14
Python commonly used datetime format
import datetime
print(
datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')
)
# '2021-09-01 13:09:06'
[2021-07-11 04:00:46|MainThread|WARNING|unstable_baselines.recil_lstmx2:train_recil.py:301]: ========================= Hyper Parameters =========================
[2021-07-11 04:00:46|MainThread|WARNING|unstable_baselines.recil_lstmx2:train_recil.py:301]: |------------------------------ ENV -------------------------------|
[2021-07-11 04:00:46|MainThread|WARNING|unstable_baselines.recil_lstmx2:train_recil.py:301]: | env_id: MineRLObtainDiamondVectorObf-v0 |
[2021-07-11 04:00:46|MainThread|WARNING|unstable_baselines.recil_lstmx2:train_recil.py:301]: | record_video: True |
[2021-07-11 04:00:46|MainThread|WARNING|unstable_baselines.recil_lstmx2:train_recil.py:301]: | monitor_dir: train/recil_lstmx2/monitor/ |
[2021-07-11 04:00:46|MainThread|WARNING|unstable_baselines.recil_lstmx2:train_recil.py:301]: | monitor: True |
[2021-07-11 04:00:46|MainThread|WARNING|unstable_bas