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
|
@@ -3,6 +3,7 @@
|
|
|
3
3
|
* @author ThamNgapWei
|
|
4
4
|
* @author Conrad Sanderson
|
|
5
5
|
* @author Gopi M. Tatiraju
|
|
6
|
+
* @author Omar Shrit
|
|
6
7
|
*
|
|
7
8
|
* This csv parser is designed by taking reference from
|
|
8
9
|
* armadillo's csv parser. In this mlpack's version, all
|
|
@@ -48,12 +49,9 @@
|
|
|
48
49
|
|
|
49
50
|
#include "string_algorithms.hpp"
|
|
50
51
|
#include "extension.hpp"
|
|
51
|
-
#include "format.hpp"
|
|
52
52
|
#include "dataset_mapper.hpp"
|
|
53
|
-
#include "types.hpp"
|
|
54
53
|
|
|
55
54
|
namespace mlpack {
|
|
56
|
-
namespace data {
|
|
57
55
|
|
|
58
56
|
/**
|
|
59
57
|
* Load the csv file. This class contains functions
|
|
@@ -270,7 +268,6 @@ class LoadCSV
|
|
|
270
268
|
char delim;
|
|
271
269
|
};
|
|
272
270
|
|
|
273
|
-
} // namespace data
|
|
274
271
|
} // namespace mlpack
|
|
275
272
|
|
|
276
273
|
#include "load_categorical_impl.hpp"
|
|
@@ -14,8 +14,7 @@
|
|
|
14
14
|
|
|
15
15
|
#include "load_categorical.hpp"
|
|
16
16
|
|
|
17
|
-
namespace mlpack{
|
|
18
|
-
namespace data{
|
|
17
|
+
namespace mlpack {
|
|
19
18
|
|
|
20
19
|
template<typename MatType>
|
|
21
20
|
bool LoadCSV::LoadCategoricalCSV(MatType& matrix,
|
|
@@ -23,24 +22,10 @@ bool LoadCSV::LoadCategoricalCSV(MatType& matrix,
|
|
|
23
22
|
{
|
|
24
23
|
CheckOpen(opts.Fatal());
|
|
25
24
|
|
|
26
|
-
if (!opts.
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
else
|
|
31
|
-
return NonTransposeParse(matrix, opts.DatasetInfo(), opts.Fatal());
|
|
32
|
-
}
|
|
33
|
-
// NOTE: this is only here to preserve the behavior of loading missing data
|
|
34
|
-
// until it is refactored; then, `opts.MissingPolicy()` will be removed.
|
|
35
|
-
else if (opts.MissingPolicy() && opts.Categorical())
|
|
36
|
-
{
|
|
37
|
-
if (!opts.NoTranspose())
|
|
38
|
-
return TransposeParse(matrix, opts.DatasetMissingPolicy(),
|
|
39
|
-
opts.Fatal());
|
|
40
|
-
else
|
|
41
|
-
return NonTransposeParse(matrix, opts.DatasetMissingPolicy(),
|
|
42
|
-
opts.Fatal());
|
|
43
|
-
}
|
|
25
|
+
if (!opts.NoTranspose())
|
|
26
|
+
return TransposeParse(matrix, opts.DatasetInfo(), opts.Fatal());
|
|
27
|
+
else
|
|
28
|
+
return NonTransposeParse(matrix, opts.DatasetInfo(), opts.Fatal());
|
|
44
29
|
|
|
45
30
|
return false; // fix warning
|
|
46
31
|
}
|
|
@@ -96,11 +81,11 @@ bool LoadCSV::InitializeTransposeMapper(size_t& rows, size_t& cols,
|
|
|
96
81
|
else if (info.Dimensionality() != rows)
|
|
97
82
|
{
|
|
98
83
|
if (fatal)
|
|
99
|
-
Log::Fatal << "
|
|
84
|
+
Log::Fatal << "LoadCSV(): given DatasetInfo has dimensionality "
|
|
100
85
|
<< info.Dimensionality() << ", but data has dimensionality "
|
|
101
86
|
<< rows << std::endl;
|
|
102
87
|
else
|
|
103
|
-
Log::Warn << "
|
|
88
|
+
Log::Warn << "LoadCSV(): given DatasetInfo has dimensionality "
|
|
104
89
|
<< info.Dimensionality() << ", but data has dimensionality "
|
|
105
90
|
<< rows << std::endl;
|
|
106
91
|
return false;
|
|
@@ -181,11 +166,11 @@ bool LoadCSV::InitializeMapper(size_t& rows, size_t& cols,
|
|
|
181
166
|
else if (info.Dimensionality() != rows)
|
|
182
167
|
{
|
|
183
168
|
if (fatal)
|
|
184
|
-
Log::Fatal << "
|
|
169
|
+
Log::Fatal << "LoadCSV(): given DatasetInfo has dimensionality "
|
|
185
170
|
<< info.Dimensionality() << ", but data has dimensionality "
|
|
186
171
|
<< rows << std::endl;
|
|
187
172
|
else
|
|
188
|
-
Log::Warn << "
|
|
173
|
+
Log::Warn << "LoadCSV(): given DatasetInfo has dimensionality "
|
|
189
174
|
<< info.Dimensionality() << ", but data has dimensionality "
|
|
190
175
|
<< rows << std::endl;
|
|
191
176
|
return false;
|
|
@@ -386,7 +371,6 @@ bool LoadCSV::NonTransposeParse(arma::Mat<T>& inout,
|
|
|
386
371
|
return true;
|
|
387
372
|
}
|
|
388
373
|
|
|
389
|
-
} //namespace
|
|
390
|
-
} //namespace mlpack
|
|
374
|
+
} // namespace mlpack
|
|
391
375
|
|
|
392
376
|
#endif
|
|
@@ -0,0 +1,279 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file core/data/load_dense.hpp
|
|
3
|
+
* @author Omar Shrit
|
|
4
|
+
*
|
|
5
|
+
* Load an Armadillo matrix from file. This is necessary because Armadillo does
|
|
6
|
+
* not transpose matrices on input, and it allows us to give better error
|
|
7
|
+
* output.
|
|
8
|
+
* Load numeric csv using Armadillo parser. Distinguish between the cases, if
|
|
9
|
+
* we are loading with transpose, NaN, etc.
|
|
10
|
+
*
|
|
11
|
+
* mlpack is free software; you may redistribute it and/or modify it under the
|
|
12
|
+
* terms of the 3-clause BSD license. You should have received a copy of the
|
|
13
|
+
* 3-clause BSD license along with mlpack. If not, see
|
|
14
|
+
* http://www.opensource.org/licenses/BSD-3-Clause for more information.
|
|
15
|
+
*/
|
|
16
|
+
#ifndef MLPACK_CORE_DATA_LOAD_DENSE_HPP
|
|
17
|
+
#define MLPACK_CORE_DATA_LOAD_DENSE_HPP
|
|
18
|
+
|
|
19
|
+
#include "text_options.hpp"
|
|
20
|
+
|
|
21
|
+
namespace mlpack {
|
|
22
|
+
|
|
23
|
+
// These help assemble the Armadillo csv_opts flags.
|
|
24
|
+
inline const arma::csv_opts::opts& NoTransposeOpt(const bool noTranspose)
|
|
25
|
+
{
|
|
26
|
+
if (noTranspose)
|
|
27
|
+
return arma::csv_opts::none;
|
|
28
|
+
else
|
|
29
|
+
return arma::csv_opts::trans;
|
|
30
|
+
}
|
|
31
|
+
|
|
32
|
+
inline const arma::csv_opts::opts& HasHeadersOpt(const bool hasHeaders)
|
|
33
|
+
{
|
|
34
|
+
if (hasHeaders)
|
|
35
|
+
return arma::csv_opts::with_header;
|
|
36
|
+
else
|
|
37
|
+
return arma::csv_opts::no_header;
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
inline const arma::csv_opts::opts& SemicolonOpt(const bool semicolon)
|
|
41
|
+
{
|
|
42
|
+
if (semicolon)
|
|
43
|
+
return arma::csv_opts::semicolon;
|
|
44
|
+
else
|
|
45
|
+
return arma::csv_opts::none;
|
|
46
|
+
}
|
|
47
|
+
|
|
48
|
+
inline const arma::csv_opts::opts& MissingToNanOpt(const bool missingToNan)
|
|
49
|
+
{
|
|
50
|
+
if (missingToNan)
|
|
51
|
+
{
|
|
52
|
+
#if ARMA_VERSION_MAJOR >= 12
|
|
53
|
+
return arma::csv_opts::strict;
|
|
54
|
+
#else
|
|
55
|
+
return arma::csv_opts::none;
|
|
56
|
+
#endif
|
|
57
|
+
}
|
|
58
|
+
else
|
|
59
|
+
{
|
|
60
|
+
return arma::csv_opts::none;
|
|
61
|
+
}
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
template<typename MatType>
|
|
65
|
+
bool LoadCSVASCII(const std::string& filename,
|
|
66
|
+
MatType& matrix,
|
|
67
|
+
TextOptions& opts)
|
|
68
|
+
{
|
|
69
|
+
bool success = false;
|
|
70
|
+
|
|
71
|
+
// Show a warning if strict is not available.
|
|
72
|
+
#if ARMA_VERSION_MAJOR < 12
|
|
73
|
+
if (opts.MissingToNan())
|
|
74
|
+
{
|
|
75
|
+
if (opts.Fatal())
|
|
76
|
+
{
|
|
77
|
+
Log::Fatal << "Load(): MissingToNan() requires Armadillo version "
|
|
78
|
+
<< ">= 12.0!" << std::endl;
|
|
79
|
+
}
|
|
80
|
+
else
|
|
81
|
+
{
|
|
82
|
+
Log::Warn << "Load(): MissingToNan() requires Armadillo version "
|
|
83
|
+
<< ">= 12.0! Option ignored." << std::endl;
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
#endif
|
|
87
|
+
|
|
88
|
+
// Build Armadillo flags for loading based on our settings.
|
|
89
|
+
arma::csv_opts::opts flags =
|
|
90
|
+
NoTransposeOpt(opts.NoTranspose()) +
|
|
91
|
+
HasHeadersOpt(opts.HasHeaders()) +
|
|
92
|
+
SemicolonOpt(opts.Semicolon()) +
|
|
93
|
+
MissingToNanOpt(opts.MissingToNan());
|
|
94
|
+
|
|
95
|
+
if (opts.HasHeaders())
|
|
96
|
+
{
|
|
97
|
+
success = matrix.load(arma::csv_name(filename, opts.Headers(), flags),
|
|
98
|
+
arma::csv_ascii);
|
|
99
|
+
}
|
|
100
|
+
else
|
|
101
|
+
{
|
|
102
|
+
success = matrix.load(arma::csv_name(filename, flags), arma::csv_ascii);
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
return success;
|
|
106
|
+
}
|
|
107
|
+
|
|
108
|
+
template<typename eT, typename DataOptionsType>
|
|
109
|
+
bool LoadHDF5(const std::string& filename,
|
|
110
|
+
arma::Mat<eT>& matrix,
|
|
111
|
+
const DataOptionsBase<DataOptionsType>& opts)
|
|
112
|
+
{
|
|
113
|
+
#ifndef ARMA_USE_HDF5
|
|
114
|
+
// Ensure that HDF5 is supported.
|
|
115
|
+
Timer::Stop("loading_data");
|
|
116
|
+
if (opts.Fatal())
|
|
117
|
+
Log::Fatal << "Attempted to load '" << filename << "' as HDF5 data, but "
|
|
118
|
+
<< "Armadillo was compiled without HDF5 support. Load failed."
|
|
119
|
+
<< std::endl;
|
|
120
|
+
else
|
|
121
|
+
Log::Warn << "Attempted to load '" << filename << "' as HDF5 data, but "
|
|
122
|
+
<< "Armadillo was compiled without HDF5 support. Load failed."
|
|
123
|
+
<< std::endl;
|
|
124
|
+
|
|
125
|
+
return false;
|
|
126
|
+
#endif
|
|
127
|
+
|
|
128
|
+
return matrix.load(filename, opts.ArmaFormat());
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
// Load column vector.
|
|
132
|
+
template<typename eT>
|
|
133
|
+
bool LoadDenseCol(const std::string& filename,
|
|
134
|
+
arma::Col<eT>& vec,
|
|
135
|
+
TextOptions& opts,
|
|
136
|
+
std::fstream& stream)
|
|
137
|
+
{
|
|
138
|
+
// First load into auxiliary matrix.
|
|
139
|
+
arma::Mat<eT> tmp;
|
|
140
|
+
opts.NoTranspose() = true; // false Transpose
|
|
141
|
+
bool success = LoadDense(filename, tmp, opts, stream);
|
|
142
|
+
if (!success)
|
|
143
|
+
{
|
|
144
|
+
vec.clear();
|
|
145
|
+
return false;
|
|
146
|
+
}
|
|
147
|
+
|
|
148
|
+
// Now check the size to see that it is a vector, and return a vector.
|
|
149
|
+
if (tmp.n_cols > 1)
|
|
150
|
+
{
|
|
151
|
+
if (tmp.n_rows > 1)
|
|
152
|
+
{
|
|
153
|
+
std::stringstream oss;
|
|
154
|
+
oss << "Matrix in file '" << filename << "' is not a vector, but"
|
|
155
|
+
<< " instead has size " << tmp.n_rows << "x" << tmp.n_cols << "!";
|
|
156
|
+
vec.clear();
|
|
157
|
+
return HandleError(oss, opts);
|
|
158
|
+
}
|
|
159
|
+
else
|
|
160
|
+
{
|
|
161
|
+
/**
|
|
162
|
+
* It's loaded as a row vector (more than one column). So we need to
|
|
163
|
+
* manually modify the shape of the matrix. We can do this without
|
|
164
|
+
* damaging the data since it is only a vector.
|
|
165
|
+
*/
|
|
166
|
+
arma::access::rw(tmp.n_rows) = tmp.n_cols;
|
|
167
|
+
arma::access::rw(tmp.n_cols) = 1;
|
|
168
|
+
|
|
169
|
+
/**
|
|
170
|
+
* Now we can call the move operator, but it has to be the move operator
|
|
171
|
+
* for Mat, not for Col. This will avoid copying the data.
|
|
172
|
+
*/
|
|
173
|
+
*((arma::Mat<eT>*) &vec) = std::move(tmp);
|
|
174
|
+
return true;
|
|
175
|
+
}
|
|
176
|
+
}
|
|
177
|
+
else
|
|
178
|
+
{
|
|
179
|
+
// It's loaded as a column vector. We can call the move constructor
|
|
180
|
+
// directly.
|
|
181
|
+
*((arma::Mat<eT>*) &vec) = std::move(tmp);
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
}
|
|
185
|
+
|
|
186
|
+
// Load row vector.
|
|
187
|
+
template<typename eT>
|
|
188
|
+
bool LoadDenseRow(const std::string& filename,
|
|
189
|
+
arma::Row<eT>& rowvec,
|
|
190
|
+
TextOptions& opts,
|
|
191
|
+
std::fstream& stream)
|
|
192
|
+
{
|
|
193
|
+
arma::Mat<eT> tmp;
|
|
194
|
+
opts.NoTranspose() = true; // false Transpose
|
|
195
|
+
bool success = LoadDense(filename, tmp, opts, stream);
|
|
196
|
+
if (!success)
|
|
197
|
+
{
|
|
198
|
+
rowvec.clear();
|
|
199
|
+
return false;
|
|
200
|
+
}
|
|
201
|
+
|
|
202
|
+
if (tmp.n_rows > 1)
|
|
203
|
+
{
|
|
204
|
+
if (tmp.n_cols > 1)
|
|
205
|
+
{
|
|
206
|
+
std::stringstream oss;
|
|
207
|
+
oss << "Matrix in file '" << filename << "' is not a vector, but"
|
|
208
|
+
<< " instead has size " << tmp.n_rows << "x" << tmp.n_cols << "!";
|
|
209
|
+
rowvec.clear();
|
|
210
|
+
return HandleError(oss, opts);
|
|
211
|
+
}
|
|
212
|
+
else
|
|
213
|
+
{
|
|
214
|
+
/**
|
|
215
|
+
* It's loaded as a column vector (more than one row). So we need to
|
|
216
|
+
* manually modify the shape of the matrix. We can do this without
|
|
217
|
+
* damaging the data since it is only a vector.
|
|
218
|
+
*/
|
|
219
|
+
arma::access::rw(tmp.n_cols) = tmp.n_rows;
|
|
220
|
+
arma::access::rw(tmp.n_rows) = 1;
|
|
221
|
+
|
|
222
|
+
/**
|
|
223
|
+
* Now we can call the move operator, but it has to be the move operator
|
|
224
|
+
* for Mat, not for Col. This will avoid copying the data.
|
|
225
|
+
*/
|
|
226
|
+
*((arma::Mat<eT>*) &rowvec) = std::move(tmp);
|
|
227
|
+
return true;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
else
|
|
231
|
+
{
|
|
232
|
+
// It's loaded as a row vector. We can call the move constructor directly.
|
|
233
|
+
*((arma::Mat<eT>*) &rowvec) = std::move(tmp);
|
|
234
|
+
return true;
|
|
235
|
+
}
|
|
236
|
+
}
|
|
237
|
+
|
|
238
|
+
template<typename MatType>
|
|
239
|
+
bool LoadDense(const std::string& filename,
|
|
240
|
+
MatType& matrix,
|
|
241
|
+
TextOptions& opts,
|
|
242
|
+
std::fstream& stream)
|
|
243
|
+
{
|
|
244
|
+
bool success;
|
|
245
|
+
if (opts.Format() != FileType::RawBinary)
|
|
246
|
+
Log::Info << "Loading '" << filename << "' as "
|
|
247
|
+
<< opts.FileTypeToString() << ". " << std::flush;
|
|
248
|
+
|
|
249
|
+
// We can't use the stream if the type is HDF5.
|
|
250
|
+
if (opts.Format() == FileType::HDF5Binary)
|
|
251
|
+
{
|
|
252
|
+
success = LoadHDF5(filename, matrix, opts);
|
|
253
|
+
}
|
|
254
|
+
else if (opts.Format() == FileType::CSVASCII)
|
|
255
|
+
{
|
|
256
|
+
success = LoadCSVASCII(filename, matrix, opts);
|
|
257
|
+
|
|
258
|
+
if (matrix.col(0).is_zero())
|
|
259
|
+
Log::Warn << "Load(): the first line in '" << filename << "' was "
|
|
260
|
+
<< "loaded as all zeros; if the first row is headers, specify "
|
|
261
|
+
<< "`HasHeaders() = true` in the given DataOptions." << std::endl;
|
|
262
|
+
}
|
|
263
|
+
else
|
|
264
|
+
{
|
|
265
|
+
if (opts.Format() == FileType::RawBinary)
|
|
266
|
+
Log::Warn << "Loading '" << filename << "' as "
|
|
267
|
+
<< opts.FileTypeToString() << "; "
|
|
268
|
+
<< "but this may not be the actual filetype!" << std::endl;
|
|
269
|
+
|
|
270
|
+
success = matrix.load(stream, opts.ArmaFormat());
|
|
271
|
+
if (!opts.NoTranspose())
|
|
272
|
+
inplace_trans(matrix);
|
|
273
|
+
}
|
|
274
|
+
return success;
|
|
275
|
+
}
|
|
276
|
+
|
|
277
|
+
} // namespace mlpack
|
|
278
|
+
|
|
279
|
+
#endif
|