Tools for benchmarking ML applications on different hardware. Currently only supports tensorflow.
Run the demo in the jupyter notebook or run
python benchmark.pywith the following optional arguments:
--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)
--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)
--iter (Number of iterations, default 10)
--matsize (Size of each matrix for benchmark, default 1024)
--kernelsize (Size of kernel for benchmarking convolution, default 15)
--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)
--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)