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
|
@@ -22,35 +22,35 @@
|
|
|
22
22
|
namespace mlpack {
|
|
23
23
|
|
|
24
24
|
template<typename MatType>
|
|
25
|
-
|
|
25
|
+
DropConnect<MatType>::DropConnect() :
|
|
26
26
|
Layer<MatType>(),
|
|
27
27
|
ratio(0.5),
|
|
28
28
|
scale(2.0),
|
|
29
|
-
baseLayer(new
|
|
29
|
+
baseLayer(new Linear<MatType>(0))
|
|
30
30
|
{
|
|
31
31
|
// Nothing to do here.
|
|
32
32
|
}
|
|
33
33
|
|
|
34
34
|
template<typename MatType>
|
|
35
|
-
|
|
35
|
+
DropConnect<MatType>::DropConnect(
|
|
36
36
|
const size_t outSize,
|
|
37
37
|
const double ratio) :
|
|
38
38
|
Layer<MatType>(),
|
|
39
39
|
ratio(ratio),
|
|
40
40
|
scale(1.0 / (1 - ratio)),
|
|
41
|
-
baseLayer(new
|
|
41
|
+
baseLayer(new Linear<MatType>(outSize))
|
|
42
42
|
{
|
|
43
43
|
// Nothing to do.
|
|
44
44
|
}
|
|
45
45
|
|
|
46
46
|
template<typename MatType>
|
|
47
|
-
|
|
47
|
+
DropConnect<MatType>::~DropConnect()
|
|
48
48
|
{
|
|
49
49
|
delete baseLayer;
|
|
50
50
|
}
|
|
51
51
|
|
|
52
52
|
template<typename MatType>
|
|
53
|
-
|
|
53
|
+
DropConnect<MatType>::DropConnect(const DropConnect& other) :
|
|
54
54
|
Layer<MatType>(other),
|
|
55
55
|
ratio(other.ratio),
|
|
56
56
|
scale(other.scale),
|
|
@@ -60,7 +60,7 @@ DropConnectType<MatType>::DropConnectType(const DropConnectType& other) :
|
|
|
60
60
|
}
|
|
61
61
|
|
|
62
62
|
template<typename MatType>
|
|
63
|
-
|
|
63
|
+
DropConnect<MatType>::DropConnect(DropConnect&& other) :
|
|
64
64
|
Layer<MatType>(std::move(other)),
|
|
65
65
|
ratio(std::move(other.ratio)),
|
|
66
66
|
scale(std::move(other.scale)),
|
|
@@ -70,8 +70,8 @@ DropConnectType<MatType>::DropConnectType(DropConnectType&& other) :
|
|
|
70
70
|
}
|
|
71
71
|
|
|
72
72
|
template<typename MatType>
|
|
73
|
-
|
|
74
|
-
|
|
73
|
+
DropConnect<MatType>&
|
|
74
|
+
DropConnect<MatType>::operator=(const DropConnect& other)
|
|
75
75
|
{
|
|
76
76
|
if (&other != this)
|
|
77
77
|
{
|
|
@@ -85,8 +85,8 @@ DropConnectType<MatType>::operator=(const DropConnectType& other)
|
|
|
85
85
|
}
|
|
86
86
|
|
|
87
87
|
template<typename MatType>
|
|
88
|
-
|
|
89
|
-
|
|
88
|
+
DropConnect<MatType>&
|
|
89
|
+
DropConnect<MatType>::operator=(DropConnect&& other)
|
|
90
90
|
{
|
|
91
91
|
if (&other != this)
|
|
92
92
|
{
|
|
@@ -100,7 +100,7 @@ DropConnectType<MatType>::operator=(DropConnectType&& other)
|
|
|
100
100
|
}
|
|
101
101
|
|
|
102
102
|
template<typename MatType>
|
|
103
|
-
void
|
|
103
|
+
void DropConnect<MatType>::Forward(const MatType& input, MatType& output)
|
|
104
104
|
{
|
|
105
105
|
// The DropConnect mask will not be multiplied in testing mode.
|
|
106
106
|
if (!this->training)
|
|
@@ -114,18 +114,18 @@ void DropConnectType<MatType>::Forward(const MatType& input, MatType& output)
|
|
|
114
114
|
|
|
115
115
|
// Scale with input / (1 - ratio) and set values to zero with
|
|
116
116
|
// probability ratio.
|
|
117
|
-
mask
|
|
118
|
-
|
|
117
|
+
mask = conv_to<MatType>::from(
|
|
118
|
+
randu<MatType>(denoise.n_rows, denoise.n_cols) > ElemType(ratio));
|
|
119
119
|
|
|
120
120
|
baseLayer->Parameters() = denoise % mask;
|
|
121
121
|
baseLayer->Forward(input, output);
|
|
122
122
|
|
|
123
|
-
output = output * scale;
|
|
123
|
+
output = output * ElemType(scale);
|
|
124
124
|
}
|
|
125
125
|
}
|
|
126
126
|
|
|
127
127
|
template<typename MatType>
|
|
128
|
-
void
|
|
128
|
+
void DropConnect<MatType>::Backward(
|
|
129
129
|
const MatType& input,
|
|
130
130
|
const MatType& output,
|
|
131
131
|
const MatType& gy,
|
|
@@ -135,7 +135,7 @@ void DropConnectType<MatType>::Backward(
|
|
|
135
135
|
}
|
|
136
136
|
|
|
137
137
|
template<typename MatType>
|
|
138
|
-
void
|
|
138
|
+
void DropConnect<MatType>::Gradient(
|
|
139
139
|
const MatType& input,
|
|
140
140
|
const MatType& error,
|
|
141
141
|
MatType& gradient)
|
|
@@ -147,7 +147,7 @@ void DropConnectType<MatType>::Gradient(
|
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
template<typename MatType>
|
|
150
|
-
void
|
|
150
|
+
void DropConnect<MatType>::ComputeOutputDimensions()
|
|
151
151
|
{
|
|
152
152
|
// Propagate input dimensions to the base layer.
|
|
153
153
|
baseLayer->InputDimensions() = this->inputDimensions;
|
|
@@ -155,14 +155,14 @@ void DropConnectType<MatType>::ComputeOutputDimensions()
|
|
|
155
155
|
}
|
|
156
156
|
|
|
157
157
|
template<typename MatType>
|
|
158
|
-
void
|
|
158
|
+
void DropConnect<MatType>::SetWeights(const MatType& weightsIn)
|
|
159
159
|
{
|
|
160
160
|
baseLayer->SetWeights(weightsIn);
|
|
161
161
|
}
|
|
162
162
|
|
|
163
163
|
template<typename MatType>
|
|
164
164
|
template<typename Archive>
|
|
165
|
-
void
|
|
165
|
+
void DropConnect<MatType>::serialize(
|
|
166
166
|
Archive& ar, const uint32_t /* version */)
|
|
167
167
|
{
|
|
168
168
|
ar(cereal::base_class<Layer<MatType>>(this));
|
|
@@ -44,30 +44,33 @@ namespace mlpack {
|
|
|
44
44
|
* computation.
|
|
45
45
|
*/
|
|
46
46
|
template<typename MatType = arma::mat>
|
|
47
|
-
class
|
|
47
|
+
class Dropout : 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 Dropout object using the specified ratio parameter.
|
|
52
55
|
*
|
|
53
56
|
* @param ratio The probability of setting a value to zero.
|
|
54
57
|
*/
|
|
55
|
-
|
|
58
|
+
Dropout(const double ratio = 0.5);
|
|
56
59
|
|
|
57
|
-
|
|
58
|
-
|
|
60
|
+
// Clone the Dropout object. This handles polymorphism correctly.
|
|
61
|
+
Dropout* Clone() const { return new Dropout(*this); }
|
|
59
62
|
|
|
60
63
|
// Virtual destructor.
|
|
61
|
-
virtual ~
|
|
64
|
+
virtual ~Dropout() { }
|
|
62
65
|
|
|
63
|
-
//! Copy the given
|
|
64
|
-
|
|
65
|
-
//! Take ownership of the given
|
|
66
|
-
|
|
67
|
-
//! Copy the given
|
|
68
|
-
|
|
69
|
-
//! Take ownership of the given
|
|
70
|
-
|
|
66
|
+
//! Copy the given Dropout.
|
|
67
|
+
Dropout(const Dropout& other);
|
|
68
|
+
//! Take ownership of the given Dropout.
|
|
69
|
+
Dropout(Dropout&& other);
|
|
70
|
+
//! Copy the given Dropout.
|
|
71
|
+
Dropout& operator=(const Dropout& other);
|
|
72
|
+
//! Take ownership of the given Dropout.
|
|
73
|
+
Dropout& operator=(Dropout&& other);
|
|
71
74
|
|
|
72
75
|
/**
|
|
73
76
|
* Ordinary feed forward pass of the dropout layer.
|
|
@@ -115,12 +118,7 @@ class DropoutType : public Layer<MatType>
|
|
|
115
118
|
|
|
116
119
|
//! The scale fraction.
|
|
117
120
|
double scale;
|
|
118
|
-
}; // class
|
|
119
|
-
|
|
120
|
-
// Convenience typedefs.
|
|
121
|
-
|
|
122
|
-
// Standard Dropout layer.
|
|
123
|
-
using Dropout = DropoutType<arma::mat>;
|
|
121
|
+
}; // class Dropout
|
|
124
122
|
|
|
125
123
|
} // namespace mlpack
|
|
126
124
|
|
|
@@ -19,7 +19,7 @@
|
|
|
19
19
|
namespace mlpack {
|
|
20
20
|
|
|
21
21
|
template<typename MatType>
|
|
22
|
-
|
|
22
|
+
Dropout<MatType>::Dropout(
|
|
23
23
|
const double ratio) :
|
|
24
24
|
Layer<MatType>(),
|
|
25
25
|
ratio(ratio),
|
|
@@ -29,7 +29,7 @@ DropoutType<MatType>::DropoutType(
|
|
|
29
29
|
}
|
|
30
30
|
|
|
31
31
|
template<typename MatType>
|
|
32
|
-
|
|
32
|
+
Dropout<MatType>::Dropout(const Dropout& other) :
|
|
33
33
|
Layer<MatType>(other),
|
|
34
34
|
ratio(other.ratio),
|
|
35
35
|
scale(other.scale)
|
|
@@ -38,7 +38,7 @@ DropoutType<MatType>::DropoutType(const DropoutType& other) :
|
|
|
38
38
|
}
|
|
39
39
|
|
|
40
40
|
template<typename MatType>
|
|
41
|
-
|
|
41
|
+
Dropout<MatType>::Dropout(Dropout&& other) :
|
|
42
42
|
Layer<MatType>(std::move(other)),
|
|
43
43
|
ratio(std::move(other.ratio)),
|
|
44
44
|
scale(std::move(other.scale))
|
|
@@ -47,8 +47,8 @@ DropoutType<MatType>::DropoutType(DropoutType&& other) :
|
|
|
47
47
|
}
|
|
48
48
|
|
|
49
49
|
template<typename MatType>
|
|
50
|
-
|
|
51
|
-
|
|
50
|
+
Dropout<MatType>&
|
|
51
|
+
Dropout<MatType>::operator=(const Dropout& other)
|
|
52
52
|
{
|
|
53
53
|
if (&other != this)
|
|
54
54
|
{
|
|
@@ -61,8 +61,8 @@ DropoutType<MatType>::operator=(const DropoutType& other)
|
|
|
61
61
|
}
|
|
62
62
|
|
|
63
63
|
template<typename MatType>
|
|
64
|
-
|
|
65
|
-
|
|
64
|
+
Dropout<MatType>&
|
|
65
|
+
Dropout<MatType>::operator=(Dropout&& other)
|
|
66
66
|
{
|
|
67
67
|
if (&other != this)
|
|
68
68
|
{
|
|
@@ -75,7 +75,7 @@ DropoutType<MatType>::operator=(DropoutType&& other)
|
|
|
75
75
|
}
|
|
76
76
|
|
|
77
77
|
template<typename MatType>
|
|
78
|
-
void
|
|
78
|
+
void Dropout<MatType>::Forward(const MatType& input, MatType& output)
|
|
79
79
|
{
|
|
80
80
|
// The dropout mask will not be multiplied in testing mode.
|
|
81
81
|
if (!this->training)
|
|
@@ -86,32 +86,25 @@ void DropoutType<MatType>::Forward(const MatType& input, MatType& output)
|
|
|
86
86
|
{
|
|
87
87
|
// Scale with input / (1 - ratio) and set values to zero with probability
|
|
88
88
|
// 'ratio'.
|
|
89
|
-
mask
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
{
|
|
93
|
-
for (size_t j = 0; j < input.n_cols; ++j)
|
|
94
|
-
{
|
|
95
|
-
mask(i, j) = (mask(i, j) > this->ratio) ? 1.0 : 0.0;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
output = input % mask * this->scale;
|
|
89
|
+
mask = conv_to<MatType>::from(
|
|
90
|
+
randu<MatType>(input.n_rows, input.n_cols) > ElemType(ratio));
|
|
91
|
+
output = input % mask * ElemType(scale);
|
|
99
92
|
}
|
|
100
93
|
}
|
|
101
94
|
|
|
102
95
|
template<typename MatType>
|
|
103
|
-
void
|
|
96
|
+
void Dropout<MatType>::Backward(
|
|
104
97
|
const MatType& /* input */,
|
|
105
98
|
const MatType& /* output */,
|
|
106
99
|
const MatType& gy,
|
|
107
100
|
MatType& g)
|
|
108
101
|
{
|
|
109
|
-
g = gy % mask * scale;
|
|
102
|
+
g = gy % mask * ElemType(scale);
|
|
110
103
|
}
|
|
111
104
|
|
|
112
105
|
template<typename MatType>
|
|
113
106
|
template<typename Archive>
|
|
114
|
-
void
|
|
107
|
+
void Dropout<MatType>::serialize(
|
|
115
108
|
Archive& ar,
|
|
116
109
|
const uint32_t /* version */)
|
|
117
110
|
{
|
|
@@ -104,15 +104,18 @@ namespace mlpack {
|
|
|
104
104
|
* type to differ from the input type (Default: arma::mat).
|
|
105
105
|
*/
|
|
106
106
|
template <typename MatType = arma::mat>
|
|
107
|
-
class
|
|
107
|
+
class ELU : public Layer<MatType>
|
|
108
108
|
{
|
|
109
109
|
public:
|
|
110
|
+
// Convenience typedef to access the element type of the weights and data.
|
|
111
|
+
using ElemType = typename MatType::elem_type;
|
|
112
|
+
|
|
110
113
|
/**
|
|
111
114
|
* Create the ELU object.
|
|
112
115
|
*
|
|
113
116
|
* NOTE: Use this constructor for SELU activation function.
|
|
114
117
|
*/
|
|
115
|
-
|
|
118
|
+
ELU();
|
|
116
119
|
|
|
117
120
|
/**
|
|
118
121
|
* Create the ELU object using the specified parameter. The non zero
|
|
@@ -122,25 +125,25 @@ class ELUType : public Layer<MatType>
|
|
|
122
125
|
* @note Use this constructor for ELU activation function.
|
|
123
126
|
* @param alpha Scale parameter for the negative factor.
|
|
124
127
|
*/
|
|
125
|
-
|
|
128
|
+
ELU(const double alpha);
|
|
126
129
|
|
|
127
|
-
//! Clone the
|
|
128
|
-
|
|
130
|
+
//! Clone the ELU object. This handles polymorphism correctly.
|
|
131
|
+
ELU* Clone() const { return new ELU(*this); }
|
|
129
132
|
|
|
130
133
|
// Virtual destructor.
|
|
131
|
-
virtual ~
|
|
134
|
+
virtual ~ELU() { }
|
|
132
135
|
|
|
133
136
|
// Copy constructor.
|
|
134
|
-
|
|
137
|
+
ELU(const ELU& other);
|
|
135
138
|
|
|
136
139
|
// Move Constructor.
|
|
137
|
-
|
|
140
|
+
ELU(ELU&& other);
|
|
138
141
|
|
|
139
142
|
// Copy assignment operator.
|
|
140
|
-
|
|
143
|
+
ELU& operator=(const ELU& other);
|
|
141
144
|
|
|
142
145
|
// Move assignement operator.
|
|
143
|
-
|
|
146
|
+
ELU& operator=(ELU&& other);
|
|
144
147
|
|
|
145
148
|
/**
|
|
146
149
|
* Ordinary feed forward pass of a neural network, evaluating the function
|
|
@@ -181,27 +184,22 @@ class ELUType : public Layer<MatType>
|
|
|
181
184
|
void serialize(Archive& ar, const uint32_t /* version */);
|
|
182
185
|
|
|
183
186
|
private:
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
//! ELU Hyperparameter (0 < alpha)
|
|
188
|
-
//! SELU parameter fixed to 1.6732632423543774 for normalized inputs.
|
|
187
|
+
// ELU Hyperparameter (0 < alpha)
|
|
188
|
+
// SELU parameter fixed to 1.6732632423543774 for normalized inputs.
|
|
189
189
|
double alpha;
|
|
190
190
|
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
191
|
+
// Lambda parameter used for multiplication of ELU function.
|
|
192
|
+
// For ELU activation function, lambda = 1.
|
|
193
|
+
// For SELU activation function, lambda = 1.0507009873554802 for normalized
|
|
194
|
+
// inputs.
|
|
195
195
|
double lambda;
|
|
196
|
-
}; // class
|
|
196
|
+
}; // class ELU
|
|
197
197
|
|
|
198
198
|
// Convenience typedefs.
|
|
199
199
|
|
|
200
|
-
//
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
// SELU layer.
|
|
204
|
-
using SELU = ELUType<arma::mat>;
|
|
200
|
+
// SELU layer (implemented as a class for template deduction).
|
|
201
|
+
template<typename MatType = arma::mat>
|
|
202
|
+
class SELU : public ELU<MatType> { };
|
|
205
203
|
|
|
206
204
|
} // namespace mlpack
|
|
207
205
|
|
|
@@ -26,7 +26,7 @@ namespace mlpack {
|
|
|
26
26
|
// This constructor is called for SELU activation function. The values of
|
|
27
27
|
// alpha and lambda are constant for normalized inputs.
|
|
28
28
|
template<typename MatType>
|
|
29
|
-
|
|
29
|
+
ELU<MatType>::ELU() :
|
|
30
30
|
Layer<MatType>(),
|
|
31
31
|
alpha(1.6732632423543774),
|
|
32
32
|
lambda(1.0507009873554802)
|
|
@@ -37,7 +37,7 @@ ELUType<MatType>::ELUType() :
|
|
|
37
37
|
// This constructor is called for ELU activation function. The value of lambda
|
|
38
38
|
// is fixed and equal to 1. 'alpha' is a hyperparameter.
|
|
39
39
|
template<typename MatType>
|
|
40
|
-
|
|
40
|
+
ELU<MatType>::ELU(const double alpha) :
|
|
41
41
|
Layer<MatType>(),
|
|
42
42
|
alpha(alpha),
|
|
43
43
|
lambda(1)
|
|
@@ -46,7 +46,7 @@ ELUType<MatType>::ELUType(const double alpha) :
|
|
|
46
46
|
}
|
|
47
47
|
|
|
48
48
|
template<typename MatType>
|
|
49
|
-
|
|
49
|
+
ELU<MatType>::ELU(const ELU& other) :
|
|
50
50
|
Layer<MatType>(other),
|
|
51
51
|
alpha(other.alpha),
|
|
52
52
|
lambda(other.lambda)
|
|
@@ -55,8 +55,8 @@ ELUType<MatType>::ELUType(const ELUType& other) :
|
|
|
55
55
|
}
|
|
56
56
|
|
|
57
57
|
template<typename MatType>
|
|
58
|
-
|
|
59
|
-
|
|
58
|
+
ELU<MatType>::ELU(
|
|
59
|
+
ELU&& other) :
|
|
60
60
|
Layer<MatType>(std::move(other)),
|
|
61
61
|
alpha(std::move(other.alpha)),
|
|
62
62
|
lambda(std::move(other.lambda))
|
|
@@ -65,8 +65,8 @@ ELUType<MatType>::ELUType(
|
|
|
65
65
|
}
|
|
66
66
|
|
|
67
67
|
template<typename MatType>
|
|
68
|
-
|
|
69
|
-
|
|
68
|
+
ELU<MatType>&
|
|
69
|
+
ELU<MatType>::operator=(const ELU& other)
|
|
70
70
|
{
|
|
71
71
|
if (&other != this)
|
|
72
72
|
{
|
|
@@ -79,8 +79,8 @@ ELUType<MatType>::operator=(const ELUType& other)
|
|
|
79
79
|
}
|
|
80
80
|
|
|
81
81
|
template<typename MatType>
|
|
82
|
-
|
|
83
|
-
|
|
82
|
+
ELU<MatType>&
|
|
83
|
+
ELU<MatType>::operator=(ELU&& other)
|
|
84
84
|
{
|
|
85
85
|
if (&other != this)
|
|
86
86
|
{
|
|
@@ -93,39 +93,32 @@ ELUType<MatType>::operator=(ELUType&& other)
|
|
|
93
93
|
}
|
|
94
94
|
|
|
95
95
|
template<typename MatType>
|
|
96
|
-
void
|
|
96
|
+
void ELU<MatType>::Forward(
|
|
97
97
|
const MatType& input, MatType& output)
|
|
98
98
|
{
|
|
99
99
|
for (size_t i = 0; i < input.n_elem; ++i)
|
|
100
100
|
{
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
output(i) = (input(i) > 0) ? lambda * input(i) : lambda * alpha *
|
|
104
|
-
(std::exp(input(i)) - 1);
|
|
105
|
-
}
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
if (this->training)
|
|
109
|
-
{
|
|
110
|
-
derivative.set_size(arma::size(input));
|
|
111
|
-
for (size_t i = 0; i < input.n_elem; ++i)
|
|
112
|
-
derivative(i) = (input(i) > 0) ? lambda : output(i) + lambda * alpha;
|
|
101
|
+
output(i) = (input(i) >= 0) ? ElemType(lambda) * input(i) :
|
|
102
|
+
ElemType(lambda) * ElemType(alpha) * (std::exp(input(i)) - 1);
|
|
113
103
|
}
|
|
114
104
|
}
|
|
115
105
|
|
|
116
106
|
template<typename MatType>
|
|
117
|
-
void
|
|
118
|
-
const MatType&
|
|
119
|
-
const MatType&
|
|
107
|
+
void ELU<MatType>::Backward(
|
|
108
|
+
const MatType& input,
|
|
109
|
+
const MatType& output,
|
|
120
110
|
const MatType& gy,
|
|
121
111
|
MatType& g)
|
|
122
112
|
{
|
|
123
|
-
|
|
113
|
+
for (size_t i = 0; i < input.n_elem; ++i)
|
|
114
|
+
{
|
|
115
|
+
g(i) = gy(i) * ((input(i) >= 0) ? lambda : output(i) + lambda * alpha);
|
|
116
|
+
}
|
|
124
117
|
}
|
|
125
118
|
|
|
126
119
|
template<typename MatType>
|
|
127
120
|
template<typename Archive>
|
|
128
|
-
void
|
|
121
|
+
void ELU<MatType>::serialize(
|
|
129
122
|
Archive& ar, const uint32_t /* version */)
|
|
130
123
|
{
|
|
131
124
|
ar(cereal::base_class<Layer<MatType>>(this));
|
|
@@ -0,0 +1,160 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* @file methods/ann/layer/embedding.hpp
|
|
3
|
+
* @author Marcus Edel
|
|
4
|
+
* @author Kumar Utkarsh
|
|
5
|
+
* @author Ryan Curtin
|
|
6
|
+
*
|
|
7
|
+
* Definition of the Embedding (embedding) layer class.
|
|
8
|
+
*
|
|
9
|
+
* mlpack is free software; you may redistribute it and/or modify it under the
|
|
10
|
+
* terms of the 3-clause BSD license. You should have received a copy of the
|
|
11
|
+
* 3-clause BSD license along with mlpack. If not, see
|
|
12
|
+
* http://www.opensource.org/licenses/BSD-3-Clause for more information.
|
|
13
|
+
*/
|
|
14
|
+
#ifndef MLPACK_METHODS_ANN_LAYER_EMBEDDING_HPP
|
|
15
|
+
#define MLPACK_METHODS_ANN_LAYER_EMBEDDING_HPP
|
|
16
|
+
|
|
17
|
+
#include <mlpack/prereqs.hpp>
|
|
18
|
+
#include <mlpack/methods/ann/regularizer/no_regularizer.hpp>
|
|
19
|
+
|
|
20
|
+
#include "layer.hpp"
|
|
21
|
+
|
|
22
|
+
namespace mlpack {
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The Embedding class stores word embeddings and retrieves them using tokens.
|
|
26
|
+
* It must always be the first layer of any network it is used in.
|
|
27
|
+
*
|
|
28
|
+
* The input to the Embedding class is a matrix of shape (sequenceLength,
|
|
29
|
+
* batchSize). The matrix consists of tokens which are used to lookup the table
|
|
30
|
+
* (i.e. weights) to find the embeddings of those tokens.
|
|
31
|
+
*
|
|
32
|
+
* The input shape : (sequenceLength, batchSize).
|
|
33
|
+
* The output shape : (sequenceLength * embeddingSize, batchSize).
|
|
34
|
+
*
|
|
35
|
+
* @tparam InputDataType Type of the input data (arma::colvec, arma::mat,
|
|
36
|
+
* arma::sp_mat or arma::cube).
|
|
37
|
+
* @tparam OutputDataType Type of the output data (arma::colvec, arma::mat,
|
|
38
|
+
* arma::sp_mat or arma::cube).
|
|
39
|
+
*/
|
|
40
|
+
template<
|
|
41
|
+
typename MatType = arma::mat,
|
|
42
|
+
typename RegularizerType = NoRegularizer
|
|
43
|
+
>
|
|
44
|
+
class Embedding : public Layer<MatType>
|
|
45
|
+
{
|
|
46
|
+
public:
|
|
47
|
+
using CubeType = typename GetCubeType<MatType>::type;
|
|
48
|
+
|
|
49
|
+
// Create an Embedding layer.
|
|
50
|
+
Embedding();
|
|
51
|
+
|
|
52
|
+
/**
|
|
53
|
+
* Create the Embedding layer object with the specified number of output
|
|
54
|
+
* dimensions. The vocabulary size (number of possible inputs) and the
|
|
55
|
+
* embedding size (dimensionality of the output) must be given.
|
|
56
|
+
*
|
|
57
|
+
* @param vocabSize The size of the input vocabulary (number of different
|
|
58
|
+
* possible input values).
|
|
59
|
+
* @param embeddingSize Number of dimensions to use for the embedding.
|
|
60
|
+
* @param regularizer The regularizer to use, optional (default: no
|
|
61
|
+
* regularizer).
|
|
62
|
+
*/
|
|
63
|
+
Embedding(const size_t vocabSize,
|
|
64
|
+
const size_t embeddingSize,
|
|
65
|
+
RegularizerType regularizer = RegularizerType());
|
|
66
|
+
|
|
67
|
+
virtual ~Embedding() { }
|
|
68
|
+
|
|
69
|
+
// Clone the Embedding object. This handles polymorphism correctly.
|
|
70
|
+
Embedding* Clone() const { return new Embedding(*this); }
|
|
71
|
+
|
|
72
|
+
// Copy the other Embedding layer (but not weights).
|
|
73
|
+
Embedding(const Embedding& layer);
|
|
74
|
+
|
|
75
|
+
// Take ownership of the members of the other Embedding layer (but not
|
|
76
|
+
// weights).
|
|
77
|
+
Embedding(Embedding&& layer);
|
|
78
|
+
|
|
79
|
+
// Copy the other Embedding layer (but not weights).
|
|
80
|
+
Embedding& operator=(const Embedding& layer);
|
|
81
|
+
|
|
82
|
+
// Take ownership of the members of the other Embedding layer (but not
|
|
83
|
+
// weights).
|
|
84
|
+
Embedding& operator=(Embedding&& layer);
|
|
85
|
+
|
|
86
|
+
/**
|
|
87
|
+
* Reset the layer parameter (weights and bias). The method is called to
|
|
88
|
+
* assign the allocated memory to the internal learnable parameters.
|
|
89
|
+
*/
|
|
90
|
+
void SetWeights(const MatType& weightsIn);
|
|
91
|
+
|
|
92
|
+
/**
|
|
93
|
+
* Ordinary feed forward pass of a neural network, evaluating the function
|
|
94
|
+
* f(x) by propagating the activity forward through f.
|
|
95
|
+
*
|
|
96
|
+
* @param input Input data used for evaluating the specified function.
|
|
97
|
+
* @param output Resulting output activation.
|
|
98
|
+
*/
|
|
99
|
+
void Forward(const MatType& input, MatType& output);
|
|
100
|
+
|
|
101
|
+
/**
|
|
102
|
+
* Ordinary feed backward pass of a neural network, calculating the function
|
|
103
|
+
* f(x) by propagating x backwards trough f. Using the results from the feed
|
|
104
|
+
* forward pass.
|
|
105
|
+
*
|
|
106
|
+
* @param * (input) The propagated input activation.
|
|
107
|
+
* @param gy The backpropagated error.
|
|
108
|
+
* @param g The calculated gradient.
|
|
109
|
+
*/
|
|
110
|
+
void Backward(const MatType& /* input */,
|
|
111
|
+
const MatType& /* output */,
|
|
112
|
+
const MatType& gy,
|
|
113
|
+
MatType& g);
|
|
114
|
+
|
|
115
|
+
/**
|
|
116
|
+
* Calculate the gradient using the output delta and the input activation.
|
|
117
|
+
*
|
|
118
|
+
* @param input The input parameter used for calculating the gradient.
|
|
119
|
+
* @param error The calculated error.
|
|
120
|
+
* @param gradient The calculated gradient.
|
|
121
|
+
*/
|
|
122
|
+
void Gradient(const MatType& input,
|
|
123
|
+
const MatType& error,
|
|
124
|
+
MatType& gradient);
|
|
125
|
+
|
|
126
|
+
// Get the parameters.
|
|
127
|
+
const MatType& Parameters() const { return weights; }
|
|
128
|
+
// Modify the parameters.
|
|
129
|
+
MatType& Parameters() { return weights; }
|
|
130
|
+
|
|
131
|
+
// Get the size of the weights.
|
|
132
|
+
size_t WeightSize() const { return vocabSize * embeddingSize; }
|
|
133
|
+
|
|
134
|
+
// Compute the output dimensions of the layer given `InputDimensions()`.
|
|
135
|
+
void ComputeOutputDimensions();
|
|
136
|
+
|
|
137
|
+
// Serialize the layer.
|
|
138
|
+
template<typename Archive>
|
|
139
|
+
void serialize(Archive& ar, const uint32_t /* version */);
|
|
140
|
+
|
|
141
|
+
private:
|
|
142
|
+
// Locally-stored size of the vocabulary.
|
|
143
|
+
size_t vocabSize;
|
|
144
|
+
|
|
145
|
+
// Locally-stored length of each embedding vector.
|
|
146
|
+
size_t embeddingSize;
|
|
147
|
+
|
|
148
|
+
// Locally-stored weight object.
|
|
149
|
+
MatType weights;
|
|
150
|
+
|
|
151
|
+
// Locally-stored regularizer object.
|
|
152
|
+
RegularizerType regularizer;
|
|
153
|
+
}; // class Embedding
|
|
154
|
+
|
|
155
|
+
} // namespace mlpack
|
|
156
|
+
|
|
157
|
+
// Include implementation.
|
|
158
|
+
#include "embedding_impl.hpp"
|
|
159
|
+
|
|
160
|
+
#endif
|