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
|
@@ -32,11 +32,14 @@ namespace mlpack {
|
|
|
32
32
|
* computation.
|
|
33
33
|
*/
|
|
34
34
|
template <typename MatType = arma::mat>
|
|
35
|
-
class
|
|
35
|
+
class AdaptiveMeanPooling : public Layer<MatType>
|
|
36
36
|
{
|
|
37
37
|
public:
|
|
38
|
-
|
|
39
|
-
|
|
38
|
+
// Convenience typedef to access the element type of the weights and data.
|
|
39
|
+
using ElemType = typename MatType::elem_type;
|
|
40
|
+
|
|
41
|
+
// Create the AdaptiveMeanPooling object.
|
|
42
|
+
AdaptiveMeanPooling();
|
|
40
43
|
|
|
41
44
|
/**
|
|
42
45
|
* Create the AdaptiveMeanPooling object.
|
|
@@ -44,29 +47,29 @@ class AdaptiveMeanPoolingType : public Layer<MatType>
|
|
|
44
47
|
* @param outputWidth Width of the output.
|
|
45
48
|
* @param outputHeight Height of the output.
|
|
46
49
|
*/
|
|
47
|
-
|
|
50
|
+
AdaptiveMeanPooling(const size_t outputWidth,
|
|
48
51
|
const size_t outputHeight);
|
|
49
52
|
|
|
50
53
|
// Virtual destructor.
|
|
51
|
-
virtual ~
|
|
54
|
+
virtual ~AdaptiveMeanPooling()
|
|
52
55
|
{
|
|
53
56
|
// Nothing to do here.
|
|
54
57
|
}
|
|
55
58
|
|
|
56
|
-
//! Copy the given
|
|
57
|
-
|
|
58
|
-
//! Take ownership of the given
|
|
59
|
-
|
|
60
|
-
//! Copy the given
|
|
61
|
-
|
|
62
|
-
//! Take ownership of the given
|
|
63
|
-
|
|
59
|
+
//! Copy the given AdaptiveMeanPooling.
|
|
60
|
+
AdaptiveMeanPooling(const AdaptiveMeanPooling& other);
|
|
61
|
+
//! Take ownership of the given AdaptiveMeanPooling.
|
|
62
|
+
AdaptiveMeanPooling(AdaptiveMeanPooling&& other);
|
|
63
|
+
//! Copy the given AdaptiveMeanPooling.
|
|
64
|
+
AdaptiveMeanPooling& operator=(const AdaptiveMeanPooling& other);
|
|
65
|
+
//! Take ownership of the given AdaptiveMeanPooling.
|
|
66
|
+
AdaptiveMeanPooling& operator=(AdaptiveMeanPooling&& other);
|
|
64
67
|
|
|
65
|
-
//! Clone the
|
|
68
|
+
//! Clone the AdaptiveMeanPooling object.
|
|
66
69
|
//! This handles polymorphism correctly.
|
|
67
|
-
|
|
70
|
+
AdaptiveMeanPooling* Clone() const
|
|
68
71
|
{
|
|
69
|
-
return new
|
|
72
|
+
return new AdaptiveMeanPooling(*this);
|
|
70
73
|
}
|
|
71
74
|
|
|
72
75
|
/**
|
|
@@ -114,7 +117,7 @@ class AdaptiveMeanPoolingType : public Layer<MatType>
|
|
|
114
117
|
|
|
115
118
|
private:
|
|
116
119
|
//! Locally stored MeanPooling Object.
|
|
117
|
-
|
|
120
|
+
MeanPooling<MatType> poolingLayer;
|
|
118
121
|
|
|
119
122
|
//! Locally-stored output width. These are user specified outputWidth.
|
|
120
123
|
//! Actual outputWidth will be equal to this but only after
|
|
@@ -125,12 +128,7 @@ class AdaptiveMeanPoolingType : public Layer<MatType>
|
|
|
125
128
|
//! Actual outputWidth will be equal to this but only after
|
|
126
129
|
//! `ComputeOutputDimensions()` is called.
|
|
127
130
|
size_t outputHeight;
|
|
128
|
-
}; // class
|
|
129
|
-
|
|
130
|
-
// Convenience typedefs.
|
|
131
|
-
|
|
132
|
-
// Standard Adaptive mean pooling layer.
|
|
133
|
-
using AdaptiveMeanPooling = AdaptiveMeanPoolingType<arma::mat>;
|
|
131
|
+
}; // class AdaptiveMeanPooling
|
|
134
132
|
|
|
135
133
|
} // namespace mlpack
|
|
136
134
|
|
|
@@ -18,18 +18,18 @@
|
|
|
18
18
|
namespace mlpack {
|
|
19
19
|
|
|
20
20
|
template<typename MatType>
|
|
21
|
-
|
|
21
|
+
AdaptiveMeanPooling<MatType>::AdaptiveMeanPooling() :
|
|
22
22
|
Layer<MatType>()
|
|
23
23
|
{
|
|
24
24
|
// Nothing to do here.
|
|
25
25
|
}
|
|
26
26
|
|
|
27
27
|
template <typename MatType>
|
|
28
|
-
|
|
28
|
+
AdaptiveMeanPooling<MatType>::AdaptiveMeanPooling(
|
|
29
29
|
const size_t outputWidth,
|
|
30
30
|
const size_t outputHeight) :
|
|
31
31
|
Layer<MatType>(),
|
|
32
|
-
poolingLayer(
|
|
32
|
+
poolingLayer(MeanPooling<MatType>(1, 1)),
|
|
33
33
|
outputWidth(outputWidth),
|
|
34
34
|
outputHeight(outputHeight)
|
|
35
35
|
{
|
|
@@ -37,8 +37,8 @@ AdaptiveMeanPoolingType<MatType>::AdaptiveMeanPoolingType(
|
|
|
37
37
|
}
|
|
38
38
|
|
|
39
39
|
template<typename MatType>
|
|
40
|
-
|
|
41
|
-
const
|
|
40
|
+
AdaptiveMeanPooling<MatType>::AdaptiveMeanPooling(
|
|
41
|
+
const AdaptiveMeanPooling& other) :
|
|
42
42
|
Layer<MatType>(other),
|
|
43
43
|
poolingLayer(other.poolingLayer),
|
|
44
44
|
outputWidth(other.outputWidth),
|
|
@@ -48,8 +48,8 @@ AdaptiveMeanPoolingType<MatType>::AdaptiveMeanPoolingType(
|
|
|
48
48
|
}
|
|
49
49
|
|
|
50
50
|
template<typename MatType>
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
AdaptiveMeanPooling<MatType>::AdaptiveMeanPooling(
|
|
52
|
+
AdaptiveMeanPooling&& other) :
|
|
53
53
|
Layer<MatType>(std::move(other)),
|
|
54
54
|
poolingLayer(std::move(other.poolingLayer)),
|
|
55
55
|
outputWidth(std::move(other.outputWidth)),
|
|
@@ -59,9 +59,9 @@ AdaptiveMeanPoolingType<MatType>::AdaptiveMeanPoolingType(
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
template<typename MatType>
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
const
|
|
62
|
+
AdaptiveMeanPooling<MatType>&
|
|
63
|
+
AdaptiveMeanPooling<MatType>::operator=(
|
|
64
|
+
const AdaptiveMeanPooling& other)
|
|
65
65
|
{
|
|
66
66
|
if (&other != this)
|
|
67
67
|
{
|
|
@@ -75,8 +75,8 @@ AdaptiveMeanPoolingType<MatType>::operator=(
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
template<typename MatType>
|
|
78
|
-
|
|
79
|
-
|
|
78
|
+
AdaptiveMeanPooling<MatType>&
|
|
79
|
+
AdaptiveMeanPooling<MatType>::operator=(AdaptiveMeanPooling&& other)
|
|
80
80
|
{
|
|
81
81
|
if (&other != this)
|
|
82
82
|
{
|
|
@@ -90,7 +90,7 @@ AdaptiveMeanPoolingType<MatType>::operator=(AdaptiveMeanPoolingType&& other)
|
|
|
90
90
|
}
|
|
91
91
|
|
|
92
92
|
template<typename MatType>
|
|
93
|
-
void
|
|
93
|
+
void AdaptiveMeanPooling<MatType>::Forward(
|
|
94
94
|
const MatType& input, MatType& output)
|
|
95
95
|
{
|
|
96
96
|
poolingLayer.Training() = this->training;
|
|
@@ -98,7 +98,7 @@ void AdaptiveMeanPoolingType<MatType>::Forward(
|
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
template<typename MatType>
|
|
101
|
-
void
|
|
101
|
+
void AdaptiveMeanPooling<MatType>::Backward(
|
|
102
102
|
const MatType& input,
|
|
103
103
|
const MatType& output,
|
|
104
104
|
const MatType& gy,
|
|
@@ -108,7 +108,7 @@ void AdaptiveMeanPoolingType<MatType>::Backward(
|
|
|
108
108
|
}
|
|
109
109
|
|
|
110
110
|
template<typename MatType>
|
|
111
|
-
void
|
|
111
|
+
void AdaptiveMeanPooling<MatType>::ComputeOutputDimensions()
|
|
112
112
|
{
|
|
113
113
|
// The AdaptiveMaxPooling layer only affects the first two dimensions.
|
|
114
114
|
this->outputDimensions = this->inputDimensions;
|
|
@@ -140,7 +140,7 @@ void AdaptiveMeanPoolingType<MatType>::ComputeOutputDimensions()
|
|
|
140
140
|
|
|
141
141
|
template<typename MatType>
|
|
142
142
|
template<typename Archive>
|
|
143
|
-
void
|
|
143
|
+
void AdaptiveMeanPooling<MatType>::serialize(
|
|
144
144
|
Archive& ar,
|
|
145
145
|
const uint32_t /* version */)
|
|
146
146
|
{
|
|
@@ -24,30 +24,33 @@ namespace mlpack {
|
|
|
24
24
|
* @tparam MatType Matrix representation to accept as input and use for
|
|
25
25
|
* computation.
|
|
26
26
|
*/
|
|
27
|
-
template<typename MatType>
|
|
28
|
-
class
|
|
27
|
+
template<typename MatType = arma::mat>
|
|
28
|
+
class Add : public Layer<MatType>
|
|
29
29
|
{
|
|
30
30
|
public:
|
|
31
|
+
// Convenience typedef to access the element type of the weights and data.
|
|
32
|
+
using ElemType = typename MatType::elem_type;
|
|
33
|
+
|
|
31
34
|
/**
|
|
32
|
-
* Create the
|
|
35
|
+
* Create the Add object. The output size of the layer will be the same
|
|
33
36
|
* as the input size.
|
|
34
37
|
*/
|
|
35
|
-
|
|
38
|
+
Add();
|
|
36
39
|
|
|
37
|
-
//! Clone the
|
|
38
|
-
|
|
40
|
+
//! Clone the Add object. This handles polymorphism correctly.
|
|
41
|
+
Add* Clone() const { return new Add(*this); }
|
|
39
42
|
|
|
40
43
|
// Virtual destructor.
|
|
41
|
-
virtual ~
|
|
44
|
+
virtual ~Add() { }
|
|
42
45
|
|
|
43
|
-
//! Copy the given
|
|
44
|
-
|
|
45
|
-
//! Take ownership of the given
|
|
46
|
-
|
|
47
|
-
//! Copy the given
|
|
48
|
-
|
|
49
|
-
//! Take ownership of the given
|
|
50
|
-
|
|
46
|
+
//! Copy the given Add layer.
|
|
47
|
+
Add(const Add& other);
|
|
48
|
+
//! Take ownership of the given Add layer.
|
|
49
|
+
Add(Add&& other);
|
|
50
|
+
//! Copy the given Add layer.
|
|
51
|
+
Add& operator=(const Add& other);
|
|
52
|
+
//! Take ownership of the given Add layer.
|
|
53
|
+
Add& operator=(Add&& other);
|
|
51
54
|
|
|
52
55
|
/**
|
|
53
56
|
* Forward pass: add the bias to the input.
|
|
@@ -110,9 +113,6 @@ class AddType : public Layer<MatType>
|
|
|
110
113
|
MatType weights;
|
|
111
114
|
}; // class Add
|
|
112
115
|
|
|
113
|
-
// Standard Add layer.
|
|
114
|
-
using Add = AddType<arma::mat>;
|
|
115
|
-
|
|
116
116
|
} // namespace mlpack
|
|
117
117
|
|
|
118
118
|
// Include implementation.
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
namespace mlpack {
|
|
20
20
|
|
|
21
21
|
template<typename MatType>
|
|
22
|
-
|
|
22
|
+
Add<MatType>::Add() :
|
|
23
23
|
Layer<MatType>(),
|
|
24
24
|
outSize(0)
|
|
25
25
|
{
|
|
@@ -27,7 +27,7 @@ AddType<MatType>::AddType() :
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
template<typename MatType>
|
|
30
|
-
|
|
30
|
+
Add<MatType>::Add(const Add& other) :
|
|
31
31
|
Layer<MatType>(other),
|
|
32
32
|
outSize(other.outSize)
|
|
33
33
|
{
|
|
@@ -35,7 +35,7 @@ AddType<MatType>::AddType(const AddType& other) :
|
|
|
35
35
|
}
|
|
36
36
|
|
|
37
37
|
template<typename MatType>
|
|
38
|
-
|
|
38
|
+
Add<MatType>::Add(Add&& other) :
|
|
39
39
|
Layer<MatType>(std::move(other)),
|
|
40
40
|
outSize(std::move(other.outSize))
|
|
41
41
|
{
|
|
@@ -43,8 +43,8 @@ AddType<MatType>::AddType(AddType&& other) :
|
|
|
43
43
|
}
|
|
44
44
|
|
|
45
45
|
template<typename MatType>
|
|
46
|
-
|
|
47
|
-
|
|
46
|
+
Add<MatType>&
|
|
47
|
+
Add<MatType>::operator=(const Add& other)
|
|
48
48
|
{
|
|
49
49
|
if (&other != this)
|
|
50
50
|
{
|
|
@@ -56,8 +56,8 @@ AddType<MatType>::operator=(const AddType& other)
|
|
|
56
56
|
}
|
|
57
57
|
|
|
58
58
|
template<typename MatType>
|
|
59
|
-
|
|
60
|
-
|
|
59
|
+
Add<MatType>&
|
|
60
|
+
Add<MatType>::operator=(Add&& other)
|
|
61
61
|
{
|
|
62
62
|
if (&other != this)
|
|
63
63
|
{
|
|
@@ -69,13 +69,13 @@ AddType<MatType>::operator=(AddType&& other)
|
|
|
69
69
|
}
|
|
70
70
|
|
|
71
71
|
template<typename MatType>
|
|
72
|
-
void
|
|
72
|
+
void Add<MatType>::Forward(const MatType& input, MatType& output)
|
|
73
73
|
{
|
|
74
74
|
output = input + repmat(vectorise(weights), 1, input.n_cols);
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
template<typename MatType>
|
|
78
|
-
void
|
|
78
|
+
void Add<MatType>::Backward(
|
|
79
79
|
const MatType& /* input */,
|
|
80
80
|
const MatType& /* output */,
|
|
81
81
|
const MatType& gy,
|
|
@@ -85,7 +85,7 @@ void AddType<MatType>::Backward(
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
template<typename MatType>
|
|
88
|
-
void
|
|
88
|
+
void Add<MatType>::Gradient(
|
|
89
89
|
const MatType& /* input */,
|
|
90
90
|
const MatType& error,
|
|
91
91
|
MatType& gradient)
|
|
@@ -95,14 +95,14 @@ void AddType<MatType>::Gradient(
|
|
|
95
95
|
}
|
|
96
96
|
|
|
97
97
|
template<typename MatType>
|
|
98
|
-
void
|
|
98
|
+
void Add<MatType>::SetWeights(const MatType& weightsIn)
|
|
99
99
|
{
|
|
100
100
|
// Set the weights to wrap the given memory.
|
|
101
101
|
MakeAlias(weights, weightsIn, 1, outSize);
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
template<typename MatType>
|
|
105
|
-
void
|
|
105
|
+
void Add<MatType>::ComputeOutputDimensions()
|
|
106
106
|
{
|
|
107
107
|
this->outputDimensions = this->inputDimensions;
|
|
108
108
|
|
|
@@ -113,7 +113,7 @@ void AddType<MatType>::ComputeOutputDimensions()
|
|
|
113
113
|
|
|
114
114
|
template<typename MatType>
|
|
115
115
|
template<typename Archive>
|
|
116
|
-
void
|
|
116
|
+
void Add<MatType>::serialize(Archive& ar, const uint32_t /* version */)
|
|
117
117
|
{
|
|
118
118
|
ar(cereal::base_class<Layer<MatType>>(this));
|
|
119
119
|
|
|
@@ -24,33 +24,36 @@ namespace mlpack {
|
|
|
24
24
|
* @tparam MatType Matrix representation to accept as input and use for
|
|
25
25
|
* computation.
|
|
26
26
|
*/
|
|
27
|
-
template<typename MatType>
|
|
28
|
-
class
|
|
27
|
+
template<typename MatType = arma::mat>
|
|
28
|
+
class AddMerge : public MultiLayer<MatType>
|
|
29
29
|
{
|
|
30
30
|
public:
|
|
31
|
+
// Convenience typedef to access the element type of the weights and data.
|
|
32
|
+
using ElemType = typename MatType::elem_type;
|
|
33
|
+
|
|
31
34
|
/**
|
|
32
|
-
* Create an empty
|
|
35
|
+
* Create an empty AddMerge that holds no layers of its own. Be sure to add
|
|
33
36
|
* layers with Add() before using!
|
|
34
37
|
*/
|
|
35
|
-
|
|
38
|
+
AddMerge();
|
|
36
39
|
|
|
37
|
-
//! Copy the given
|
|
38
|
-
|
|
39
|
-
//! Take ownership of the layers of the given
|
|
40
|
-
|
|
41
|
-
//! Copy the given
|
|
42
|
-
|
|
43
|
-
//! Take ownership of the given
|
|
44
|
-
|
|
40
|
+
//! Copy the given AddMerge.
|
|
41
|
+
AddMerge(const AddMerge& other);
|
|
42
|
+
//! Take ownership of the layers of the given AddMerge.
|
|
43
|
+
AddMerge(AddMerge&& other);
|
|
44
|
+
//! Copy the given AddMerge.
|
|
45
|
+
AddMerge& operator=(const AddMerge& other);
|
|
46
|
+
//! Take ownership of the given AddMerge.
|
|
47
|
+
AddMerge& operator=(AddMerge&& other);
|
|
45
48
|
|
|
46
49
|
//! Virtual destructor: delete all held layers.
|
|
47
|
-
virtual ~
|
|
50
|
+
virtual ~AddMerge()
|
|
48
51
|
{
|
|
49
52
|
// Nothing to do here.
|
|
50
53
|
}
|
|
51
54
|
|
|
52
|
-
//! Create a copy of the
|
|
53
|
-
|
|
55
|
+
//! Create a copy of the AddMerge (this is safe for polymorphic use).
|
|
56
|
+
AddMerge* Clone() const { return new AddMerge(*this); }
|
|
54
57
|
|
|
55
58
|
/**
|
|
56
59
|
* Ordinary feed forward pass of a neural network, evaluating the function
|
|
@@ -90,13 +93,11 @@ class AddMergeType : public MultiLayer<MatType>
|
|
|
90
93
|
//! Compute the size of the output given `InputDimensions()`.
|
|
91
94
|
void ComputeOutputDimensions();
|
|
92
95
|
|
|
93
|
-
//! Serialize the
|
|
96
|
+
//! Serialize the AddMerge.
|
|
94
97
|
template<typename Archive>
|
|
95
98
|
void serialize(Archive& ar, const uint32_t /* version */);
|
|
96
99
|
};
|
|
97
100
|
|
|
98
|
-
using AddMerge = AddMergeType<arma::mat>;
|
|
99
|
-
|
|
100
101
|
} // namespace mlpack
|
|
101
102
|
|
|
102
103
|
// Include implementation.
|
|
@@ -17,29 +17,29 @@
|
|
|
17
17
|
namespace mlpack {
|
|
18
18
|
|
|
19
19
|
template<typename MatType>
|
|
20
|
-
|
|
20
|
+
AddMerge<MatType>::AddMerge() :
|
|
21
21
|
MultiLayer<MatType>()
|
|
22
22
|
{
|
|
23
23
|
// Nothing to do.
|
|
24
24
|
}
|
|
25
25
|
|
|
26
26
|
template<typename MatType>
|
|
27
|
-
|
|
27
|
+
AddMerge<MatType>::AddMerge(const AddMerge& other) :
|
|
28
28
|
MultiLayer<MatType>(other)
|
|
29
29
|
{
|
|
30
30
|
// Nothing to do here.
|
|
31
31
|
}
|
|
32
32
|
|
|
33
33
|
template<typename MatType>
|
|
34
|
-
|
|
34
|
+
AddMerge<MatType>::AddMerge(AddMerge&& other) :
|
|
35
35
|
MultiLayer<MatType>(std::move(other))
|
|
36
36
|
{
|
|
37
37
|
// Nothing to do here.
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
template<typename MatType>
|
|
41
|
-
|
|
42
|
-
const
|
|
41
|
+
AddMerge<MatType>& AddMerge<MatType>::operator=(
|
|
42
|
+
const AddMerge& other)
|
|
43
43
|
{
|
|
44
44
|
if (this != &other)
|
|
45
45
|
{
|
|
@@ -50,7 +50,7 @@ AddMergeType<MatType>& AddMergeType<MatType>::operator=(
|
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
template<typename MatType>
|
|
53
|
-
|
|
53
|
+
AddMerge<MatType>& AddMerge<MatType>::operator=(AddMerge&& other)
|
|
54
54
|
{
|
|
55
55
|
if (this != &other)
|
|
56
56
|
{
|
|
@@ -61,7 +61,7 @@ AddMergeType<MatType>& AddMergeType<MatType>::operator=(AddMergeType&& other)
|
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
template<typename MatType>
|
|
64
|
-
void
|
|
64
|
+
void AddMerge<MatType>::Forward(
|
|
65
65
|
const MatType& input, MatType& output)
|
|
66
66
|
{
|
|
67
67
|
// Make sure training/testing mode is set right in each layer.
|
|
@@ -74,7 +74,7 @@ void AddMergeType<MatType>::Forward(
|
|
|
74
74
|
{
|
|
75
75
|
// Initialize temporary memory for the forward pass.
|
|
76
76
|
MatType tempOutput;
|
|
77
|
-
tempOutput.set_size(
|
|
77
|
+
tempOutput.set_size(size(output));
|
|
78
78
|
|
|
79
79
|
// Forward pass every layer in network with same input.
|
|
80
80
|
// Reduce the outputs to single output by adding element-wise.
|
|
@@ -98,7 +98,7 @@ void AddMergeType<MatType>::Forward(
|
|
|
98
98
|
}
|
|
99
99
|
|
|
100
100
|
template<typename MatType>
|
|
101
|
-
void
|
|
101
|
+
void AddMerge<MatType>::Backward(
|
|
102
102
|
const MatType& input,
|
|
103
103
|
const MatType& output,
|
|
104
104
|
const MatType& gy,
|
|
@@ -108,7 +108,7 @@ void AddMergeType<MatType>::Backward(
|
|
|
108
108
|
{
|
|
109
109
|
// Initialize temporary memory for the backward pass.
|
|
110
110
|
MatType tempDelta;
|
|
111
|
-
tempDelta.set_size(
|
|
111
|
+
tempDelta.set_size(size(g));
|
|
112
112
|
|
|
113
113
|
g.zeros();
|
|
114
114
|
for (size_t i = 0; i < this->network.size(); i++)
|
|
@@ -129,7 +129,7 @@ void AddMergeType<MatType>::Backward(
|
|
|
129
129
|
}
|
|
130
130
|
|
|
131
131
|
template<typename MatType>
|
|
132
|
-
void
|
|
132
|
+
void AddMerge<MatType>::Gradient(
|
|
133
133
|
const MatType& input, const MatType& error, MatType& gradient)
|
|
134
134
|
{
|
|
135
135
|
// We assume gradient has the right size already.
|
|
@@ -156,7 +156,7 @@ void AddMergeType<MatType>::Gradient(
|
|
|
156
156
|
}
|
|
157
157
|
|
|
158
158
|
template<typename MatType>
|
|
159
|
-
void
|
|
159
|
+
void AddMerge<MatType>::ComputeOutputDimensions()
|
|
160
160
|
{
|
|
161
161
|
this->inSize = 0;
|
|
162
162
|
this->totalInputSize = 0;
|
|
@@ -197,7 +197,7 @@ void AddMergeType<MatType>::ComputeOutputDimensions()
|
|
|
197
197
|
|
|
198
198
|
template<typename MatType>
|
|
199
199
|
template<typename Archive>
|
|
200
|
-
void
|
|
200
|
+
void AddMerge<MatType>::serialize(
|
|
201
201
|
Archive& ar, const uint32_t /* version */)
|
|
202
202
|
{
|
|
203
203
|
ar(cereal::base_class<MultiLayer<MatType>>(this));
|
|
@@ -44,34 +44,37 @@ namespace mlpack {
|
|
|
44
44
|
* computation.
|
|
45
45
|
*/
|
|
46
46
|
template<typename MatType = arma::mat>
|
|
47
|
-
class
|
|
47
|
+
class AlphaDropout : public Layer<MatType>
|
|
48
48
|
{
|
|
49
49
|
public:
|
|
50
|
+
// Convenience typedef to access the element type of the weights and data.
|
|
51
|
+
using ElemType = typename MatType::elem_type;
|
|
52
|
+
|
|
50
53
|
/**
|
|
51
54
|
* Create the Alpha_Dropout object using the specified ratio.
|
|
52
55
|
*
|
|
53
56
|
* @param ratio The probability of setting a value to alphaDash.
|
|
54
57
|
* @param alphaDash The dropout scaling parameter.
|
|
55
58
|
*/
|
|
56
|
-
|
|
59
|
+
AlphaDropout(const double ratio = 0.5,
|
|
57
60
|
const double alphaDash = -alpha * lambda);
|
|
58
61
|
|
|
59
62
|
/**
|
|
60
|
-
* Clone the
|
|
63
|
+
* Clone the AlphaDropout object. This handles polymorphism correctly.
|
|
61
64
|
*/
|
|
62
|
-
|
|
65
|
+
AlphaDropout* Clone() const { return new AlphaDropout(*this); }
|
|
63
66
|
|
|
64
67
|
// Virtual destructor.
|
|
65
|
-
virtual ~
|
|
68
|
+
virtual ~AlphaDropout() { }
|
|
66
69
|
|
|
67
|
-
//! Copy the given
|
|
68
|
-
|
|
69
|
-
//! Take ownership of the given
|
|
70
|
-
|
|
71
|
-
//! Copy the given
|
|
72
|
-
|
|
73
|
-
//! Take ownership of the given
|
|
74
|
-
|
|
70
|
+
//! Copy the given AlphaDropout layer.
|
|
71
|
+
AlphaDropout(const AlphaDropout& other);
|
|
72
|
+
//! Take ownership of the given AlphaDropout layer.
|
|
73
|
+
AlphaDropout(AlphaDropout&& other);
|
|
74
|
+
//! Copy the given AlphaDropout layer.
|
|
75
|
+
AlphaDropout& operator=(const AlphaDropout& other);
|
|
76
|
+
//! Take ownership of the given AlphaDropout layer.
|
|
77
|
+
AlphaDropout& operator=(AlphaDropout&& other);
|
|
75
78
|
|
|
76
79
|
/**
|
|
77
80
|
* Ordinary feed forward pass of the AlphaDropout layer.
|
|
@@ -145,9 +148,7 @@ class AlphaDropoutType : public Layer<MatType>
|
|
|
145
148
|
|
|
146
149
|
//! Value to be added to a*x for affine transformation.
|
|
147
150
|
double b;
|
|
148
|
-
}; // class
|
|
149
|
-
|
|
150
|
-
using AlphaDropout = AlphaDropoutType<arma::mat>;
|
|
151
|
+
}; // class AlphaDropout
|
|
151
152
|
|
|
152
153
|
} // namespace mlpack
|
|
153
154
|
|
|
@@ -22,7 +22,7 @@
|
|
|
22
22
|
namespace mlpack {
|
|
23
23
|
|
|
24
24
|
template<typename MatType>
|
|
25
|
-
|
|
25
|
+
AlphaDropout<MatType>::AlphaDropout(
|
|
26
26
|
const double ratio,
|
|
27
27
|
const double alphaDash) :
|
|
28
28
|
Layer<MatType>(),
|
|
@@ -33,7 +33,7 @@ AlphaDropoutType<MatType>::AlphaDropoutType(
|
|
|
33
33
|
}
|
|
34
34
|
|
|
35
35
|
template<typename MatType>
|
|
36
|
-
|
|
36
|
+
AlphaDropout<MatType>::AlphaDropout(const AlphaDropout& other) :
|
|
37
37
|
Layer<MatType>(other),
|
|
38
38
|
mask(other.mask),
|
|
39
39
|
ratio(other.ratio),
|
|
@@ -45,7 +45,7 @@ AlphaDropoutType<MatType>::AlphaDropoutType(const AlphaDropoutType& other) :
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
template<typename MatType>
|
|
48
|
-
|
|
48
|
+
AlphaDropout<MatType>::AlphaDropout(AlphaDropout&& other) :
|
|
49
49
|
Layer<MatType>(std::move(other)),
|
|
50
50
|
mask(std::move(other.mask)),
|
|
51
51
|
ratio(std::move(other.ratio)),
|
|
@@ -57,8 +57,8 @@ AlphaDropoutType<MatType>::AlphaDropoutType(AlphaDropoutType&& other) :
|
|
|
57
57
|
}
|
|
58
58
|
|
|
59
59
|
template<typename MatType>
|
|
60
|
-
|
|
61
|
-
|
|
60
|
+
AlphaDropout<MatType>&
|
|
61
|
+
AlphaDropout<MatType>::operator=(const AlphaDropout& other)
|
|
62
62
|
{
|
|
63
63
|
if (&other != this)
|
|
64
64
|
{
|
|
@@ -74,8 +74,8 @@ AlphaDropoutType<MatType>::operator=(const AlphaDropoutType& other)
|
|
|
74
74
|
}
|
|
75
75
|
|
|
76
76
|
template<typename MatType>
|
|
77
|
-
|
|
78
|
-
|
|
77
|
+
AlphaDropout<MatType>&
|
|
78
|
+
AlphaDropout<MatType>::operator=(AlphaDropout&& other)
|
|
79
79
|
{
|
|
80
80
|
if (&other != this)
|
|
81
81
|
{
|
|
@@ -91,7 +91,7 @@ AlphaDropoutType<MatType>::operator=(AlphaDropoutType&& other)
|
|
|
91
91
|
}
|
|
92
92
|
|
|
93
93
|
template<typename MatType>
|
|
94
|
-
void
|
|
94
|
+
void AlphaDropout<MatType>::Forward(const MatType& input, MatType& output)
|
|
95
95
|
{
|
|
96
96
|
// The dropout mask will not be multiplied during testing.
|
|
97
97
|
if (!this->training)
|
|
@@ -104,24 +104,25 @@ void AlphaDropoutType<MatType>::Forward(const MatType& input, MatType& output)
|
|
|
104
104
|
// transformation so as to keep mean and variance of outputs to their
|
|
105
105
|
// original values.
|
|
106
106
|
mask.randu(input.n_rows, input.n_cols);
|
|
107
|
-
mask.transform( [&](
|
|
108
|
-
output = (input % mask + alphaDash * (1 - mask)) * a +
|
|
107
|
+
mask.transform( [&](ElemType val) { return (val > ElemType(ratio)); } );
|
|
108
|
+
output = (input % mask + ElemType(alphaDash) * (1 - mask)) * ElemType(a) +
|
|
109
|
+
ElemType(b);
|
|
109
110
|
}
|
|
110
111
|
}
|
|
111
112
|
|
|
112
113
|
template<typename MatType>
|
|
113
|
-
void
|
|
114
|
+
void AlphaDropout<MatType>::Backward(
|
|
114
115
|
const MatType& /* input */,
|
|
115
116
|
const MatType& /* output */,
|
|
116
117
|
const MatType& gy,
|
|
117
118
|
MatType& g)
|
|
118
119
|
{
|
|
119
|
-
g = gy % mask * a;
|
|
120
|
+
g = gy % mask * ElemType(a);
|
|
120
121
|
}
|
|
121
122
|
|
|
122
123
|
template<typename MatType>
|
|
123
124
|
template<typename Archive>
|
|
124
|
-
void
|
|
125
|
+
void AlphaDropout<MatType>::serialize(
|
|
125
126
|
Archive& ar, const uint32_t /* version */)
|
|
126
127
|
{
|
|
127
128
|
ar(cereal::base_class<Layer<MatType>>(this));
|