Skip to content

Instantly share code, notes, and snippets.

View DuaneNielsen's full-sized avatar
👾
Happy!

Duane DuaneNielsen

👾
Happy!
View GitHub Profile
@DuaneNielsen
DuaneNielsen / torch_autograd_viz.cpp
Created October 4, 2020 00:29
Example of creating dot file of libtorch computation graph in c++
//
// Created by duane on 10/2/20.
//
#include <torch/torch.h>
int main(int arg, char *argv[]){
auto x = torch::randn(3, torch::requires_grad());
auto z = torch::randn(3, torch::requires_grad());
@DuaneNielsen
DuaneNielsen / CMakeLists.txt
Created September 19, 2020 01:31
ROS_Tutorial
cmake_minimum_required(VERSION 3.5)
project(ros2_cpp_pkg)
# Default to C99
if(NOT CMAKE_C_STANDARD)
set(CMAKE_C_STANDARD 99)
endif()
# Default to C++14
if(NOT CMAKE_CXX_STANDARD)
from vpython import sphere, vector, rate, color, arrow, canvas, cross, triangle, vertex
from math import sqrt
G = 6.67e-11 # N kg^-2 m^2
au = 1.495978707e11
day = 60 * 60 * 24
year = day * 365.25
earth_mass = 5.972e24 # kg
import glfw
from OpenGL.GL import *
from OpenGL.GL.shaders import compileProgram, compileShader
import numpy as np
import pyrr
def init_window(width, height, title="My OpenGL window"):
# initializing glfw library
if not glfw.init():
@DuaneNielsen
DuaneNielsen / em_algo_2D.py
Created January 19, 2020 00:37
Expectation Max algo Pytorch
import torch
from torch import tensor
from torch.distributions.multivariate_normal import MultivariateNormal
import matplotlib.pyplot as plt
from matplotlib.patches import Ellipse
import matplotlib.patches as mpatches
from math import acos, degrees
from matplotlib.pyplot import cm
"""
@DuaneNielsen
DuaneNielsen / batched_normal_distributions.py
Created January 16, 2020 21:09
Constructing batched distributions from data in pytorch and sampling from them
import torch
from torch.distributions.normal import Normal
from torch.distributions.multivariate_normal import MultivariateNormal
"""
Example of computing c batched Normal and Multivariate distributions from data
and sampling batches from them
"""
@DuaneNielsen
DuaneNielsen / em_algo.py
Created January 15, 2020 05:53
EM algorithm - 1D Uses logprob bayes update for numerical stability
import torch
from torch.distributions.normal import Normal
import matplotlib.pyplot as plt
"""
EM algo demo, in pytorch
"""
n = 40 # must be even number
@DuaneNielsen
DuaneNielsen / bayesian_update.py
Created January 14, 2020 20:28
Hypothesis testing using Bayesian inferance.
import torch
from torch.distributions.normal import Normal
import matplotlib.pyplot as plt
"""
Using Bayes to estimate the relative probability of 2 Hypotheses given the value of a single data point
Both hypothesis given equal prior probability of being correct
"""
@DuaneNielsen
DuaneNielsen / plot_multivariate_normal.py
Created January 13, 2020 22:14
Example of plotting MV Norm distribution in Pytorch
import torch
from torch.distributions.normal import Normal
from torch.distributions.multivariate_normal import MultivariateNormal
import matplotlib.pyplot as plt
from mpl_toolkits.mplot3d import Axes3D
d = Normal(0.0, 1.0)
x = torch.linspace(-4, 4.0, 50)
y = torch.exp(d.log_prob(x))
plt.plot(x, y)
@DuaneNielsen
DuaneNielsen / mp_scratch.py
Created January 13, 2020 20:01
Multiprocessing in python
import multiprocessing as mp
import os
import numpy as np
import multiprocessing.spawn
def info(title):
print(title)
print('module name:', __name__)
print('parent process:', os.getppid())
print('process id:', os.getpid())