mlpack 4.6.2__cp38-cp38-win_amd64.whl → 4.7.0__cp38-cp38-win_amd64.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- mlpack/__init__.py +3 -3
- mlpack/adaboost_classify.cp38-win_amd64.pyd +0 -0
- mlpack/adaboost_probabilities.cp38-win_amd64.pyd +0 -0
- mlpack/adaboost_train.cp38-win_amd64.pyd +0 -0
- mlpack/approx_kfn.cp38-win_amd64.pyd +0 -0
- mlpack/arma_numpy.cp38-win_amd64.pyd +0 -0
- mlpack/bayesian_linear_regression.cp38-win_amd64.pyd +0 -0
- mlpack/cf.cp38-win_amd64.pyd +0 -0
- mlpack/dbscan.cp38-win_amd64.pyd +0 -0
- mlpack/decision_tree.cp38-win_amd64.pyd +0 -0
- mlpack/det.cp38-win_amd64.pyd +0 -0
- mlpack/emst.cp38-win_amd64.pyd +0 -0
- mlpack/fastmks.cp38-win_amd64.pyd +0 -0
- mlpack/gmm_generate.cp38-win_amd64.pyd +0 -0
- mlpack/gmm_probability.cp38-win_amd64.pyd +0 -0
- mlpack/gmm_train.cp38-win_amd64.pyd +0 -0
- mlpack/hmm_generate.cp38-win_amd64.pyd +0 -0
- mlpack/hmm_loglik.cp38-win_amd64.pyd +0 -0
- mlpack/hmm_train.cp38-win_amd64.pyd +0 -0
- mlpack/hmm_viterbi.cp38-win_amd64.pyd +0 -0
- mlpack/hoeffding_tree.cp38-win_amd64.pyd +0 -0
- mlpack/image_converter.cp38-win_amd64.pyd +0 -0
- mlpack/include/mlpack/base.hpp +1 -0
- mlpack/include/mlpack/core/arma_extend/find_nan.hpp +63 -0
- mlpack/include/mlpack/core/cereal/low_precision.hpp +48 -0
- mlpack/include/mlpack/core/cv/cv_base.hpp +11 -11
- mlpack/include/mlpack/core/cv/cv_base_impl.hpp +7 -7
- mlpack/include/mlpack/core/cv/k_fold_cv.hpp +4 -4
- mlpack/include/mlpack/core/cv/k_fold_cv_impl.hpp +4 -4
- mlpack/include/mlpack/core/cv/meta_info_extractor.hpp +10 -10
- mlpack/include/mlpack/core/cv/metrics/f1_impl.hpp +1 -1
- mlpack/include/mlpack/core/cv/metrics/facilities.hpp +2 -1
- mlpack/include/mlpack/core/cv/metrics/precision_impl.hpp +1 -1
- mlpack/include/mlpack/core/cv/metrics/r2_score_impl.hpp +1 -1
- mlpack/include/mlpack/core/cv/metrics/silhouette_score_impl.hpp +1 -1
- mlpack/include/mlpack/core/cv/simple_cv.hpp +4 -4
- mlpack/include/mlpack/core/cv/simple_cv_impl.hpp +2 -2
- mlpack/include/mlpack/core/data/binarize.hpp +0 -2
- mlpack/include/mlpack/core/data/check_categorical_param.hpp +0 -2
- mlpack/include/mlpack/core/data/combine_options.hpp +151 -0
- mlpack/include/mlpack/core/data/confusion_matrix.hpp +0 -2
- mlpack/include/mlpack/core/data/confusion_matrix_impl.hpp +0 -2
- mlpack/include/mlpack/core/data/data.hpp +6 -4
- mlpack/include/mlpack/core/data/data_options.hpp +341 -18
- mlpack/include/mlpack/core/data/dataset_mapper.hpp +3 -5
- mlpack/include/mlpack/core/data/dataset_mapper_impl.hpp +0 -2
- mlpack/include/mlpack/core/data/detect_file_type.hpp +34 -5
- mlpack/include/mlpack/core/data/detect_file_type_impl.hpp +185 -11
- mlpack/include/mlpack/core/data/extension.hpp +2 -4
- mlpack/include/mlpack/core/data/font8x8_basic.h +152 -0
- mlpack/include/mlpack/core/data/has_serialize.hpp +0 -2
- mlpack/include/mlpack/core/data/image_bounding_box.hpp +36 -0
- mlpack/include/mlpack/core/data/image_bounding_box_impl.hpp +155 -0
- mlpack/include/mlpack/core/data/image_layout.hpp +63 -0
- mlpack/include/mlpack/core/data/image_layout_impl.hpp +75 -0
- mlpack/include/mlpack/core/data/image_letterbox.hpp +116 -0
- mlpack/include/mlpack/core/data/image_options.hpp +257 -0
- mlpack/include/mlpack/core/data/image_resize_crop.hpp +113 -48
- mlpack/include/mlpack/core/data/imputation_methods/custom_imputation.hpp +16 -32
- mlpack/include/mlpack/core/data/imputation_methods/listwise_deletion.hpp +19 -29
- mlpack/include/mlpack/core/data/imputation_methods/mean_imputation.hpp +113 -44
- mlpack/include/mlpack/core/data/imputation_methods/median_imputation.hpp +44 -43
- mlpack/include/mlpack/core/data/imputer.hpp +41 -49
- mlpack/include/mlpack/core/data/is_naninf.hpp +0 -2
- mlpack/include/mlpack/core/data/load.hpp +49 -233
- mlpack/include/mlpack/core/data/load_arff.hpp +0 -2
- mlpack/include/mlpack/core/data/load_arff_impl.hpp +2 -4
- mlpack/include/mlpack/core/data/load_categorical.hpp +1 -4
- mlpack/include/mlpack/core/data/load_categorical_impl.hpp +10 -26
- mlpack/include/mlpack/core/data/load_dense.hpp +279 -0
- mlpack/include/mlpack/core/data/load_deprecated.hpp +466 -0
- mlpack/include/mlpack/core/data/load_image.hpp +71 -43
- mlpack/include/mlpack/core/data/load_impl.hpp +95 -274
- mlpack/include/mlpack/core/data/load_model.hpp +62 -0
- mlpack/include/mlpack/core/data/load_numeric.hpp +124 -87
- mlpack/include/mlpack/core/data/load_sparse.hpp +91 -0
- mlpack/include/mlpack/core/data/map_policies/datatype.hpp +0 -2
- mlpack/include/mlpack/core/data/map_policies/increment_policy.hpp +0 -2
- mlpack/include/mlpack/core/data/map_policies/map_policies.hpp +0 -1
- mlpack/include/mlpack/core/data/matrix_options.hpp +152 -20
- mlpack/include/mlpack/core/data/normalize_labels.hpp +0 -2
- mlpack/include/mlpack/core/data/normalize_labels_impl.hpp +0 -2
- mlpack/include/mlpack/core/data/one_hot_encoding.hpp +2 -4
- mlpack/include/mlpack/core/data/one_hot_encoding_impl.hpp +3 -5
- mlpack/include/mlpack/core/data/save.hpp +26 -120
- mlpack/include/mlpack/core/data/save_dense.hpp +42 -0
- mlpack/include/mlpack/core/data/save_deprecated.hpp +308 -0
- mlpack/include/mlpack/core/data/save_image.hpp +82 -42
- mlpack/include/mlpack/core/data/save_impl.hpp +60 -245
- mlpack/include/mlpack/core/data/save_matrix.hpp +45 -0
- mlpack/include/mlpack/core/data/save_model.hpp +61 -0
- mlpack/include/mlpack/core/data/save_numeric.hpp +60 -0
- mlpack/include/mlpack/core/data/save_sparse.hpp +44 -0
- mlpack/include/mlpack/core/data/scaler_methods/max_abs_scaler.hpp +0 -2
- mlpack/include/mlpack/core/data/scaler_methods/mean_normalization.hpp +2 -4
- mlpack/include/mlpack/core/data/scaler_methods/min_max_scaler.hpp +0 -2
- mlpack/include/mlpack/core/data/scaler_methods/pca_whitening.hpp +1 -3
- mlpack/include/mlpack/core/data/scaler_methods/standard_scaler.hpp +2 -4
- mlpack/include/mlpack/core/data/scaler_methods/zca_whitening.hpp +0 -2
- mlpack/include/mlpack/core/data/split_data.hpp +6 -8
- mlpack/include/mlpack/core/data/string_algorithms.hpp +0 -2
- mlpack/include/mlpack/core/data/string_encoding.hpp +0 -2
- mlpack/include/mlpack/core/data/string_encoding_dictionary.hpp +0 -2
- mlpack/include/mlpack/core/data/string_encoding_impl.hpp +0 -2
- mlpack/include/mlpack/core/data/string_encoding_policies/bag_of_words_encoding_policy.hpp +0 -2
- mlpack/include/mlpack/core/data/string_encoding_policies/dictionary_encoding_policy.hpp +0 -2
- mlpack/include/mlpack/core/data/string_encoding_policies/policy_traits.hpp +0 -2
- mlpack/include/mlpack/core/data/string_encoding_policies/tf_idf_encoding_policy.hpp +0 -2
- mlpack/include/mlpack/core/data/text_options.hpp +91 -53
- mlpack/include/mlpack/core/data/tokenizers/char_extract.hpp +0 -2
- mlpack/include/mlpack/core/data/tokenizers/split_by_any_of.hpp +0 -2
- mlpack/include/mlpack/core/distributions/gamma_distribution_impl.hpp +4 -4
- mlpack/include/mlpack/core/distributions/laplace_distribution.hpp +9 -9
- mlpack/include/mlpack/core/distributions/laplace_distribution_impl.hpp +7 -7
- mlpack/include/mlpack/core/hpt/cv_function.hpp +2 -2
- mlpack/include/mlpack/core/hpt/cv_function_impl.hpp +2 -2
- mlpack/include/mlpack/core/hpt/hpt.hpp +4 -4
- mlpack/include/mlpack/core/hpt/hpt_impl.hpp +9 -9
- mlpack/include/mlpack/core/math/make_alias.hpp +7 -5
- mlpack/include/mlpack/core/math/random.hpp +19 -5
- mlpack/include/mlpack/core/math/shuffle_data.hpp +79 -245
- mlpack/include/mlpack/core/metrics/non_maximal_suppression_impl.hpp +9 -10
- mlpack/include/mlpack/core/stb/bundled/stb_image_resize2.h +291 -239
- mlpack/include/mlpack/core/tree/binary_space_tree/rp_tree_mean_split_impl.hpp +7 -7
- mlpack/include/mlpack/core/tree/cellbound.hpp +2 -2
- mlpack/include/mlpack/core/tree/cosine_tree/cosine_tree_impl.hpp +10 -10
- mlpack/include/mlpack/core/tree/octree/octree.hpp +10 -0
- mlpack/include/mlpack/core/tree/octree/octree_impl.hpp +14 -4
- mlpack/include/mlpack/core/util/arma_traits.hpp +25 -38
- mlpack/include/mlpack/core/util/coot_traits.hpp +97 -0
- mlpack/include/mlpack/core/util/forward.hpp +0 -2
- mlpack/include/mlpack/core/util/param.hpp +4 -4
- mlpack/include/mlpack/core/util/params_impl.hpp +2 -2
- mlpack/include/mlpack/core/util/using.hpp +29 -2
- mlpack/include/mlpack/core/util/version.hpp +5 -3
- mlpack/include/mlpack/core/util/version_impl.hpp +3 -6
- mlpack/include/mlpack/methods/adaboost/adaboost_classify_main.cpp +1 -1
- mlpack/include/mlpack/methods/adaboost/adaboost_main.cpp +3 -3
- mlpack/include/mlpack/methods/adaboost/adaboost_train_main.cpp +2 -2
- mlpack/include/mlpack/methods/ann/activation_functions/activation_functions.hpp +1 -0
- mlpack/include/mlpack/methods/ann/activation_functions/bipolar_sigmoid_function.hpp +6 -4
- mlpack/include/mlpack/methods/ann/activation_functions/elish_function.hpp +17 -12
- mlpack/include/mlpack/methods/ann/activation_functions/elliot_function.hpp +9 -7
- mlpack/include/mlpack/methods/ann/activation_functions/gaussian_function.hpp +7 -6
- mlpack/include/mlpack/methods/ann/activation_functions/gelu_exact_function.hpp +73 -0
- mlpack/include/mlpack/methods/ann/activation_functions/gelu_function.hpp +27 -16
- mlpack/include/mlpack/methods/ann/activation_functions/hard_sigmoid_function.hpp +8 -6
- mlpack/include/mlpack/methods/ann/activation_functions/hard_swish_function.hpp +6 -4
- mlpack/include/mlpack/methods/ann/activation_functions/hyper_sinh_function.hpp +13 -8
- mlpack/include/mlpack/methods/ann/activation_functions/identity_function.hpp +6 -4
- mlpack/include/mlpack/methods/ann/activation_functions/inverse_quadratic_function.hpp +8 -6
- mlpack/include/mlpack/methods/ann/activation_functions/lisht_function.hpp +7 -5
- mlpack/include/mlpack/methods/ann/activation_functions/logistic_function.hpp +14 -12
- mlpack/include/mlpack/methods/ann/activation_functions/mish_function.hpp +7 -5
- mlpack/include/mlpack/methods/ann/activation_functions/multi_quadratic_function.hpp +6 -4
- mlpack/include/mlpack/methods/ann/activation_functions/poisson1_function.hpp +4 -2
- mlpack/include/mlpack/methods/ann/activation_functions/quadratic_function.hpp +6 -4
- mlpack/include/mlpack/methods/ann/activation_functions/rectifier_function.hpp +10 -10
- mlpack/include/mlpack/methods/ann/activation_functions/silu_function.hpp +10 -8
- mlpack/include/mlpack/methods/ann/activation_functions/softplus_function.hpp +12 -9
- mlpack/include/mlpack/methods/ann/activation_functions/softsign_function.hpp +15 -23
- mlpack/include/mlpack/methods/ann/activation_functions/spline_function.hpp +9 -7
- mlpack/include/mlpack/methods/ann/activation_functions/swish_function.hpp +11 -9
- mlpack/include/mlpack/methods/ann/activation_functions/tanh_exponential_function.hpp +9 -7
- mlpack/include/mlpack/methods/ann/activation_functions/tanh_function.hpp +10 -7
- mlpack/include/mlpack/methods/ann/ann.hpp +3 -0
- mlpack/include/mlpack/methods/ann/convolution_rules/base_convolution.hpp +197 -0
- mlpack/include/mlpack/methods/ann/convolution_rules/convolution_rules.hpp +1 -2
- mlpack/include/mlpack/methods/ann/convolution_rules/im2col_convolution.hpp +215 -0
- mlpack/include/mlpack/methods/ann/convolution_rules/naive_convolution.hpp +109 -154
- mlpack/include/mlpack/methods/ann/dag_network.hpp +728 -0
- mlpack/include/mlpack/methods/ann/dag_network_impl.hpp +1640 -0
- mlpack/include/mlpack/methods/ann/dists/bernoulli_distribution_impl.hpp +1 -1
- mlpack/include/mlpack/methods/ann/dists/normal_distribution_impl.hpp +7 -2
- mlpack/include/mlpack/methods/ann/ffn.hpp +39 -3
- mlpack/include/mlpack/methods/ann/ffn_impl.hpp +14 -32
- mlpack/include/mlpack/methods/ann/init_rules/const_init.hpp +4 -4
- mlpack/include/mlpack/methods/ann/init_rules/gaussian_init.hpp +6 -2
- mlpack/include/mlpack/methods/ann/init_rules/he_init.hpp +4 -2
- mlpack/include/mlpack/methods/ann/init_rules/kathirvalavakumar_subavathi_init.hpp +3 -3
- mlpack/include/mlpack/methods/ann/init_rules/lecun_normal_init.hpp +4 -2
- mlpack/include/mlpack/methods/ann/init_rules/nguyen_widrow_init.hpp +2 -2
- mlpack/include/mlpack/methods/ann/init_rules/oivs_init.hpp +2 -2
- mlpack/include/mlpack/methods/ann/init_rules/orthogonal_init.hpp +2 -2
- mlpack/include/mlpack/methods/ann/init_rules/random_init.hpp +8 -4
- mlpack/include/mlpack/methods/ann/layer/adaptive_max_pooling.hpp +21 -23
- mlpack/include/mlpack/methods/ann/layer/adaptive_max_pooling_impl.hpp +15 -15
- mlpack/include/mlpack/methods/ann/layer/adaptive_mean_pooling.hpp +21 -23
- mlpack/include/mlpack/methods/ann/layer/adaptive_mean_pooling_impl.hpp +16 -16
- mlpack/include/mlpack/methods/ann/layer/add.hpp +18 -18
- mlpack/include/mlpack/methods/ann/layer/add_impl.hpp +13 -13
- mlpack/include/mlpack/methods/ann/layer/add_merge.hpp +19 -18
- mlpack/include/mlpack/methods/ann/layer/add_merge_impl.hpp +13 -13
- mlpack/include/mlpack/methods/ann/layer/alpha_dropout.hpp +17 -16
- mlpack/include/mlpack/methods/ann/layer/alpha_dropout_impl.hpp +14 -13
- mlpack/include/mlpack/methods/ann/layer/base_layer.hpp +28 -51
- mlpack/include/mlpack/methods/ann/layer/batch_norm.hpp +16 -18
- mlpack/include/mlpack/methods/ann/layer/batch_norm_impl.hpp +55 -54
- mlpack/include/mlpack/methods/ann/layer/c_relu.hpp +18 -20
- mlpack/include/mlpack/methods/ann/layer/c_relu_impl.hpp +20 -25
- mlpack/include/mlpack/methods/ann/layer/celu.hpp +14 -19
- mlpack/include/mlpack/methods/ann/layer/celu_impl.hpp +25 -34
- mlpack/include/mlpack/methods/ann/layer/concat.hpp +18 -18
- mlpack/include/mlpack/methods/ann/layer/concat_impl.hpp +13 -13
- mlpack/include/mlpack/methods/ann/layer/concatenate.hpp +18 -18
- mlpack/include/mlpack/methods/ann/layer/concatenate_impl.hpp +14 -14
- mlpack/include/mlpack/methods/ann/layer/convolution.hpp +42 -47
- mlpack/include/mlpack/methods/ann/layer/convolution_impl.hpp +170 -159
- mlpack/include/mlpack/methods/ann/layer/dropconnect.hpp +18 -20
- mlpack/include/mlpack/methods/ann/layer/dropconnect_impl.hpp +20 -20
- mlpack/include/mlpack/methods/ann/layer/dropout.hpp +17 -19
- mlpack/include/mlpack/methods/ann/layer/dropout_impl.hpp +14 -21
- mlpack/include/mlpack/methods/ann/layer/elu.hpp +23 -25
- mlpack/include/mlpack/methods/ann/layer/elu_impl.hpp +20 -27
- mlpack/include/mlpack/methods/ann/layer/embedding.hpp +160 -0
- mlpack/include/mlpack/methods/ann/layer/embedding_impl.hpp +189 -0
- mlpack/include/mlpack/methods/ann/layer/flexible_relu.hpp +17 -19
- mlpack/include/mlpack/methods/ann/layer/flexible_relu_impl.hpp +20 -20
- mlpack/include/mlpack/methods/ann/layer/ftswish.hpp +17 -18
- mlpack/include/mlpack/methods/ann/layer/ftswish_impl.hpp +17 -35
- mlpack/include/mlpack/methods/ann/layer/grouped_convolution.hpp +27 -33
- mlpack/include/mlpack/methods/ann/layer/grouped_convolution_impl.hpp +170 -163
- mlpack/include/mlpack/methods/ann/layer/gru.hpp +195 -0
- mlpack/include/mlpack/methods/ann/layer/gru_impl.hpp +325 -0
- mlpack/include/mlpack/methods/ann/layer/hard_tanh.hpp +13 -15
- mlpack/include/mlpack/methods/ann/layer/hard_tanh_impl.hpp +12 -12
- mlpack/include/mlpack/methods/ann/layer/identity.hpp +19 -20
- mlpack/include/mlpack/methods/ann/layer/identity_impl.hpp +12 -12
- mlpack/include/mlpack/methods/ann/layer/layer.hpp +37 -33
- mlpack/include/mlpack/methods/ann/layer/layer_norm.hpp +11 -13
- mlpack/include/mlpack/methods/ann/layer/layer_norm_impl.hpp +16 -16
- mlpack/include/mlpack/methods/ann/layer/layer_types.hpp +4 -1
- mlpack/include/mlpack/methods/ann/layer/leaky_relu.hpp +20 -23
- mlpack/include/mlpack/methods/ann/layer/leaky_relu_impl.hpp +12 -13
- mlpack/include/mlpack/methods/ann/layer/linear.hpp +16 -18
- mlpack/include/mlpack/methods/ann/layer/linear3d.hpp +18 -18
- mlpack/include/mlpack/methods/ann/layer/linear3d_impl.hpp +18 -18
- mlpack/include/mlpack/methods/ann/layer/linear_impl.hpp +15 -15
- mlpack/include/mlpack/methods/ann/layer/linear_no_bias.hpp +15 -17
- mlpack/include/mlpack/methods/ann/layer/linear_no_bias_impl.hpp +20 -20
- mlpack/include/mlpack/methods/ann/layer/linear_recurrent.hpp +25 -14
- mlpack/include/mlpack/methods/ann/layer/linear_recurrent_impl.hpp +60 -31
- mlpack/include/mlpack/methods/ann/layer/log_softmax.hpp +17 -36
- mlpack/include/mlpack/methods/ann/layer/log_softmax_impl.hpp +58 -74
- mlpack/include/mlpack/methods/ann/layer/lstm.hpp +26 -29
- mlpack/include/mlpack/methods/ann/layer/lstm_impl.hpp +128 -124
- mlpack/include/mlpack/methods/ann/layer/max_pooling.hpp +19 -19
- mlpack/include/mlpack/methods/ann/layer/max_pooling_impl.hpp +14 -14
- mlpack/include/mlpack/methods/ann/layer/mean_pooling.hpp +24 -24
- mlpack/include/mlpack/methods/ann/layer/mean_pooling_impl.hpp +16 -16
- mlpack/include/mlpack/methods/ann/layer/multi_layer.hpp +36 -6
- mlpack/include/mlpack/methods/ann/layer/multi_layer_impl.hpp +6 -2
- mlpack/include/mlpack/methods/ann/layer/multihead_attention.hpp +26 -22
- mlpack/include/mlpack/methods/ann/layer/multihead_attention_impl.hpp +161 -64
- mlpack/include/mlpack/methods/ann/layer/nearest_interpolation.hpp +28 -25
- mlpack/include/mlpack/methods/ann/layer/nearest_interpolation_impl.hpp +36 -37
- mlpack/include/mlpack/methods/ann/layer/noisylinear.hpp +39 -42
- mlpack/include/mlpack/methods/ann/layer/noisylinear_impl.hpp +18 -18
- mlpack/include/mlpack/methods/ann/layer/padding.hpp +21 -17
- mlpack/include/mlpack/methods/ann/layer/padding_impl.hpp +33 -19
- mlpack/include/mlpack/methods/ann/layer/parametric_relu.hpp +26 -28
- mlpack/include/mlpack/methods/ann/layer/parametric_relu_impl.hpp +18 -18
- mlpack/include/mlpack/methods/ann/layer/radial_basis_function.hpp +41 -28
- mlpack/include/mlpack/methods/ann/layer/radial_basis_function_impl.hpp +42 -17
- mlpack/include/mlpack/methods/ann/layer/recurrent_layer.hpp +13 -0
- mlpack/include/mlpack/methods/ann/layer/relu6.hpp +19 -21
- mlpack/include/mlpack/methods/ann/layer/relu6_impl.hpp +14 -14
- mlpack/include/mlpack/methods/ann/layer/repeat.hpp +24 -25
- mlpack/include/mlpack/methods/ann/layer/repeat_impl.hpp +10 -10
- mlpack/include/mlpack/methods/ann/layer/serialization.hpp +64 -54
- mlpack/include/mlpack/methods/ann/layer/softmax.hpp +20 -20
- mlpack/include/mlpack/methods/ann/layer/softmax_impl.hpp +10 -10
- mlpack/include/mlpack/methods/ann/layer/softmin.hpp +20 -23
- mlpack/include/mlpack/methods/ann/layer/softmin_impl.hpp +10 -10
- mlpack/include/mlpack/methods/ann/layer/sum_reduce.hpp +103 -0
- mlpack/include/mlpack/methods/ann/layer/sum_reduce_impl.hpp +143 -0
- mlpack/include/mlpack/methods/ann/loss_functions/cosine_embedding_loss_impl.hpp +3 -3
- mlpack/include/mlpack/methods/ann/loss_functions/mean_bias_error_impl.hpp +1 -1
- mlpack/include/mlpack/methods/ann/loss_functions/multilabel_softmargin_loss_impl.hpp +1 -1
- mlpack/include/mlpack/methods/ann/loss_functions/negative_log_likelihood.hpp +2 -2
- mlpack/include/mlpack/methods/ann/loss_functions/negative_log_likelihood_impl.hpp +29 -15
- mlpack/include/mlpack/methods/ann/loss_functions/poisson_nll_loss_impl.hpp +1 -1
- mlpack/include/mlpack/methods/ann/models/models.hpp +17 -0
- mlpack/include/mlpack/methods/ann/models/yolov3/yolov3_layer.hpp +151 -0
- mlpack/include/mlpack/methods/ann/models/yolov3/yolov3_layer_impl.hpp +265 -0
- mlpack/include/mlpack/methods/ann/models/yolov3/yolov3_tiny.hpp +187 -0
- mlpack/include/mlpack/methods/ann/models/yolov3/yolov3_tiny_impl.hpp +206 -0
- mlpack/include/mlpack/methods/ann/regularizer/orthogonal_regularizer_impl.hpp +5 -3
- mlpack/include/mlpack/methods/ann/rnn.hpp +136 -42
- mlpack/include/mlpack/methods/ann/rnn_impl.hpp +230 -38
- mlpack/include/mlpack/methods/approx_kfn/drusilla_select_impl.hpp +1 -1
- mlpack/include/mlpack/methods/bayesian_linear_regression/bayesian_linear_regression_main.cpp +1 -1
- mlpack/include/mlpack/methods/bias_svd/bias_svd_function_impl.hpp +1 -1
- mlpack/include/mlpack/methods/cf/cf_model.hpp +1 -1
- mlpack/include/mlpack/methods/decision_tree/decision_tree.hpp +6 -6
- mlpack/include/mlpack/methods/decision_tree/decision_tree_impl.hpp +12 -12
- mlpack/include/mlpack/methods/decision_tree/decision_tree_main.cpp +0 -1
- mlpack/include/mlpack/methods/decision_tree/decision_tree_regressor.hpp +6 -6
- mlpack/include/mlpack/methods/decision_tree/decision_tree_regressor_impl.hpp +12 -12
- mlpack/include/mlpack/methods/det/det_main.cpp +1 -1
- mlpack/include/mlpack/methods/hmm/hmm_train_main.cpp +4 -4
- mlpack/include/mlpack/methods/hmm/hmm_util_impl.hpp +2 -2
- mlpack/include/mlpack/methods/hoeffding_trees/hoeffding_tree.hpp +6 -6
- mlpack/include/mlpack/methods/hoeffding_trees/hoeffding_tree_impl.hpp +31 -31
- mlpack/include/mlpack/methods/hoeffding_trees/hoeffding_tree_main.cpp +1 -2
- mlpack/include/mlpack/methods/hoeffding_trees/hoeffding_tree_model.hpp +2 -2
- mlpack/include/mlpack/methods/hoeffding_trees/hoeffding_tree_model_impl.hpp +1 -1
- mlpack/include/mlpack/methods/kde/kde_rules_impl.hpp +6 -6
- mlpack/include/mlpack/methods/lars/lars_impl.hpp +3 -3
- mlpack/include/mlpack/methods/linear_svm/linear_svm_function_impl.hpp +4 -4
- mlpack/include/mlpack/methods/linear_svm/linear_svm_main.cpp +3 -3
- mlpack/include/mlpack/methods/lmnn/lmnn_main.cpp +1 -1
- mlpack/include/mlpack/methods/lsh/lsh_main.cpp +1 -1
- mlpack/include/mlpack/methods/matrix_completion/matrix_completion_impl.hpp +1 -1
- mlpack/include/mlpack/methods/naive_bayes/naive_bayes_classifier_impl.hpp +1 -1
- mlpack/include/mlpack/methods/naive_bayes/nbc_main.cpp +3 -3
- mlpack/include/mlpack/methods/nca/nca_main.cpp +1 -1
- mlpack/include/mlpack/methods/neighbor_search/kfn_main.cpp +8 -8
- mlpack/include/mlpack/methods/neighbor_search/knn_main.cpp +8 -8
- mlpack/include/mlpack/methods/neighbor_search/neighbor_search.hpp +154 -34
- mlpack/include/mlpack/methods/neighbor_search/neighbor_search_impl.hpp +190 -51
- mlpack/include/mlpack/methods/neighbor_search/neighbor_search_stat.hpp +10 -0
- mlpack/include/mlpack/methods/neighbor_search/ns_model.hpp +15 -15
- mlpack/include/mlpack/methods/neighbor_search/ns_model_impl.hpp +55 -46
- mlpack/include/mlpack/methods/neighbor_search/typedef.hpp +42 -2
- mlpack/include/mlpack/methods/pca/pca_impl.hpp +2 -2
- mlpack/include/mlpack/methods/perceptron/perceptron.hpp +2 -2
- mlpack/include/mlpack/methods/perceptron/perceptron_impl.hpp +1 -1
- mlpack/include/mlpack/methods/perceptron/perceptron_main.cpp +2 -2
- mlpack/include/mlpack/methods/preprocess/image_converter_main.cpp +2 -3
- mlpack/include/mlpack/methods/preprocess/preprocess_binarize_main.cpp +2 -2
- mlpack/include/mlpack/methods/preprocess/preprocess_describe_main.cpp +0 -1
- mlpack/include/mlpack/methods/preprocess/preprocess_imputer_main.cpp +50 -129
- mlpack/include/mlpack/methods/preprocess/preprocess_one_hot_encoding_main.cpp +6 -6
- mlpack/include/mlpack/methods/preprocess/preprocess_scale_main.cpp +2 -3
- mlpack/include/mlpack/methods/preprocess/preprocess_split_main.cpp +3 -4
- mlpack/include/mlpack/methods/preprocess/scaling_model.hpp +6 -8
- mlpack/include/mlpack/methods/preprocess/scaling_model_impl.hpp +18 -20
- mlpack/include/mlpack/methods/random_forest/random_forest.hpp +5 -5
- mlpack/include/mlpack/methods/random_forest/random_forest_impl.hpp +9 -9
- mlpack/include/mlpack/methods/range_search/range_search_main.cpp +1 -1
- mlpack/include/mlpack/methods/rann/krann_main.cpp +1 -1
- mlpack/include/mlpack/methods/regularized_svd/regularized_svd_function_impl.hpp +1 -1
- mlpack/include/mlpack/methods/reinforcement_learning/async_learning_impl.hpp +8 -8
- mlpack/include/mlpack/methods/reinforcement_learning/ddpg_impl.hpp +16 -16
- mlpack/include/mlpack/methods/reinforcement_learning/environment/acrobot.hpp +4 -4
- mlpack/include/mlpack/methods/reinforcement_learning/environment/cart_pole.hpp +3 -3
- mlpack/include/mlpack/methods/reinforcement_learning/environment/cont_double_pole_cart.hpp +6 -5
- mlpack/include/mlpack/methods/reinforcement_learning/environment/pendulum.hpp +6 -5
- mlpack/include/mlpack/methods/reinforcement_learning/policy/aggregated_policy.hpp +2 -2
- mlpack/include/mlpack/methods/reinforcement_learning/q_learning_impl.hpp +10 -10
- mlpack/include/mlpack/methods/reinforcement_learning/q_networks/categorical_dqn.hpp +21 -17
- mlpack/include/mlpack/methods/reinforcement_learning/q_networks/dueling_dqn.hpp +69 -77
- mlpack/include/mlpack/methods/reinforcement_learning/q_networks/simple_dqn.hpp +9 -9
- mlpack/include/mlpack/methods/reinforcement_learning/sac_impl.hpp +14 -14
- mlpack/include/mlpack/methods/reinforcement_learning/td3_impl.hpp +14 -14
- mlpack/include/mlpack/methods/softmax_regression/softmax_regression_function_impl.hpp +1 -1
- mlpack/include/mlpack/methods/svdplusplus/svdplusplus_function_impl.hpp +1 -1
- mlpack/include/mlpack/namespace_compat.hpp +1 -0
- mlpack/include/mlpack/prereqs.hpp +1 -0
- mlpack/kde.cp38-win_amd64.pyd +0 -0
- mlpack/kernel_pca.cp38-win_amd64.pyd +0 -0
- mlpack/kfn.cp38-win_amd64.pyd +0 -0
- mlpack/kmeans.cp38-win_amd64.pyd +0 -0
- mlpack/knn.cp38-win_amd64.pyd +0 -0
- mlpack/krann.cp38-win_amd64.pyd +0 -0
- mlpack/lars.cp38-win_amd64.pyd +0 -0
- mlpack/linear_regression_predict.cp38-win_amd64.pyd +0 -0
- mlpack/linear_regression_train.cp38-win_amd64.pyd +0 -0
- mlpack/linear_svm.cp38-win_amd64.pyd +0 -0
- mlpack/lmnn.cp38-win_amd64.pyd +0 -0
- mlpack/local_coordinate_coding.cp38-win_amd64.pyd +0 -0
- mlpack/logistic_regression.cp38-win_amd64.pyd +0 -0
- mlpack/lsh.cp38-win_amd64.pyd +0 -0
- mlpack/mean_shift.cp38-win_amd64.pyd +0 -0
- mlpack/nbc.cp38-win_amd64.pyd +0 -0
- mlpack/nca.cp38-win_amd64.pyd +0 -0
- mlpack/nmf.cp38-win_amd64.pyd +0 -0
- mlpack/pca.cp38-win_amd64.pyd +0 -0
- mlpack/perceptron.cp38-win_amd64.pyd +0 -0
- mlpack/preprocess_binarize.cp38-win_amd64.pyd +0 -0
- mlpack/preprocess_describe.cp38-win_amd64.pyd +0 -0
- mlpack/preprocess_one_hot_encoding.cp38-win_amd64.pyd +0 -0
- mlpack/preprocess_scale.cp38-win_amd64.pyd +0 -0
- mlpack/preprocess_split.cp38-win_amd64.pyd +0 -0
- mlpack/radical.cp38-win_amd64.pyd +0 -0
- mlpack/random_forest.cp38-win_amd64.pyd +0 -0
- mlpack/softmax_regression.cp38-win_amd64.pyd +0 -0
- mlpack/sparse_coding.cp38-win_amd64.pyd +0 -0
- mlpack-4.7.0.dist-info/DELVEWHEEL +2 -0
- {mlpack-4.6.2.dist-info → mlpack-4.7.0.dist-info}/METADATA +5 -5
- {mlpack-4.6.2.dist-info → mlpack-4.7.0.dist-info}/RECORD +395 -376
- {mlpack-4.6.2.dist-info → mlpack-4.7.0.dist-info}/WHEEL +1 -1
- mlpack/include/mlpack/core/data/format.hpp +0 -31
- mlpack/include/mlpack/core/data/image_info.hpp +0 -102
- mlpack/include/mlpack/core/data/image_info_impl.hpp +0 -84
- mlpack/include/mlpack/core/data/load_image_impl.hpp +0 -171
- mlpack/include/mlpack/core/data/load_model_impl.hpp +0 -115
- mlpack/include/mlpack/core/data/load_vec_impl.hpp +0 -154
- mlpack/include/mlpack/core/data/map_policies/missing_policy.hpp +0 -148
- mlpack/include/mlpack/core/data/save_image_impl.hpp +0 -170
- mlpack/include/mlpack/core/data/types.hpp +0 -61
- mlpack/include/mlpack/core/data/types_impl.hpp +0 -83
- mlpack/include/mlpack/core/data/utilities.hpp +0 -158
- mlpack/include/mlpack/core/util/gitversion.hpp +0 -1
- mlpack/include/mlpack/methods/ann/convolution_rules/fft_convolution.hpp +0 -213
- mlpack/include/mlpack/methods/ann/convolution_rules/svd_convolution.hpp +0 -201
- mlpack/include/mlpack/methods/ann/layer/not_adapted/gru.hpp +0 -226
- mlpack/include/mlpack/methods/ann/layer/not_adapted/gru_impl.hpp +0 -367
- mlpack/include/mlpack/methods/ann/layer/not_adapted/lookup.hpp +0 -139
- mlpack/include/mlpack/methods/ann/layer/not_adapted/lookup_impl.hpp +0 -98
- mlpack-4.6.2.dist-info/DELVEWHEEL +0 -2
- {mlpack-4.6.2.dist-info → mlpack-4.7.0.dist-info}/top_level.txt +0 -0
- /mlpack.libs/{.load-order-mlpack-4.6.2 → .load-order-mlpack-4.7.0} +0 -0
|
@@ -1,148 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file core/data/map_policies/missing_policy.hpp
|
|
3
|
-
* @author Keon Kim
|
|
4
|
-
*
|
|
5
|
-
* Missing map policy for dataset info.
|
|
6
|
-
*
|
|
7
|
-
* mlpack is free software; you may redistribute it and/or modify it under the
|
|
8
|
-
* terms of the 3-clause BSD license. You should have received a copy of the
|
|
9
|
-
* 3-clause BSD license along with mlpack. If not, see
|
|
10
|
-
* http://www.opensource.org/licenses/BSD-3-Clause for more information.
|
|
11
|
-
*/
|
|
12
|
-
#ifndef MLPACK_CORE_DATA_MAP_POLICIES_MISSING_POLICY_HPP
|
|
13
|
-
#define MLPACK_CORE_DATA_MAP_POLICIES_MISSING_POLICY_HPP
|
|
14
|
-
|
|
15
|
-
#include <mlpack/prereqs.hpp>
|
|
16
|
-
#include <unordered_map>
|
|
17
|
-
#include <mlpack/core/data/map_policies/datatype.hpp>
|
|
18
|
-
#include <limits>
|
|
19
|
-
#include <set>
|
|
20
|
-
|
|
21
|
-
namespace mlpack {
|
|
22
|
-
namespace data {
|
|
23
|
-
|
|
24
|
-
/**
|
|
25
|
-
* MissingPolicy is used as a helper class for DatasetMapper. It tells how the
|
|
26
|
-
* strings should be mapped. Purpose of this policy is to map all user-defined
|
|
27
|
-
* missing variables into maps so that users can decide what to do with the
|
|
28
|
-
* corrupted data. User-defined missing variables are given by the missingSet.
|
|
29
|
-
* Note that MissingPolicy does not change type of features.
|
|
30
|
-
*/
|
|
31
|
-
class MissingPolicy
|
|
32
|
-
{
|
|
33
|
-
public:
|
|
34
|
-
// typedef of MappedType
|
|
35
|
-
using MappedType = double;
|
|
36
|
-
|
|
37
|
-
MissingPolicy()
|
|
38
|
-
{
|
|
39
|
-
// Nothing to initialize here.
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
/**
|
|
43
|
-
* Create the MissingPolicy object with the given missingSet. Note that the
|
|
44
|
-
* missingSet cannot be changed later; you will have to create a new
|
|
45
|
-
* MissingPolicy object.
|
|
46
|
-
*
|
|
47
|
-
* @param missingSet Set of strings that should be mapped.
|
|
48
|
-
*/
|
|
49
|
-
explicit MissingPolicy(std::set<std::string> missingSet) :
|
|
50
|
-
missingSet(std::move(missingSet))
|
|
51
|
-
{
|
|
52
|
-
// Nothing to initialize here.
|
|
53
|
-
}
|
|
54
|
-
|
|
55
|
-
//! This doesn't need a first pass over the data to set up.
|
|
56
|
-
static const bool NeedsFirstPass = false;
|
|
57
|
-
|
|
58
|
-
/**
|
|
59
|
-
* There is nothing for us to do here, but this is required by the MapPolicy
|
|
60
|
-
* type.
|
|
61
|
-
*/
|
|
62
|
-
template<typename T>
|
|
63
|
-
void MapFirstPass(const std::string& /* string */, const size_t /* dim */)
|
|
64
|
-
{
|
|
65
|
-
// Nothing to do.
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
/**
|
|
69
|
-
* Given the string and the dimension to which it belongs by the user, and
|
|
70
|
-
* the maps and types given by the DatasetMapper class, returns its numeric
|
|
71
|
-
* mapping. If no mapping yet exists and the string is included in the
|
|
72
|
-
* missingSet, the string is added to the list of mappings for the given
|
|
73
|
-
* dimension. This function is used as a helper function for DatasetMapper
|
|
74
|
-
* class.
|
|
75
|
-
*
|
|
76
|
-
* @tparam MapType Type of unordered_map that contains mapped value pairs
|
|
77
|
-
* @param string String to find/create mapping for.
|
|
78
|
-
* @param dimension Index of the dimension of the string.
|
|
79
|
-
* @param maps Unordered map given by the DatasetMapper.
|
|
80
|
-
* @param * (types) Vector containing the type information about each
|
|
81
|
-
* dimensions.
|
|
82
|
-
*/
|
|
83
|
-
template<typename MapType, typename T>
|
|
84
|
-
T MapString(const std::string& string,
|
|
85
|
-
const size_t dimension,
|
|
86
|
-
MapType& maps,
|
|
87
|
-
std::vector<Datatype>& /* types */)
|
|
88
|
-
{
|
|
89
|
-
// commented out as @rcurting is going to remove the entire policy
|
|
90
|
-
//static_assert(std::numeric_limits<T>::has_quiet_NaN == true,
|
|
91
|
-
//"Cannot use MissingPolicy with types where has_quiet_NaN() is false!");
|
|
92
|
-
|
|
93
|
-
// If we can load the string then there is no need for mapping.
|
|
94
|
-
std::stringstream token;
|
|
95
|
-
token.str(string);
|
|
96
|
-
T t;
|
|
97
|
-
token >> t; // Could be sped up by only doing this if we need to.
|
|
98
|
-
|
|
99
|
-
MappedType value = std::numeric_limits<MappedType>::quiet_NaN();
|
|
100
|
-
// But we can't use that for the map, so we need some other thing that will
|
|
101
|
-
// represent quiet_NaN().
|
|
102
|
-
const MappedType mapValue = std::nexttoward(
|
|
103
|
-
std::numeric_limits<MappedType>::max(), MappedType(0));
|
|
104
|
-
|
|
105
|
-
// If extraction of the value fails, or if it is a value that is supposed to
|
|
106
|
-
// be mapped, then do mapping.
|
|
107
|
-
if (token.fail() || !token.eof() ||
|
|
108
|
-
missingSet.find(string) != std::end(missingSet))
|
|
109
|
-
{
|
|
110
|
-
// Everything is mapped to NaN. However we must still keep track of
|
|
111
|
-
// everything that we have mapped, so we add it to the maps if needed.
|
|
112
|
-
if (maps.count(dimension) == 0 ||
|
|
113
|
-
maps[dimension].first.count(string) == 0)
|
|
114
|
-
{
|
|
115
|
-
// This string does not exist yet.
|
|
116
|
-
using PairType = std::pair<std::string, MappedType>;
|
|
117
|
-
maps[dimension].first.insert(PairType(string, value));
|
|
118
|
-
|
|
119
|
-
// Insert right mapping too.
|
|
120
|
-
if (maps[dimension].second.count(mapValue) == 0)
|
|
121
|
-
{
|
|
122
|
-
// Create new element in reverse map.
|
|
123
|
-
maps[dimension].second.insert(std::make_pair(mapValue,
|
|
124
|
-
std::vector<std::string>()));
|
|
125
|
-
}
|
|
126
|
-
maps[dimension].second[mapValue].push_back(string);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
return value;
|
|
130
|
-
}
|
|
131
|
-
else
|
|
132
|
-
{
|
|
133
|
-
// We can just return the value that we read.
|
|
134
|
-
return t;
|
|
135
|
-
}
|
|
136
|
-
}
|
|
137
|
-
|
|
138
|
-
private:
|
|
139
|
-
// Note that missingSet and maps are different.
|
|
140
|
-
// missingSet specifies which value/string should be mapped and may be a
|
|
141
|
-
// superset of 'maps'.
|
|
142
|
-
std::set<std::string> missingSet;
|
|
143
|
-
}; // class MissingPolicy
|
|
144
|
-
|
|
145
|
-
} // namespace data
|
|
146
|
-
} // namespace mlpack
|
|
147
|
-
|
|
148
|
-
#endif
|
|
@@ -1,170 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file core/data/save_image_impl.hpp
|
|
3
|
-
* @author Mehul Kumar Nirala
|
|
4
|
-
*
|
|
5
|
-
* Implementation of image saving functionality via STB.
|
|
6
|
-
*
|
|
7
|
-
* mlpack is free software; you may redistribute it and/or modify it under the
|
|
8
|
-
* terms of the 3-clause BSD license. You should have received a copy of the
|
|
9
|
-
* 3-clause BSD license along with mlpack. If not, see
|
|
10
|
-
* http://www.opensource.org/licenses/BSD-3-Clause for more information.
|
|
11
|
-
*/
|
|
12
|
-
#ifndef MLPACK_CORE_DATA_SAVE_IMAGE_IMPL_HPP
|
|
13
|
-
#define MLPACK_CORE_DATA_SAVE_IMAGE_IMPL_HPP
|
|
14
|
-
|
|
15
|
-
// In case it hasn't been included yet.
|
|
16
|
-
#include "save_image.hpp"
|
|
17
|
-
#include "image_info.hpp"
|
|
18
|
-
|
|
19
|
-
namespace mlpack {
|
|
20
|
-
namespace data {
|
|
21
|
-
|
|
22
|
-
/**
|
|
23
|
-
* Save the given image to the given filename.
|
|
24
|
-
*
|
|
25
|
-
* @param filename Filename to save to.
|
|
26
|
-
* @param matrix Matrix containing image to be saved.
|
|
27
|
-
* @param info Information about the image (width/height/channels/etc.).
|
|
28
|
-
* @param fatal Whether an exception should be thrown on save failure.
|
|
29
|
-
*/
|
|
30
|
-
template<typename eT>
|
|
31
|
-
bool Save(const std::string& filename,
|
|
32
|
-
arma::Mat<eT>& matrix,
|
|
33
|
-
ImageInfo& info,
|
|
34
|
-
const bool fatal)
|
|
35
|
-
{
|
|
36
|
-
arma::Mat<unsigned char> tmpMatrix =
|
|
37
|
-
arma::conv_to<arma::Mat<unsigned char>>::from(matrix);
|
|
38
|
-
|
|
39
|
-
return SaveImage(filename, tmpMatrix, info, fatal);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
// Image saving API for multiple files.
|
|
43
|
-
template<typename eT>
|
|
44
|
-
bool Save(const std::vector<std::string>& files,
|
|
45
|
-
arma::Mat<eT>& matrix,
|
|
46
|
-
ImageInfo& info,
|
|
47
|
-
const bool fatal)
|
|
48
|
-
{
|
|
49
|
-
if (files.size() == 0)
|
|
50
|
-
{
|
|
51
|
-
if (fatal)
|
|
52
|
-
{
|
|
53
|
-
Log::Fatal << "Save(): vector of image files is empty; nothing to save."
|
|
54
|
-
<< std::endl;
|
|
55
|
-
}
|
|
56
|
-
else
|
|
57
|
-
{
|
|
58
|
-
Log::Warn << "Save(): vector of image files is empty; nothing to save."
|
|
59
|
-
<< std::endl;
|
|
60
|
-
}
|
|
61
|
-
|
|
62
|
-
return false;
|
|
63
|
-
}
|
|
64
|
-
|
|
65
|
-
arma::Mat<unsigned char> img;
|
|
66
|
-
bool status = true;
|
|
67
|
-
|
|
68
|
-
for (size_t i = 0; i < files.size() ; ++i)
|
|
69
|
-
{
|
|
70
|
-
arma::Mat<eT> colImg(matrix.colptr(i), matrix.n_rows, 1,
|
|
71
|
-
false, true);
|
|
72
|
-
status &= Save(files[i], colImg, info, fatal);
|
|
73
|
-
}
|
|
74
|
-
|
|
75
|
-
return status;
|
|
76
|
-
}
|
|
77
|
-
|
|
78
|
-
inline bool SaveImage(const std::string& filename,
|
|
79
|
-
arma::Mat<unsigned char>& image,
|
|
80
|
-
ImageInfo& info,
|
|
81
|
-
const bool fatal)
|
|
82
|
-
{
|
|
83
|
-
// Check to see if the file type is supported.
|
|
84
|
-
if (!ImageFormatSupported(filename, true))
|
|
85
|
-
{
|
|
86
|
-
std::ostringstream oss;
|
|
87
|
-
oss << "Save(): file type " << Extension(filename) << " not supported.\n";
|
|
88
|
-
oss << "Currently image saving supports ";
|
|
89
|
-
for (auto extension : SaveFileTypes())
|
|
90
|
-
oss << " " << extension;
|
|
91
|
-
oss << "." << std::endl;
|
|
92
|
-
|
|
93
|
-
if (fatal)
|
|
94
|
-
{
|
|
95
|
-
Log::Fatal << oss.str();
|
|
96
|
-
}
|
|
97
|
-
else
|
|
98
|
-
{
|
|
99
|
-
Log::Warn << oss.str();
|
|
100
|
-
}
|
|
101
|
-
|
|
102
|
-
return false;
|
|
103
|
-
}
|
|
104
|
-
|
|
105
|
-
// Ensure the shape of the matrix is correct.
|
|
106
|
-
if (image.n_cols > 1)
|
|
107
|
-
{
|
|
108
|
-
Log::Warn << "Save(): given input image matrix contains more than 1 image."
|
|
109
|
-
<< std::endl;
|
|
110
|
-
Log::Warn << "Only the first image will be saved!" << std::endl;
|
|
111
|
-
}
|
|
112
|
-
|
|
113
|
-
if (info.Width() * info.Height() * info.Channels() != image.n_elem)
|
|
114
|
-
{
|
|
115
|
-
Log::Fatal << "data::Save(): The given image dimensions do not match the "
|
|
116
|
-
<< "dimensions of the matrix to be saved!" << std::endl;
|
|
117
|
-
}
|
|
118
|
-
|
|
119
|
-
bool status = false;
|
|
120
|
-
unsigned char* imageMem = image.memptr();
|
|
121
|
-
|
|
122
|
-
if ("png" == Extension(filename))
|
|
123
|
-
{
|
|
124
|
-
status = stbi_write_png(filename.c_str(), info.Width(), info.Height(),
|
|
125
|
-
info.Channels(), imageMem, info.Width() * info.Channels());
|
|
126
|
-
}
|
|
127
|
-
else if ("bmp" == Extension(filename))
|
|
128
|
-
{
|
|
129
|
-
status = stbi_write_bmp(filename.c_str(), info.Width(), info.Height(),
|
|
130
|
-
info.Channels(), imageMem);
|
|
131
|
-
}
|
|
132
|
-
else if ("tga" == Extension(filename))
|
|
133
|
-
{
|
|
134
|
-
status = stbi_write_tga(filename.c_str(), info.Width(), info.Height(),
|
|
135
|
-
info.Channels(), imageMem);
|
|
136
|
-
}
|
|
137
|
-
else if ("hdr" == Extension(filename))
|
|
138
|
-
{
|
|
139
|
-
// We'll have to convert to float...
|
|
140
|
-
arma::fmat tmpImage = arma::conv_to<arma::fmat>::from(image);
|
|
141
|
-
status = stbi_write_hdr(filename.c_str(), info.Width(), info.Height(),
|
|
142
|
-
info.Channels(), tmpImage.memptr());
|
|
143
|
-
}
|
|
144
|
-
else if ("jpg" == Extension(filename))
|
|
145
|
-
{
|
|
146
|
-
status = stbi_write_jpg(filename.c_str(), info.Width(), info.Height(),
|
|
147
|
-
info.Channels(), imageMem, info.Quality());
|
|
148
|
-
}
|
|
149
|
-
|
|
150
|
-
if (!status)
|
|
151
|
-
{
|
|
152
|
-
if (fatal)
|
|
153
|
-
{
|
|
154
|
-
Log::Fatal << "Save(): error saving image to '" << filename << "'."
|
|
155
|
-
<< std::endl;
|
|
156
|
-
}
|
|
157
|
-
else
|
|
158
|
-
{
|
|
159
|
-
Log::Warn << "Save(): error saving image to '" << filename << "'."
|
|
160
|
-
<< std::endl;
|
|
161
|
-
}
|
|
162
|
-
}
|
|
163
|
-
|
|
164
|
-
return status;
|
|
165
|
-
}
|
|
166
|
-
|
|
167
|
-
} // namespace data
|
|
168
|
-
} // namespace mlpack
|
|
169
|
-
|
|
170
|
-
#endif
|
|
@@ -1,61 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file core/data/types.hpp
|
|
3
|
-
* @author Gopi M. Tatiraju
|
|
4
|
-
*
|
|
5
|
-
* This file contains utilitiy functions related to types of data.
|
|
6
|
-
* We have adapted all the standard types which are available in armadillo.
|
|
7
|
-
*
|
|
8
|
-
* This file also contains functions to convery external file types to mlpack
|
|
9
|
-
* file types. In future if we the user of mlpack needs support of an external
|
|
10
|
-
* linear algebra library like armadillo, all functions related to handling the
|
|
11
|
-
* types goes here.
|
|
12
|
-
*
|
|
13
|
-
* mlpack is free software; you may redistribute it and/or modify it under the
|
|
14
|
-
* terms of the 3-clause BSD license. You should have received a copy of the
|
|
15
|
-
* 3-clause BSD license along with mlpack. If not, see
|
|
16
|
-
* http://www.opensource.org/licenses/BSD-3-Clause for more information.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
#ifndef MLPACK_CORE_DATA_TYPES_HPP
|
|
20
|
-
#define MLPACK_CORE_DATA_TYPES_HPP
|
|
21
|
-
|
|
22
|
-
namespace mlpack {
|
|
23
|
-
namespace data {
|
|
24
|
-
|
|
25
|
-
enum struct FileType
|
|
26
|
-
{
|
|
27
|
-
FileTypeUnknown,
|
|
28
|
-
AutoDetect, // attempt to automatically detect the file type
|
|
29
|
-
RawASCII, // raw text (ASCII), without a header
|
|
30
|
-
ArmaASCII, // Armadillo text format, with a header specifying matrix type and
|
|
31
|
-
// size
|
|
32
|
-
CSVASCII, // comma separated values (CSV), without a header
|
|
33
|
-
RawBinary, // raw binary format (machine dependent), without a header
|
|
34
|
-
ArmaBinary, // Armadillo binary format (machine dependent), with a header
|
|
35
|
-
// specifying matrix type and size
|
|
36
|
-
PGMBinary, // Portable Grey Map (greyscale image)
|
|
37
|
-
PPMBinary, // Portable Pixel Map (colour image), used by the field and cube
|
|
38
|
-
// classes
|
|
39
|
-
HDF5Binary, // HDF5: open binary format, not specific to Armadillo, which can
|
|
40
|
-
// store arbitrary data
|
|
41
|
-
CoordASCII, // simple co-ordinate format for sparse matrices (indices start at
|
|
42
|
-
// zero)
|
|
43
|
-
ARFFASCII // ARFF data format, with a header specifying information about
|
|
44
|
-
// categories of the data.
|
|
45
|
-
};
|
|
46
|
-
|
|
47
|
-
/**
|
|
48
|
-
* This function is used to convert mlpack file types to
|
|
49
|
-
* their respective Armadillo file types.
|
|
50
|
-
*
|
|
51
|
-
* @param type mlpack::FileType.
|
|
52
|
-
*/
|
|
53
|
-
inline arma::file_type ToArmaFileType(const FileType& type);
|
|
54
|
-
|
|
55
|
-
} // namespace data
|
|
56
|
-
} // namespace mlpack
|
|
57
|
-
|
|
58
|
-
#include "types_impl.hpp"
|
|
59
|
-
|
|
60
|
-
#endif
|
|
61
|
-
|
|
@@ -1,83 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file core/data/types.hpp
|
|
3
|
-
* @author Gopi M. Tatiraju
|
|
4
|
-
*
|
|
5
|
-
* This file contains utilitiy functions related to types of data.
|
|
6
|
-
* We have adapted all the standard types which are available in armadillo.
|
|
7
|
-
*
|
|
8
|
-
* This file also contains functions to convery external file types to mlpack
|
|
9
|
-
* file types. In future if we the user of mlpack needs support of an external
|
|
10
|
-
* linear algebra library like armadillo, all functions related to handling the
|
|
11
|
-
* types goes here.
|
|
12
|
-
*
|
|
13
|
-
* mlpack is free software; you may redistribute it and/or modify it under the
|
|
14
|
-
* terms of the 3-clause BSD license. You should have received a copy of the
|
|
15
|
-
* 3-clause BSD license along with mlpack. If not, see
|
|
16
|
-
* http://www.opensource.org/licenses/BSD-3-Clause for more information.
|
|
17
|
-
*/
|
|
18
|
-
|
|
19
|
-
#ifndef MLPACK_CORE_DATA_TYPES_IMPL_HPP
|
|
20
|
-
#define MLPACK_CORE_DATA_TYPES_IMPL_HPP
|
|
21
|
-
|
|
22
|
-
#include "types.hpp"
|
|
23
|
-
|
|
24
|
-
namespace mlpack{
|
|
25
|
-
namespace data{
|
|
26
|
-
|
|
27
|
-
inline arma::file_type ToArmaFileType(const FileType& type)
|
|
28
|
-
{
|
|
29
|
-
switch (type)
|
|
30
|
-
{
|
|
31
|
-
case FileType::FileTypeUnknown:
|
|
32
|
-
return arma::file_type_unknown;
|
|
33
|
-
break;
|
|
34
|
-
|
|
35
|
-
case FileType::AutoDetect:
|
|
36
|
-
return arma::auto_detect;
|
|
37
|
-
break;
|
|
38
|
-
|
|
39
|
-
case FileType::RawASCII:
|
|
40
|
-
return arma::raw_ascii;
|
|
41
|
-
break;
|
|
42
|
-
|
|
43
|
-
case FileType::ArmaASCII:
|
|
44
|
-
return arma::arma_ascii;
|
|
45
|
-
break;
|
|
46
|
-
|
|
47
|
-
case FileType::CSVASCII:
|
|
48
|
-
return arma::csv_ascii;
|
|
49
|
-
break;
|
|
50
|
-
|
|
51
|
-
case FileType::RawBinary:
|
|
52
|
-
return arma::raw_binary;
|
|
53
|
-
break;
|
|
54
|
-
|
|
55
|
-
case FileType::ArmaBinary:
|
|
56
|
-
return arma::arma_binary;
|
|
57
|
-
break;
|
|
58
|
-
|
|
59
|
-
case FileType::PGMBinary:
|
|
60
|
-
return arma::pgm_binary;
|
|
61
|
-
break;
|
|
62
|
-
|
|
63
|
-
case FileType::PPMBinary:
|
|
64
|
-
return arma::ppm_binary;
|
|
65
|
-
break;
|
|
66
|
-
|
|
67
|
-
case FileType::HDF5Binary:
|
|
68
|
-
return arma::hdf5_binary;
|
|
69
|
-
break;
|
|
70
|
-
|
|
71
|
-
case FileType::CoordASCII:
|
|
72
|
-
return arma::coord_ascii;
|
|
73
|
-
break;
|
|
74
|
-
|
|
75
|
-
default:
|
|
76
|
-
return arma::file_type_unknown;
|
|
77
|
-
break;
|
|
78
|
-
}
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
} // namespace data
|
|
82
|
-
} // namespace mlpack
|
|
83
|
-
#endif
|
|
@@ -1,158 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* @file core/data/utilities.hpp
|
|
3
|
-
* @author Ryan Curtin
|
|
4
|
-
* @author Omar Shrit
|
|
5
|
-
* @author Gopi Tatiraju
|
|
6
|
-
*
|
|
7
|
-
* Utilities functions that can be used during loading and saving the data..
|
|
8
|
-
*
|
|
9
|
-
* mlpack is free software; you may redistribute it and/or modify it under the
|
|
10
|
-
* terms of the 3-clause BSD license. You should have received a copy of the
|
|
11
|
-
* 3-clause BSD license along with mlpack. If not, see
|
|
12
|
-
* http://www.opensource.org/licenses/BSD-3-Clause for more information.
|
|
13
|
-
*/
|
|
14
|
-
#ifndef MLPACK_CORE_DATA_UTILITIES_HPP
|
|
15
|
-
#define MLPACK_CORE_DATA_UTILITIES_HPP
|
|
16
|
-
|
|
17
|
-
#include <mlpack/prereqs.hpp>
|
|
18
|
-
|
|
19
|
-
#include "detect_file_type.hpp"
|
|
20
|
-
|
|
21
|
-
namespace mlpack {
|
|
22
|
-
namespace data {
|
|
23
|
-
|
|
24
|
-
namespace details {
|
|
25
|
-
|
|
26
|
-
template<typename Tokenizer>
|
|
27
|
-
std::vector<std::string> ToTokens(Tokenizer& lineTok)
|
|
28
|
-
{
|
|
29
|
-
std::vector<std::string> tokens;
|
|
30
|
-
std::transform(std::begin(lineTok), std::end(lineTok),
|
|
31
|
-
std::back_inserter(tokens),
|
|
32
|
-
[&tokens](std::string const &str)
|
|
33
|
-
{
|
|
34
|
-
std::string trimmedToken(str);
|
|
35
|
-
Trim(trimmedToken);
|
|
36
|
-
return std::move(trimmedToken);
|
|
37
|
-
});
|
|
38
|
-
|
|
39
|
-
return tokens;
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
inline
|
|
43
|
-
void TransposeTokens(std::vector<std::vector<std::string>> const &input,
|
|
44
|
-
std::vector<std::string>& output,
|
|
45
|
-
size_t index)
|
|
46
|
-
{
|
|
47
|
-
output.clear();
|
|
48
|
-
for (size_t i = 0; i != input.size(); ++i)
|
|
49
|
-
{
|
|
50
|
-
output.emplace_back(input[i][index]);
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
} // namespace details
|
|
54
|
-
|
|
55
|
-
template<typename DataOptionsType>
|
|
56
|
-
bool OpenFile(const std::string& filename,
|
|
57
|
-
DataOptionsType& opts,
|
|
58
|
-
bool isLoading,
|
|
59
|
-
std::fstream& stream)
|
|
60
|
-
{
|
|
61
|
-
if (isLoading)
|
|
62
|
-
{
|
|
63
|
-
#ifdef _WIN32 // Always open in binary mode on Windows.
|
|
64
|
-
stream.open(filename.c_str(), std::fstream::in
|
|
65
|
-
| std::fstream::binary);
|
|
66
|
-
#else
|
|
67
|
-
stream.open(filename.c_str(), std::fstream::in);
|
|
68
|
-
#endif
|
|
69
|
-
}
|
|
70
|
-
// Add here and else if for ModelOptions in a couple of stages.
|
|
71
|
-
else
|
|
72
|
-
{
|
|
73
|
-
#ifdef _WIN32 // Always open in binary mode on Windows.
|
|
74
|
-
stream.open(filename.c_str(), std::fstream::out
|
|
75
|
-
| std::fstream::binary);
|
|
76
|
-
#else
|
|
77
|
-
stream.open(filename.c_str(), std::fstream::out);
|
|
78
|
-
#endif
|
|
79
|
-
}
|
|
80
|
-
|
|
81
|
-
if (!stream.is_open())
|
|
82
|
-
{
|
|
83
|
-
if (opts.Fatal() && isLoading)
|
|
84
|
-
Log::Fatal << "Cannot open file '" << filename << "' for loading. "
|
|
85
|
-
<< "Please check if the file exists." << std::endl;
|
|
86
|
-
|
|
87
|
-
else if (!opts.Fatal() && isLoading)
|
|
88
|
-
Log::Warn << "Cannot open file '" << filename << "' for loading. "
|
|
89
|
-
<< "Please check if the file exists." << std::endl;
|
|
90
|
-
|
|
91
|
-
else if (opts.Fatal() && !isLoading)
|
|
92
|
-
Log::Fatal << "Cannot open file '" << filename << "' for saving. "
|
|
93
|
-
<< "Please check if you have permissions for writing." << std::endl;
|
|
94
|
-
|
|
95
|
-
else if (!opts.Fatal() && !isLoading)
|
|
96
|
-
Log::Warn << "Cannot open file '" << filename << "' for saving. "
|
|
97
|
-
<< "Please check if you have permissions for writing." << std::endl;
|
|
98
|
-
|
|
99
|
-
return false;
|
|
100
|
-
}
|
|
101
|
-
return true;
|
|
102
|
-
}
|
|
103
|
-
|
|
104
|
-
template<typename MatType, typename DataOptionsType>
|
|
105
|
-
bool DetectFileType(const std::string& filename,
|
|
106
|
-
DataOptionsType& opts,
|
|
107
|
-
bool isLoading,
|
|
108
|
-
std::fstream* stream = nullptr)
|
|
109
|
-
{
|
|
110
|
-
// Add if for ModelOptions in a couple of stages
|
|
111
|
-
if (opts.Format() == FileType::AutoDetect)
|
|
112
|
-
{
|
|
113
|
-
if (isLoading)
|
|
114
|
-
// Attempt to auto-detect the type from the given file.
|
|
115
|
-
opts.Format() = AutoDetect(*stream, filename);
|
|
116
|
-
else
|
|
117
|
-
DetectFromExtension<MatType>(filename, opts);
|
|
118
|
-
// Provide error if we don't know the type.
|
|
119
|
-
if (opts.Format() == FileType::FileTypeUnknown)
|
|
120
|
-
{
|
|
121
|
-
if (opts.Fatal())
|
|
122
|
-
Log::Fatal << "Unable to detect type of '" << filename << "'; "
|
|
123
|
-
<< "Incorrect extension?" << std::endl;
|
|
124
|
-
else
|
|
125
|
-
Log::Warn << "Unable to detect type of '" << filename << "'; "
|
|
126
|
-
<< "Incorrect extension?" << std::endl;
|
|
127
|
-
|
|
128
|
-
return false;
|
|
129
|
-
}
|
|
130
|
-
}
|
|
131
|
-
return true;
|
|
132
|
-
}
|
|
133
|
-
|
|
134
|
-
template<typename MatType, typename DataOptionsType>
|
|
135
|
-
bool SaveMatrix(const MatType& matrix,
|
|
136
|
-
const DataOptionsType& opts,
|
|
137
|
-
const std::string& filename,
|
|
138
|
-
std::fstream& stream)
|
|
139
|
-
{
|
|
140
|
-
bool success = false;
|
|
141
|
-
if (opts.Format() == FileType::HDF5Binary)
|
|
142
|
-
{
|
|
143
|
-
#ifdef ARMA_USE_HDF5
|
|
144
|
-
// We can't save with streams for HDF5.
|
|
145
|
-
success = matrix.save(filename, ToArmaFileType(opts.Format()));
|
|
146
|
-
#endif
|
|
147
|
-
}
|
|
148
|
-
else
|
|
149
|
-
{
|
|
150
|
-
success = matrix.save(stream, ToArmaFileType(opts.Format()));
|
|
151
|
-
}
|
|
152
|
-
return success;
|
|
153
|
-
}
|
|
154
|
-
|
|
155
|
-
} //namespace data
|
|
156
|
-
} //namespace mlpack
|
|
157
|
-
|
|
158
|
-
#endif
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
return "mlpack git-0fdccbfb21";
|