mlpack 4.6.2__cp313-cp313-win_amd64.whl → 4.7.0__cp313-cp313-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 +4 -4
- mlpack/adaboost_classify.cp313-win_amd64.pyd +0 -0
- mlpack/adaboost_probabilities.cp313-win_amd64.pyd +0 -0
- mlpack/adaboost_train.cp313-win_amd64.pyd +0 -0
- mlpack/approx_kfn.cp313-win_amd64.pyd +0 -0
- mlpack/arma_numpy.cp313-win_amd64.pyd +0 -0
- mlpack/bayesian_linear_regression.cp313-win_amd64.pyd +0 -0
- mlpack/cf.cp313-win_amd64.pyd +0 -0
- mlpack/dbscan.cp313-win_amd64.pyd +0 -0
- mlpack/decision_tree.cp313-win_amd64.pyd +0 -0
- mlpack/det.cp313-win_amd64.pyd +0 -0
- mlpack/emst.cp313-win_amd64.pyd +0 -0
- mlpack/fastmks.cp313-win_amd64.pyd +0 -0
- mlpack/gmm_generate.cp313-win_amd64.pyd +0 -0
- mlpack/gmm_probability.cp313-win_amd64.pyd +0 -0
- mlpack/gmm_train.cp313-win_amd64.pyd +0 -0
- mlpack/hmm_generate.cp313-win_amd64.pyd +0 -0
- mlpack/hmm_loglik.cp313-win_amd64.pyd +0 -0
- mlpack/hmm_train.cp313-win_amd64.pyd +0 -0
- mlpack/hmm_viterbi.cp313-win_amd64.pyd +0 -0
- mlpack/hoeffding_tree.cp313-win_amd64.pyd +0 -0
- mlpack/image_converter.cp313-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.cp313-win_amd64.pyd +0 -0
- mlpack/kernel_pca.cp313-win_amd64.pyd +0 -0
- mlpack/kfn.cp313-win_amd64.pyd +0 -0
- mlpack/kmeans.cp313-win_amd64.pyd +0 -0
- mlpack/knn.cp313-win_amd64.pyd +0 -0
- mlpack/krann.cp313-win_amd64.pyd +0 -0
- mlpack/lars.cp313-win_amd64.pyd +0 -0
- mlpack/linear_regression_predict.cp313-win_amd64.pyd +0 -0
- mlpack/linear_regression_train.cp313-win_amd64.pyd +0 -0
- mlpack/linear_svm.cp313-win_amd64.pyd +0 -0
- mlpack/lmnn.cp313-win_amd64.pyd +0 -0
- mlpack/local_coordinate_coding.cp313-win_amd64.pyd +0 -0
- mlpack/logistic_regression.cp313-win_amd64.pyd +0 -0
- mlpack/lsh.cp313-win_amd64.pyd +0 -0
- mlpack/mean_shift.cp313-win_amd64.pyd +0 -0
- mlpack/nbc.cp313-win_amd64.pyd +0 -0
- mlpack/nca.cp313-win_amd64.pyd +0 -0
- mlpack/nmf.cp313-win_amd64.pyd +0 -0
- mlpack/pca.cp313-win_amd64.pyd +0 -0
- mlpack/perceptron.cp313-win_amd64.pyd +0 -0
- mlpack/preprocess_binarize.cp313-win_amd64.pyd +0 -0
- mlpack/preprocess_describe.cp313-win_amd64.pyd +0 -0
- mlpack/preprocess_one_hot_encoding.cp313-win_amd64.pyd +0 -0
- mlpack/preprocess_scale.cp313-win_amd64.pyd +0 -0
- mlpack/preprocess_split.cp313-win_amd64.pyd +0 -0
- mlpack/radical.cp313-win_amd64.pyd +0 -0
- mlpack/random_forest.cp313-win_amd64.pyd +0 -0
- mlpack/softmax_regression.cp313-win_amd64.pyd +0 -0
- mlpack/sparse_coding.cp313-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 +2 -2
- {mlpack-4.6.2.dist-info → mlpack-4.7.0.dist-info}/RECORD +396 -377
- {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/{libopenblas-9e6d070f769e6580e8c55c0cf83b80a5.dll → libopenblas-c7f521b507686ddc25bee7538a80c374.dll} +0 -0
- /mlpack.libs/{msvcp140-50208655e42969b9a5ab8a4e0186bbb9.dll → msvcp140-a4c2229bdc2a2a630acdc095b4d86008.dll} +0 -0
|
@@ -15,13 +15,11 @@
|
|
|
15
15
|
#include <mlpack/prereqs.hpp>
|
|
16
16
|
|
|
17
17
|
namespace mlpack {
|
|
18
|
-
|
|
18
|
+
|
|
19
19
|
/**
|
|
20
|
-
* This is a class implementation of simple median imputation
|
|
21
|
-
*
|
|
22
|
-
* @tparam T Type of armadillo matrix
|
|
20
|
+
* This is a class implementation of simple median imputation: replace missing
|
|
21
|
+
* value with the median of non-missing values.
|
|
23
22
|
*/
|
|
24
|
-
template <typename T>
|
|
25
23
|
class MedianImputation
|
|
26
24
|
{
|
|
27
25
|
public:
|
|
@@ -35,59 +33,62 @@ class MedianImputation
|
|
|
35
33
|
* @param dimension Index of the dimension of the mappedValue.
|
|
36
34
|
* @param columnMajor State of whether the input matrix is columnMajor or not.
|
|
37
35
|
*/
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
36
|
+
template<typename MatType>
|
|
37
|
+
static void Impute(MatType& input,
|
|
38
|
+
const typename MatType::elem_type& missingValue,
|
|
39
|
+
const size_t dimension,
|
|
40
|
+
const bool columnMajor = true)
|
|
42
41
|
{
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
// good elements are kept inside this vector.
|
|
47
|
-
std::vector<double> elemsToKeep;
|
|
42
|
+
static_assert(!IsSparse<MatType>::value, "MedianImputation::Impute(): "
|
|
43
|
+
"sparse matrix imputation is not supported; use a dense matrix "
|
|
44
|
+
"instead!");
|
|
48
45
|
|
|
49
|
-
|
|
46
|
+
typedef typename MatType::elem_type ElemType;
|
|
47
|
+
|
|
48
|
+
// If mappedValue is NaN, Armadillo does not quite provide the tools we need
|
|
49
|
+
// so we have to do our own implementation. Otherwise, we can directly use
|
|
50
|
+
// Armadillo pretty easily.
|
|
51
|
+
ElemType medianValue;
|
|
52
|
+
MatType tmp;
|
|
53
|
+
if (std::isnan(missingValue))
|
|
50
54
|
{
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
}
|
|
58
|
-
else
|
|
59
|
-
{
|
|
60
|
-
elemsToKeep.push_back(input(dimension, i));
|
|
61
|
-
}
|
|
62
|
-
}
|
|
55
|
+
if (columnMajor)
|
|
56
|
+
tmp = input.row(dimension);
|
|
57
|
+
else
|
|
58
|
+
tmp = input.col(dimension).t();
|
|
59
|
+
|
|
60
|
+
tmp.shed_cols(find_nan(tmp));
|
|
63
61
|
}
|
|
64
62
|
else
|
|
65
63
|
{
|
|
66
|
-
|
|
64
|
+
typedef typename GetUColType<MatType>::type UCol;
|
|
65
|
+
if (columnMajor)
|
|
67
66
|
{
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
elemsToKeep.push_back(input(i, dimension));
|
|
76
|
-
}
|
|
67
|
+
tmp = input.submat(UCol({ dimension }),
|
|
68
|
+
find(input.row(dimension) != missingValue));
|
|
69
|
+
}
|
|
70
|
+
else
|
|
71
|
+
{
|
|
72
|
+
tmp = input.submat(
|
|
73
|
+
find(input.col(dimension) != missingValue), UCol({ dimension }));
|
|
77
74
|
}
|
|
78
75
|
}
|
|
79
76
|
|
|
80
|
-
//
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
for (const PairType& target : targets)
|
|
77
|
+
// Compute the median on the extracted elements.
|
|
78
|
+
if (tmp.is_empty())
|
|
84
79
|
{
|
|
85
|
-
|
|
80
|
+
throw std::invalid_argument("MedianImputation::Impute(): no non-missing "
|
|
81
|
+
"elements; cannot compute median!");
|
|
86
82
|
}
|
|
83
|
+
medianValue = median(vectorise(tmp));
|
|
84
|
+
|
|
85
|
+
if (columnMajor)
|
|
86
|
+
input.row(dimension).replace(missingValue, medianValue);
|
|
87
|
+
else
|
|
88
|
+
input.col(dimension).replace(missingValue, medianValue);
|
|
87
89
|
}
|
|
88
90
|
}; // class MedianImputation
|
|
89
91
|
|
|
90
|
-
} // namespace data
|
|
91
92
|
} // namespace mlpack
|
|
92
93
|
|
|
93
94
|
#endif
|
|
@@ -14,81 +14,73 @@
|
|
|
14
14
|
#define MLPACK_CORE_DATA_IMPUTER_HPP
|
|
15
15
|
|
|
16
16
|
#include <mlpack/prereqs.hpp>
|
|
17
|
-
#include "dataset_mapper.hpp"
|
|
18
|
-
#include "map_policies/missing_policy.hpp"
|
|
19
|
-
#include "map_policies/increment_policy.hpp"
|
|
20
17
|
|
|
21
18
|
namespace mlpack {
|
|
22
|
-
namespace data {
|
|
23
19
|
|
|
24
20
|
/**
|
|
25
21
|
* Given a dataset of a particular datatype, replace user-specified missing
|
|
26
|
-
* value with a variable dependent on the StrategyType
|
|
22
|
+
* value with a variable dependent on the StrategyType.
|
|
27
23
|
*
|
|
28
|
-
* @tparam T Type of armadillo matrix used for imputation strategy.
|
|
29
|
-
* @tparam MapperType DatasetMapper that is used to hold dataset information.
|
|
30
24
|
* @tparam StrategyType Imputation strategy used.
|
|
31
25
|
*/
|
|
32
|
-
template<typename
|
|
26
|
+
template<typename StrategyType = MeanImputation>
|
|
33
27
|
class Imputer
|
|
34
28
|
{
|
|
35
29
|
public:
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
30
|
+
// Create an imputer, optionally specifying an instantiated imputation
|
|
31
|
+
// strategy.
|
|
32
|
+
Imputer(StrategyType strategy = StrategyType()) :
|
|
33
|
+
strategy(std::move(strategy))
|
|
39
34
|
{
|
|
40
|
-
// Nothing to
|
|
41
|
-
}
|
|
42
|
-
|
|
43
|
-
Imputer(MapperType mapper, StrategyType strategy, bool columnMajor = true):
|
|
44
|
-
strategy(std::move(strategy)),
|
|
45
|
-
mapper(std::move(mapper)),
|
|
46
|
-
columnMajor(columnMajor)
|
|
47
|
-
{
|
|
48
|
-
// Nothing to initialize here.
|
|
35
|
+
// Nothing to do.
|
|
49
36
|
}
|
|
50
37
|
|
|
51
38
|
/**
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
const
|
|
39
|
+
* Given an input dataset, replace missing values of a dimension with given
|
|
40
|
+
* imputation strategy. This function does not produce an output matrix, but
|
|
41
|
+
* overwrites the result into the input matrix.
|
|
42
|
+
*
|
|
43
|
+
* @param input Input dataset to apply imputation.
|
|
44
|
+
* @param missingValue User defined missing value; it can be anything.
|
|
45
|
+
* @param dimension Dimension to apply the imputation.
|
|
46
|
+
*/
|
|
47
|
+
template<typename MatType>
|
|
48
|
+
void Impute(MatType& input,
|
|
49
|
+
const typename MatType::elem_type& missingValue,
|
|
50
|
+
const size_t dimension,
|
|
51
|
+
const bool columnMajor = true,
|
|
52
|
+
const std::enable_if_t<IsArma<MatType>::value>* = 0)
|
|
63
53
|
{
|
|
64
|
-
|
|
65
|
-
|
|
54
|
+
if (columnMajor && (dimension >= input.n_rows))
|
|
55
|
+
{
|
|
56
|
+
std::ostringstream oss;
|
|
57
|
+
oss << "Imputer::Impute(): given dimension to impute (" << dimension
|
|
58
|
+
<< ") must be less than the number of rows in the matrix ("
|
|
59
|
+
<< input.n_rows << ")!" << std::endl;
|
|
60
|
+
throw std::invalid_argument(oss.str());
|
|
61
|
+
}
|
|
62
|
+
else if (!columnMajor && (dimension >= input.n_cols))
|
|
63
|
+
{
|
|
64
|
+
std::ostringstream oss;
|
|
65
|
+
oss << "Imputer::Impute(): given dimension to impute (" << dimension
|
|
66
|
+
<< ") must be less than the number of columns in the matrix ("
|
|
67
|
+
<< input.n_cols << ")!" << std::endl;
|
|
68
|
+
throw std::invalid_argument(oss.str());
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
strategy.Impute(input, missingValue, dimension, columnMajor);
|
|
66
72
|
}
|
|
67
73
|
|
|
68
|
-
|
|
74
|
+
// Get the strategy.
|
|
69
75
|
const StrategyType& Strategy() const { return strategy; }
|
|
70
|
-
|
|
71
|
-
//! Modify the given strategy.
|
|
76
|
+
// Modify the given strategy.
|
|
72
77
|
StrategyType& Strategy() { return strategy; }
|
|
73
78
|
|
|
74
|
-
//! Get the mapper.
|
|
75
|
-
const MapperType& Mapper() const { return mapper; }
|
|
76
|
-
|
|
77
|
-
//! Modify the given mapper.
|
|
78
|
-
MapperType& Mapper() { return mapper; }
|
|
79
|
-
|
|
80
79
|
private:
|
|
81
80
|
// StrategyType
|
|
82
81
|
StrategyType strategy;
|
|
83
|
-
|
|
84
|
-
// DatasetMapperType<MapPolicy>
|
|
85
|
-
MapperType mapper;
|
|
86
|
-
|
|
87
|
-
// save columnMajor as a member variable since it is rarely changed.
|
|
88
|
-
bool columnMajor;
|
|
89
82
|
}; // class Imputer
|
|
90
83
|
|
|
91
|
-
} // namespace data
|
|
92
84
|
} // namespace mlpack
|
|
93
85
|
|
|
94
86
|
#endif
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
#include <mlpack/prereqs.hpp>
|
|
18
18
|
|
|
19
19
|
namespace mlpack {
|
|
20
|
-
namespace data {
|
|
21
20
|
|
|
22
21
|
/**
|
|
23
22
|
* See if the token is a NaN or an Inf, and if so, set the value accordingly and
|
|
@@ -66,7 +65,6 @@ inline bool IsNaNInf(T& val, const std::string& token)
|
|
|
66
65
|
return false;
|
|
67
66
|
}
|
|
68
67
|
|
|
69
|
-
} // namespace data
|
|
70
68
|
} // namespace mlpack
|
|
71
69
|
|
|
72
70
|
#endif
|
|
@@ -3,9 +3,10 @@
|
|
|
3
3
|
* @author Ryan Curtin
|
|
4
4
|
* @author Omar Shrit
|
|
5
5
|
*
|
|
6
|
-
* Load
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* mlpack Load function interface from a file.
|
|
7
|
+
*
|
|
8
|
+
* This Load interface allows to load numeric / image / models from disk into
|
|
9
|
+
* an Armadillo matrix or mlpack object.
|
|
9
10
|
*
|
|
10
11
|
* mlpack is free software; you may redistribute it and/or modify it under the
|
|
11
12
|
* terms of the 3-clause BSD license. You should have received a copy of the
|
|
@@ -17,19 +18,16 @@
|
|
|
17
18
|
|
|
18
19
|
#include <mlpack/prereqs.hpp>
|
|
19
20
|
|
|
21
|
+
#include "image_options.hpp"
|
|
20
22
|
#include "text_options.hpp"
|
|
21
|
-
#include "format.hpp"
|
|
22
|
-
#include "dataset_mapper.hpp"
|
|
23
23
|
#include "detect_file_type.hpp"
|
|
24
|
-
#include "
|
|
24
|
+
#include "load_deprecated.hpp"
|
|
25
25
|
#include "load_arff.hpp"
|
|
26
26
|
#include "load_numeric.hpp"
|
|
27
|
-
#include "load_categorical.hpp"
|
|
28
27
|
#include "load_image.hpp"
|
|
29
|
-
#include "
|
|
28
|
+
#include "load_model.hpp"
|
|
30
29
|
|
|
31
30
|
namespace mlpack {
|
|
32
|
-
namespace data /** Functions to load and save matrices and models. */ {
|
|
33
31
|
|
|
34
32
|
/**
|
|
35
33
|
* Loads a matrix from file, guessing the filetype from the extension. This
|
|
@@ -44,9 +42,9 @@ template<typename MatType, typename DataOptionsType>
|
|
|
44
42
|
bool Load(const std::string& filename,
|
|
45
43
|
MatType& matrix,
|
|
46
44
|
DataOptionsType& opts,
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
45
|
+
const bool copyBack = true,
|
|
46
|
+
const typename std::enable_if_t<
|
|
47
|
+
IsDataOptions<DataOptionsType>::value>* = 0);
|
|
50
48
|
|
|
51
49
|
/**
|
|
52
50
|
* Loads a matrix from file, guessing the filetype from the extension. This
|
|
@@ -57,247 +55,65 @@ bool Load(const std::string& filename,
|
|
|
57
55
|
* @param opts Non-modifiable DataOptions to be passed to the function
|
|
58
56
|
* @return Boolean value indicating success or failure of load.
|
|
59
57
|
*/
|
|
60
|
-
template<typename MatType, typename DataOptionsType>
|
|
58
|
+
template<typename MatType, typename DataOptionsType = PlainDataOptions>
|
|
61
59
|
bool Load(const std::string& filename,
|
|
62
60
|
MatType& matrix,
|
|
63
|
-
const DataOptionsType& opts,
|
|
64
|
-
std::enable_if_t<
|
|
65
|
-
|
|
66
|
-
std::enable_if_t<!std::is_same_v<DataOptionsType, bool>>* = 0);
|
|
67
|
-
|
|
61
|
+
const DataOptionsType& opts = DataOptionsType(),
|
|
62
|
+
const typename std::enable_if_t<
|
|
63
|
+
IsDataOptions<DataOptionsType>::value>* = 0);
|
|
68
64
|
/**
|
|
69
|
-
*
|
|
70
|
-
*
|
|
71
|
-
*
|
|
72
|
-
*
|
|
73
|
-
* The supported types of files are the same as found in Armadillo:
|
|
74
|
-
*
|
|
75
|
-
* - CSV (arma::csv_ascii), denoted by .csv, or optionally .txt
|
|
76
|
-
* - TSV (arma::raw_ascii), denoted by .tsv, .csv, or .txt
|
|
77
|
-
* - ASCII (arma::raw_ascii), denoted by .txt
|
|
78
|
-
* - Armadillo ASCII (arma::arma_ascii), also denoted by .txt
|
|
79
|
-
* - PGM (arma::pgm_binary), denoted by .pgm
|
|
80
|
-
* - PPM (arma::ppm_binary), denoted by .ppm
|
|
81
|
-
* - Raw binary (arma::raw_binary), denoted by .bin
|
|
82
|
-
* - Armadillo binary (arma::arma_binary), denoted by .bin
|
|
83
|
-
* - HDF5 (arma::hdf5_binary), denoted by .hdf, .hdf5, .h5, or .he5
|
|
84
|
-
*
|
|
85
|
-
* By default, this function will try to automatically determine the type of
|
|
86
|
-
* file to load based on its extension and by inspecting the file. If you know
|
|
87
|
-
* the file type and want to specify it manually, override the default
|
|
88
|
-
* `inputLoadType` parameter with the correct type above (e.g.
|
|
89
|
-
* `arma::csv_ascii`.)
|
|
65
|
+
* This function loads a set of several dataset files into one matrix.
|
|
66
|
+
* This is usually the case if the dataset is collected on several occasions
|
|
67
|
+
* and not agglomerated into one file, or if the dataset has been partitioned
|
|
68
|
+
* into multiple files.
|
|
90
69
|
*
|
|
91
|
-
*
|
|
92
|
-
*
|
|
93
|
-
* will
|
|
70
|
+
* Note, the load will fail if the number of dimension (data points) in all
|
|
71
|
+
* files is not equal, or if the dataset does not have the same filetype. For
|
|
72
|
+
* example, the load will fail one file is CSV and the other is binary.
|
|
94
73
|
*
|
|
95
|
-
*
|
|
96
|
-
*
|
|
97
|
-
* 'transpose' controls whether or not the matrix is transposed after loading.
|
|
98
|
-
* In most cases, because data is generally stored in a row-major format and
|
|
99
|
-
* mlpack requires column-major matrices, this should be left at its default
|
|
100
|
-
* value of 'true'.
|
|
74
|
+
* The user needs to specify all the filenames in one std::vector before using
|
|
75
|
+
* this function.
|
|
101
76
|
*
|
|
102
|
-
* @param
|
|
103
|
-
* @param matrix Matrix to load contents of
|
|
104
|
-
* @param
|
|
105
|
-
* @param transpose If true, transpose the matrix after loading (default true).
|
|
106
|
-
* @param inputLoadType Used to determine the type of file to load (default arma::auto_detect).
|
|
77
|
+
* @param filenames Names of files to load.
|
|
78
|
+
* @param matrix Matrix to load contents of files into.
|
|
79
|
+
* @param opts DataOptions to be passed to the function
|
|
107
80
|
* @return Boolean value indicating success or failure of load.
|
|
108
81
|
*/
|
|
109
|
-
template<typename eT>
|
|
110
|
-
bool Load(const std::string
|
|
82
|
+
template<typename eT, typename DataOptionsType>
|
|
83
|
+
bool Load(const std::vector<std::string>& files,
|
|
111
84
|
arma::Mat<eT>& matrix,
|
|
112
|
-
const
|
|
113
|
-
const
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
/**
|
|
117
|
-
* Loads a sparse matrix from file, using arma::coord_ascii format. This
|
|
118
|
-
* will transpose the matrix at load time (unless the transpose parameter is set
|
|
119
|
-
* to false). If the filetype cannot be determined, an error will be given.
|
|
120
|
-
*
|
|
121
|
-
* The supported types of files are the same as found in Armadillo:
|
|
122
|
-
*
|
|
123
|
-
* - CSV (coord_ascii), denoted by .csv or .txt
|
|
124
|
-
* - TSV (coord_ascii), denoted by .tsv or .txt
|
|
125
|
-
* - TXT (coord_ascii), denoted by .txt
|
|
126
|
-
* - Raw binary (raw_binary), denoted by .bin
|
|
127
|
-
* - Armadillo binary (arma_binary), denoted by .bin
|
|
128
|
-
*
|
|
129
|
-
* If the file extension is not one of those types, an error will be given.
|
|
130
|
-
* This is preferable to Armadillo's default behavior of loading an unknown
|
|
131
|
-
* filetype as raw_binary, which can have very confusing effects.
|
|
132
|
-
*
|
|
133
|
-
* If the parameter 'fatal' is set to true, a std::runtime_error exception will
|
|
134
|
-
* be thrown if the matrix does not load successfully. The parameter
|
|
135
|
-
* 'transpose' controls whether or not the matrix is transposed after loading.
|
|
136
|
-
* In most cases, because data is generally stored in a row-major format and
|
|
137
|
-
* mlpack requires column-major matrices, this should be left at its default
|
|
138
|
-
* value of 'true'.
|
|
139
|
-
*
|
|
140
|
-
* @param filename Name of file to load.
|
|
141
|
-
* @param matrix Sparse matrix to load contents of file into.
|
|
142
|
-
* @param fatal If an error should be reported as fatal (default false).
|
|
143
|
-
* @param transpose If true, transpose the matrix after loading (default true).
|
|
144
|
-
* @return Boolean value indicating success or failure of load.
|
|
145
|
-
*/
|
|
146
|
-
template<typename eT>
|
|
147
|
-
bool Load(const std::string& filename,
|
|
148
|
-
arma::SpMat<eT>& matrix,
|
|
149
|
-
const bool fatal = false,
|
|
150
|
-
const bool transpose = true,
|
|
151
|
-
const FileType inputLoadType = FileType::AutoDetect);
|
|
152
|
-
|
|
153
|
-
/**
|
|
154
|
-
* Load a column vector from a file, guessing the filetype from the extension.
|
|
155
|
-
*
|
|
156
|
-
* The supported types of files are the same as found in Armadillo:
|
|
157
|
-
*
|
|
158
|
-
* - CSV (csv_ascii), denoted by .csv, or optionally .txt
|
|
159
|
-
* - TSV (raw_ascii), denoted by .tsv, .csv, or .txt
|
|
160
|
-
* - ASCII (raw_ascii), denoted by .txt
|
|
161
|
-
* - Armadillo ASCII (arma_ascii), also denoted by .txt
|
|
162
|
-
* - PGM (pgm_binary), denoted by .pgm
|
|
163
|
-
* - PPM (ppm_binary), denoted by .ppm
|
|
164
|
-
* - Raw binary (raw_binary), denoted by .bin
|
|
165
|
-
* - Armadillo binary (arma_binary), denoted by .bin
|
|
166
|
-
* - HDF5, denoted by .hdf, .hdf5, .h5, or .he5
|
|
167
|
-
*
|
|
168
|
-
* If the file extension is not one of those types, an error will be given.
|
|
169
|
-
* This is preferable to Armadillo's default behavior of loading an unknown
|
|
170
|
-
* filetype as raw_binary, which can have very confusing effects.
|
|
171
|
-
*
|
|
172
|
-
* If the parameter 'fatal' is set to true, a std::runtime_error exception will
|
|
173
|
-
* be thrown if the matrix does not load successfully.
|
|
174
|
-
*
|
|
175
|
-
* @param filename Name of file to load.
|
|
176
|
-
* @param vec Column vector to load contents of file into.
|
|
177
|
-
* @param fatal If an error should be reported as fatal (default false).
|
|
178
|
-
* @return Boolean value indicating success or failure of load.
|
|
179
|
-
*/
|
|
180
|
-
template<typename eT>
|
|
181
|
-
bool Load(const std::string& filename,
|
|
182
|
-
arma::Col<eT>& vec,
|
|
183
|
-
const bool fatal = false);
|
|
184
|
-
|
|
185
|
-
/**
|
|
186
|
-
* Load a row vector from a file, guessing the filetype from the extension.
|
|
187
|
-
*
|
|
188
|
-
* The supported types of files are the same as found in Armadillo:
|
|
189
|
-
*
|
|
190
|
-
* - CSV (csv_ascii), denoted by .csv, or optionally .txt
|
|
191
|
-
* - TSV (raw_ascii), denoted by .tsv, .csv, or .txt
|
|
192
|
-
* - ASCII (raw_ascii), denoted by .txt
|
|
193
|
-
* - Armadillo ASCII (arma_ascii), also denoted by .txt
|
|
194
|
-
* - PGM (pgm_binary), denoted by .pgm
|
|
195
|
-
* - PPM (ppm_binary), denoted by .ppm
|
|
196
|
-
* - Raw binary (raw_binary), denoted by .bin
|
|
197
|
-
* - Armadillo binary (arma_binary), denoted by .bin
|
|
198
|
-
* - HDF5, denoted by .hdf, .hdf5, .h5, or .he5
|
|
199
|
-
*
|
|
200
|
-
* If the file extension is not one of those types, an error will be given.
|
|
201
|
-
* This is preferable to Armadillo's default behavior of loading an unknown
|
|
202
|
-
* filetype as raw_binary, which can have very confusing effects.
|
|
203
|
-
*
|
|
204
|
-
* If the parameter 'fatal' is set to true, a std::runtime_error exception will
|
|
205
|
-
* be thrown if the matrix does not load successfully.
|
|
206
|
-
*
|
|
207
|
-
* @param filename Name of file to load.
|
|
208
|
-
* @param rowvec Row vector to load contents of file into.
|
|
209
|
-
* @param fatal If an error should be reported as fatal (default false).
|
|
210
|
-
* @return Boolean value indicating success or failure of load.
|
|
211
|
-
*/
|
|
212
|
-
template<typename eT>
|
|
213
|
-
bool Load(const std::string& filename,
|
|
214
|
-
arma::Row<eT>& rowvec,
|
|
215
|
-
const bool fatal = false);
|
|
216
|
-
|
|
85
|
+
const DataOptionsType& opts,
|
|
86
|
+
const typename std::enable_if_t<
|
|
87
|
+
IsDataOptions<DataOptionsType>::value>* = 0);
|
|
217
88
|
/**
|
|
218
|
-
*
|
|
219
|
-
*
|
|
220
|
-
*
|
|
221
|
-
*
|
|
222
|
-
* those given below:
|
|
223
|
-
*
|
|
224
|
-
* - CSV (csv_ascii), denoted by .csv, or optionally .txt
|
|
225
|
-
* - TSV (raw_ascii), denoted by .tsv, .csv, or .txt
|
|
226
|
-
* - ASCII (raw_ascii), denoted by .txt
|
|
89
|
+
* This function loads a set of several dataset files into one matrix.
|
|
90
|
+
* This is usually the case if the dataset is collected on several occasions
|
|
91
|
+
* and not agglomerated into one file, or if the dataset has been partitioned
|
|
92
|
+
* into multiple files.
|
|
227
93
|
*
|
|
228
|
-
*
|
|
229
|
-
*
|
|
230
|
-
*
|
|
94
|
+
* Note, the load will fail if the number of dimension (data points) in all
|
|
95
|
+
* files is not equal, or if the dataset does not have the same filetype. For
|
|
96
|
+
* example, the load will fail one file is CSV and the other is binary.
|
|
231
97
|
*
|
|
232
|
-
*
|
|
233
|
-
*
|
|
234
|
-
* 'transpose' controls whether or not the matrix is transposed after loading.
|
|
235
|
-
* In most cases, because data is generally stored in a row-major format and
|
|
236
|
-
* mlpack requires column-major matrices, this should be left at its default
|
|
237
|
-
* value of 'true'.
|
|
98
|
+
* The user needs to specify all the filenames in one std::vector before using
|
|
99
|
+
* this function.
|
|
238
100
|
*
|
|
239
|
-
*
|
|
240
|
-
*
|
|
241
|
-
*
|
|
242
|
-
* new `DatasetMapper` object (e.g. its dimensionality is 0), then new mappings
|
|
243
|
-
* will be created. If the given `info` has a different dimensionality of data
|
|
244
|
-
* than what is present in `filename`, an exception will be thrown.
|
|
245
|
-
*
|
|
246
|
-
* @param filename Name of file to load.
|
|
247
|
-
* @param matrix Matrix to load contents of file into.
|
|
248
|
-
* @param info DatasetMapper object to populate with mappings and data types.
|
|
249
|
-
* @param fatal If an error should be reported as fatal (default false).
|
|
250
|
-
* @param transpose If true, transpose the matrix after loading.
|
|
101
|
+
* @param filenames Names of files to load.
|
|
102
|
+
* @param matrix Matrix to load contents of files into.
|
|
103
|
+
* @param opts DataOptions to be passed to the function
|
|
251
104
|
* @return Boolean value indicating success or failure of load.
|
|
252
105
|
*/
|
|
253
|
-
template<typename eT, typename
|
|
254
|
-
bool Load(const std::string
|
|
106
|
+
template<typename eT, typename DataOptionsType>
|
|
107
|
+
bool Load(const std::vector<std::string>& files,
|
|
255
108
|
arma::Mat<eT>& matrix,
|
|
256
|
-
|
|
257
|
-
const bool
|
|
258
|
-
const
|
|
259
|
-
|
|
260
|
-
/**
|
|
261
|
-
* Load a model from a file, guessing the filetype from the extension, or,
|
|
262
|
-
* optionally, loading the specified format. If automatic extension detection
|
|
263
|
-
* is used and the filetype cannot be determined, an error will be given.
|
|
264
|
-
*
|
|
265
|
-
* The supported types of files are the same as what is supported by the
|
|
266
|
-
* cereal library:
|
|
267
|
-
*
|
|
268
|
-
* - json, denoted by .json
|
|
269
|
-
* - xml, denoted by .xml
|
|
270
|
-
* - binary, denoted by .bin
|
|
271
|
-
*
|
|
272
|
-
* The format parameter can take any of the values in the 'format' enum:
|
|
273
|
-
* 'format::autodetect', 'format::json', 'format::xml', and 'format::binary'.
|
|
274
|
-
* The autodetect functionality operates on the file extension (so, "file.txt"
|
|
275
|
-
* would be autodetected as text).
|
|
276
|
-
*
|
|
277
|
-
* The name parameter should be specified to indicate the name of the structure
|
|
278
|
-
* to be loaded. This should be the same as the name that was used to save the
|
|
279
|
-
* structure (otherwise, the loading procedure will fail).
|
|
280
|
-
*
|
|
281
|
-
* If the parameter 'fatal' is set to true, then an exception will be thrown in
|
|
282
|
-
* the event of load failure. Otherwise, the method will return false and the
|
|
283
|
-
* relevant error information will be printed to Log::Warn.
|
|
284
|
-
*/
|
|
285
|
-
template<typename T>
|
|
286
|
-
bool Load(const std::string& filename,
|
|
287
|
-
const std::string& name,
|
|
288
|
-
T& t,
|
|
289
|
-
const bool fatal = false,
|
|
290
|
-
format f = format::autodetect,
|
|
291
|
-
std::enable_if_t<HasSerialize<T>::value>* = 0);
|
|
109
|
+
DataOptionsType& opts,
|
|
110
|
+
const bool copyBack = true,
|
|
111
|
+
const typename std::enable_if_t<
|
|
112
|
+
IsDataOptions<DataOptionsType>::value>* = 0);
|
|
292
113
|
|
|
293
|
-
} // namespace data
|
|
294
114
|
} // namespace mlpack
|
|
295
115
|
|
|
296
116
|
// Include implementation of Load() for matrix.
|
|
297
117
|
#include "load_impl.hpp"
|
|
298
|
-
// Include implementation of model-loading Load() overload.
|
|
299
|
-
#include "load_model_impl.hpp"
|
|
300
|
-
// Include implementation of Load() for vectors.
|
|
301
|
-
#include "load_vec_impl.hpp"
|
|
302
118
|
|
|
303
119
|
#endif
|
|
@@ -17,7 +17,6 @@
|
|
|
17
17
|
#include "string_algorithms.hpp"
|
|
18
18
|
|
|
19
19
|
namespace mlpack {
|
|
20
|
-
namespace data {
|
|
21
20
|
|
|
22
21
|
/**
|
|
23
22
|
* A utility function to load an ARFF dataset as numeric features (that is, as
|
|
@@ -55,7 +54,6 @@ bool LoadARFF(const std::string& filename,
|
|
|
55
54
|
DatasetMapper<PolicyType>& info,
|
|
56
55
|
bool fatal);
|
|
57
56
|
|
|
58
|
-
} // namespace data
|
|
59
57
|
} // namespace mlpack
|
|
60
58
|
|
|
61
59
|
// Include implementation.
|
|
@@ -18,7 +18,6 @@
|
|
|
18
18
|
#include "is_naninf.hpp"
|
|
19
19
|
|
|
20
20
|
namespace mlpack {
|
|
21
|
-
namespace data {
|
|
22
21
|
|
|
23
22
|
template<typename eT, typename PolicyType>
|
|
24
23
|
bool LoadARFF(const std::string& filename,
|
|
@@ -158,11 +157,11 @@ bool LoadARFF(const std::string& filename,
|
|
|
158
157
|
else if (info.Dimensionality() != dimensionality)
|
|
159
158
|
{
|
|
160
159
|
if (fatal)
|
|
161
|
-
Log::Fatal << "
|
|
160
|
+
Log::Fatal << "LoadARFF(): given DatasetInfo has dimensionality "
|
|
162
161
|
<< info.Dimensionality() << ", but data has dimensionality "
|
|
163
162
|
<< dimensionality << std::endl;
|
|
164
163
|
else
|
|
165
|
-
Log::Warn << "
|
|
164
|
+
Log::Warn << "LoadARFF(): given DatasetInfo has dimensionality "
|
|
166
165
|
<< info.Dimensionality() << ", but data has dimensionality "
|
|
167
166
|
<< dimensionality << std::endl;
|
|
168
167
|
return false;
|
|
@@ -336,7 +335,6 @@ bool LoadARFF(const std::string& filename,
|
|
|
336
335
|
return true;
|
|
337
336
|
}
|
|
338
337
|
|
|
339
|
-
} // namespace data
|
|
340
338
|
} // namespace mlpack
|
|
341
339
|
|
|
342
340
|
#endif
|