Skip to content

Instantly share code, notes, and snippets.

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

Vladyslav Yazykov elumixor

🏠
Working from home
  • Prague
  • 19:16 (UTC +02:00)
View GitHub Profile
@elumixor
elumixor / Polynomial.h
Last active January 6, 2019 12:27
Generic polynomial class (C++)
//
// Created by Vladyslav Yazykov on 28/12/2018.
//
#ifndef BEZIER_POLYNOMIAL_H
#define BEZIER_POLYNOMIAL_H
#include <cstdlib>
#include <initializer_list>
@elumixor
elumixor / math.h
Created December 29, 2018 15:07
Mathematical functions
//
// Created by Vladyslav Yazykov on 17/12/2018.
//
#include <random>
#include "float.h"
namespace math {
template<int power>
struct TSign {
@elumixor
elumixor / SingletonBehaviour.cs
Created September 19, 2019 12:52
Unity MonoBehaviour Singleton, that is persistent and disallowing duplicates
using UnityEditor;
using UnityEngine;
namespace Shared.SingletonBehaviour {
/// <summary>
/// Singleton is not guaranteed to be initialized at OnValidate and Awake
/// </summary>
/// <typeparam name="T"></typeparam>
[ExecuteInEditMode]
public class SingletonBehaviour<T> : MonoBehaviour where T : SingletonBehaviour<T> {
@elumixor
elumixor / example.py
Created April 27, 2020 18:20
Visualizer for my DLE Assignment 2
from visualizer import visualize
from YOUR_CLASSIFIER import YourClassifier
if __name__ == '__main__':
# Load data
model = G2Model(**data)
sample_size = int(2e4)
training_set = model.generate_sample(sample_size)
import numpy as np
import torch
from torch.utils.data import SubsetRandomSampler, DataLoader
from time import sleep
from IPython.display import clear_output, display
import os
class Trainer:
@elumixor
elumixor / gym_generic_train.py
Last active May 24, 2020 22:27
Medium TRPO Files
from collections import namedtuple
import gym
import torch
env = gym.make('CartPole-v0')
obs_size = env.observation_space.shape[0]
num_actions = env.action_space.n
@elumixor
elumixor / TRPO_actor.py
Created May 24, 2020 22:28
Medium TRPO Actor
import torch.nn as nn
actor_hidden = 32
actor = nn.Sequential(nn.Linear(state_size, actor_hidden),
nn.ReLU(),
nn.Linear(actor_hidden, num_actions),
nn.Softmax(dim=1))
@elumixor
elumixor / TRPO_get_action.py
Created May 24, 2020 22:32
TRPO Get Action
from torch.distributions import Categorical
def get_action(state):
state = torch.tensor(state).float().unsqueeze(0) # Turn state into a batch with a single element
dist = Categorical(actor(state)) # Create a distribution from probabilities for actions
return dist.sample().item()
@elumixor
elumixor / TRPO_critic.py
Created May 24, 2020 22:39
TRPO critic network
# Critic takes a state and returns its values
critic_hidden = 32
critic = nn.Sequential(nn.Linear(obs_shape[0], critic_hidden),
nn.ReLU(),
nn.Linear(critic_hidden, 1))
@elumixor
elumixor / TRPO_critic_update.py
Last active May 24, 2020 22:45
TRPO critic update
from torch.optim import Adam
critic_optimizer = Adam(critic.parameters(), lr=0.005)
def update_critic(advantages):
loss = .5 * (advantages ** 2).mean()
critic_optimizer.zero_grad()
loss.backward()