Skip to content

danjust/MLbenchmark

Repository files navigation

MLbenchmark

Tools for benchmarking ML applications on different hardware. Currently only supports tensorflow.

Run the demo in the jupyter notebook or run

python benchmark.py

with the following optional arguments:

Types of benchmarks

--testMatMul (Whether to benchmark matrix multiplication, default False)
--testConv (Whether to benchmark 2D convolution, default False)
--testRNN (Whether to benchmark recurrent neural networks, default False)
--testCNN (Whether to benchmark a cnn training on sythetic data, default False)

General parameters

--num_gpu (Number of GPUs to use, default 1)
--devlist (List of devices to use, overwrites num_gpu if set, default '')
--datatype (Datatype, default float32)

Parameters for matrix multiplication / convolution

--iter (Number of iterations, default 10)
--matsize (Size of each matrix for benchmark, default 1024)
--kernelsize (Size of kernel for benchmarking convolution, default 15)

Parameters for RNNs

--rnn_type (Type of RNN (rnn or lstm), default 'rnn')
--seq_length (Length of sequence, default 50)
--batch_size_rnn (Batch size, default 64)
--num_samples (Total number of samples of length seq_length, default 10000)
--num_units (Number of hidden units, default 32)
--num_classes (Number of target classes, default 10)
--learning_rate (Learning rate, default 0.001)
--iter_rnn (Number of iterations for RNNs, default 10)

Parameters for CNNs

--num_layers_cnn (Number of convolution/pooling layers in CNN, default 3)
--num_features (Vector containing the number of features in each convolutional layer, default [16,64,128])
--kernel_cnn (Vector containing the kernel size in each convolutional layer, default [3,3,3])
--pooling_cnn (Vector containing the size of max pooling in each pooling layer', default [3,3,3])
--num_trainimg (Number of training images, default 100000)
--num_testimg (Number of validation images, default 1000)
--imgsize (Size of (square) images, default 50)
--numsteps_cnn (Number of steps to train CNN, default 500)
--batchsize_cnn (Batch size for training CNN, default 32)
--logstep_cnn (Write log at these steps (0 to disable logging), default 10)

About

Uses basic operations for benchmarking hardware for machine learning applications

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors