Skip to content

Instantly share code, notes, and snippets.

View distributetrainiing.ipynb
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
let testcompare () = Alcotest.(check bool) "Test for weight comparison" true ( [1,2,4] [ 5,6,7] )
let () = "Weights"
("test compare weights of edges", [
Alcotest.test_case "Compare weights" `Quick testcompare;
View dune.lisp
(modules graph)
(name graph)
(name kruskaltest)
(modules kruskaltest)
(libraries alcotest graph))
mohanr /
Created Dec 25, 2019
A minimal Kruskal MST implementation in Ocaml
type edge = ( int * int * int ) list
module type EDGECOMPARE = sig
type t
val compare : 'a list -> 'a list ->bool
module EDGECOMPARE_weight : EDGECOMPARE with type t = edge = struct
type t = edge
let compare l r = ( List.nth l ( List.length l/ 2 )) == ( List.nth r (List.length r/2))
mohanr /
Created May 11, 2018
Softmax using TensorFlow
import tensorflow as tf
import numpy as np
v = tf.constant([1.,-2.,0.5])
tv = tf.convert_to_tensor(v,dtype=np.float32)
with tf.Session() as sess:
x = tf.nn.softmax(tv)
tf.Print(x, [x], message="Softmax")
View simulator.hs
module Simulator where
import Numeric.LinearAlgebra
import Graphics.Matplotlib
import Control.Monad.State
import qualified Data.Map as Map
import Text.Printf
import System.Random
import Control.Monad
import Data.Array
import Data.Foldable
mohanr / ocaml.lisp
Created Dec 5, 2016
OCaml Emacs .emacs
View ocaml.lisp
(load "/home/mohan/.opam/4.02.1/share/emacs/site-lisp/tuareg-site-file")
(let ((opam-share (ignore-errors (car (process-lines "opam" "config" "var"
(when (and opam-share (file-directory-p opam-share))
;; Register Merlin
(add-to-list 'load-path (expand-file-name "emacs/site-lisp" opam-share))
(autoload 'merlin-mode "merlin" nil t nil)
;; Automatically start it in OCaml buffers
mohanr /
Last active Dec 6, 2016
Associative List
let insert l a =
if List.mem_assoc a l
let n = List.assoc a l in (a, n+1)::(List.remove_assoc a l)
else (a, 1)::l
let letters (word : string) : char MultiSet.t =
let rec insert (l : char MultiSet.t) (c : string) (i : int) : char MultiSet.t =
if ( String.length c > 1 ) then
insert ( MultiSet.insert l (String.get c i) ) ( String.sub c 1 ((String.length c) - 1) ) 0
mohanr / gist:9c79ed88b0e88a76b935
Created May 20, 2015
Add text boxes dynamically using AngularJS
View gist:9c79ed88b0e88a76b935
<div ng-app="app" ng-controller="MainCtrl" ng-init="textboxes = ['Text1','Text2','Text3']">
<div ng-repeat="box in textboxes">
<copyoftextbox ng-model="models[$index]" name={{box}} index={{$index}}></copyoftextbox>
var app = angular.module("app", []);
app.controller('MainCtrl', function($scope) {
$scope.models = ['model1','model2','model3'];
mohanr /
Created Jun 6, 2014
CompletableFuture example
import org.apache.http.HttpEntity;
import org.apache.http.client.fluent.Content;
import org.apache.http.client.methods.CloseableHttpResponse;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.CloseableHttpClient;
import org.apache.http.impl.client.HttpClients;