mxnet-dataiter
Here is an example of making a Conduit from MNIST dataset.
mnistIter (add @"image" "data/train-images-idx3-ubyte" $
add @"label" "data/train-labels-idx1-ubyte" $
add @"batch_size" 128
nil) :: ConduitData IO (NDArray Float, NDArray Float)
The first argument is provides named parameters for the MXNet Data Iterators. Detailed specification can be
found in MXNet API 's python document.
Below is a snapshot of current support in this package.
type CSVIter_Args =
'[ "data_csv" := String, "data_shape" := [Int], "label_csv" := String, "label_shape" := [Int]
, "batch_size" := Int, "round_batch" := Bool, "prefetch_buffer" := Integer, "dtype" := String]
type MNISTIter_Args =
'[ "image" := String, "label" := String, "batch_size" := Int, "shuffle" := Bool, "flat" := Bool
, "seed" := Int, "silent" := Bool, "num_parts" := Int, "part_index" := Int
, "prefetch_buffer" := Integer, "dtype" := String]
type ImageRecordIter_Args =
'[ "path_imglist" := String, "path_imgrec" := String, "path_imgidx" := String, "aug_seq" := String
, "label_width" := Int, "data_shape" := [Int], "preprocess_threads" := Int, "verbose" := Bool
, "num_parts" := Int, "part_index" := Int, "shuffle_chunk_size" := Integer
, "shuffle_chunk_seed" := Int, "shuffle" := Bool, "seed" := Int, "batch_size" := Int
, "round_batch" := Bool, "prefetch_buffer" := Integer, "dtype" := String, "resize" := Int
, "rand_crop" := Bool, "max_rotate_angle" := Int, "max_aspect_ratio" := Float
, "max_shear_ratio" := Float, "max_crop_size" := Int, "min_crop_size" := Int
, "max_random_scale" := Float, "min_random_scale" := Float, "max_img_size" := Float
, "min_img_size" := Float, "random_h" := Int, "random_s" := Int, "random_l" := Int, "rotate" := Int
, "fill_value" := Int, "inter_method" := Int, "pad" := Int, "mirror" := Bool, "rand_mirror" := Bool
, "mean_img" := String, "mean_r" := Float, "mean_g" := Float, "mean_b" := Float, "mean_a" := Float
, "std_r" := Float, "std_g" := Float, "std_b" := Float, "std_a" := Float, "scale" := Float
, "max_random_contrast" := Float, "max_random_illumination" := Float]
type ImageDetRecordIter_Args =
'[ "path_imglist" := String, "path_imgrec" := String, "aug_seq" := String, "label_width" := Int
, "data_shape" := [Int], "preprocess_threads" := Int, "verbose" := Bool, "num_parts" := Int
, "part_index" := Int, "shuffle_chunk_size" := Integer, "shuffle_chunk_seed" := Int
, "label_pad_width" := Int, "label_pad_value" := Float, "shuffle" := Bool, "seed" := Int
, "batch_size" := Int, "round_batch" := Bool, "prefetch_buffer" := Integer, "dtype" := String
, "resize" := Int, "rand_crop_prob" := Float, "min_crop_scales" := [Float]
, "max_crop_scales" := [Float], "min_crop_aspect_ratios" := [Float]
, "max_crop_aspect_ratios" := [Float], "min_crop_overlaps" := [Float], "max_crop_overlaps" := [Float]
, "min_crop_sample_coverages" := [Float], "max_crop_sample_coverages" := [Float]
, "min_crop_object_coverages" := [Float], "max_crop_object_coverages" := [Float]
, "num_crop_sampler" := Int, "crop_emit_mode" := String, "emit_overlap_thresh" := Float
, "max_crop_trials" := [Int], "rand_pad_prob" := Float, "max_pad_scale" := Float
, "max_random_hue" := Int, "random_hue_prob" := Float, "max_random_saturation" := Int
, "random_saturation_prob" := Float, "max_random_illumination" := Int
, "random_illumination_prob" := Float, "max_random_contrast" := Float, "random_contrast_prob" := Float
, "rand_mirror_prob" := Float, "fill_value" := Int, "inter_method" := Int, "resize_mode" := String
, "mean_img" := String, "mean_r" := Float, "mean_g" := Float, "mean_b" := Float, "mean_a" := Float
, "std_r" := Float, "std_g" := Float, "std_b" := Float, "std_a" := Float, "scale" := Float]
type ImageRecordUInt8Iter_Args =
'[ "path_imglist" := String, "path_imgrec" := String, "path_imgidx" := String, "aug_seq" := String
, "label_width" := Int, "data_shape" := [Int], "preprocess_threads" := Int, "verbose" := Bool
, "num_parts" := Int, "part_index" := Int, "shuffle_chunk_size" := Integer
, "shuffle_chunk_seed" := Int, "shuffle" := Bool, "seed" := Int, "batch_size" := Int
, "round_batch" := Bool, "prefetch_buffer" := Integer, "dtype" := String, "resize" := Int
, "rand_crop" := Bool, "max_rotate_angle" := Int, "max_aspect_ratio" := Float
, "max_shear_ratio" := Float, "max_crop_size" := Int, "min_crop_size" := Int
, "max_random_scale" := Float, "min_random_scale" := Float, "max_img_size" := Float
, "min_img_size" := Float, "random_h" := Int, "random_s" := Int, "random_l" := Int, "rotate" := Int
, "fill_value" := Int, "inter_method" := Int, "pad" := Int]
type LibSVMIter_Args =
'[ "data_libsvm" := String, "data_shape" := [Int], "label_libsvm" := String, "label_shape" := [Int]
, "num_parts" := Int, "part_index" := Int, "batch_size" := Int, "round_batch" := Bool
, "prefetch_buffer" := Integer, "dtype" := String]