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
|
@@ -26,38 +26,41 @@ namespace mlpack {
|
|
|
26
26
|
* computation.
|
|
27
27
|
*/
|
|
28
28
|
template<typename MatType = arma::mat>
|
|
29
|
-
class
|
|
29
|
+
class NoisyLinear : public Layer<MatType>
|
|
30
30
|
{
|
|
31
31
|
public:
|
|
32
|
+
// Convenience typedef to access the element type of the weights and data.
|
|
33
|
+
using ElemType = typename MatType::elem_type;
|
|
34
|
+
|
|
32
35
|
/**
|
|
33
36
|
* Create the NoisyLinear layer object using the specified number of units.
|
|
34
37
|
*
|
|
35
38
|
* @param outSize The number of output units.
|
|
36
39
|
*/
|
|
37
|
-
|
|
40
|
+
NoisyLinear(const size_t outSize = 0);
|
|
38
41
|
|
|
39
|
-
|
|
40
|
-
|
|
42
|
+
// Clone the NoisyLinear object. This handles polymorphism correctly.
|
|
43
|
+
NoisyLinear* Clone() const { return new NoisyLinear(*this); }
|
|
41
44
|
|
|
42
45
|
// Virtual destructor.
|
|
43
|
-
virtual ~
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
46
|
+
virtual ~NoisyLinear() { }
|
|
47
|
+
|
|
48
|
+
// Copy the given NoisyLinear layer (but not weights).
|
|
49
|
+
NoisyLinear(const NoisyLinear& other);
|
|
50
|
+
// Take ownership of the given NoisyLinear layer (but not weights).
|
|
51
|
+
NoisyLinear(NoisyLinear&& other);
|
|
52
|
+
// Copy the given NoisyLinear layer (but not weights).
|
|
53
|
+
NoisyLinear& operator=(const NoisyLinear& other);
|
|
54
|
+
// Take ownership of the given NoisyLinear layer (but not weights).
|
|
55
|
+
NoisyLinear& operator=(NoisyLinear&& other);
|
|
56
|
+
|
|
57
|
+
// Reset the layer parameter.
|
|
55
58
|
void SetWeights(const MatType& weightsIn);
|
|
56
59
|
|
|
57
|
-
|
|
60
|
+
// Reset the noise parameters (epsilons).
|
|
58
61
|
void ResetNoise();
|
|
59
62
|
|
|
60
|
-
|
|
63
|
+
// Reset the values of layer parameters (factorized gaussian noise).
|
|
61
64
|
void ResetParameters();
|
|
62
65
|
|
|
63
66
|
/**
|
|
@@ -95,64 +98,58 @@ class NoisyLinearType : public Layer<MatType>
|
|
|
95
98
|
const MatType& error,
|
|
96
99
|
MatType& gradient);
|
|
97
100
|
|
|
98
|
-
|
|
101
|
+
// Get the parameters.
|
|
99
102
|
MatType const& Parameters() const { return weights; }
|
|
100
|
-
|
|
103
|
+
// Modify the parameters.
|
|
101
104
|
MatType& Parameters() { return weights; }
|
|
102
105
|
|
|
103
|
-
|
|
104
|
-
//! Modify the bias weights of the layer.
|
|
106
|
+
// Modify the bias weights of the layer.
|
|
105
107
|
MatType& Bias() { return bias; }
|
|
106
108
|
|
|
107
|
-
|
|
109
|
+
// Compute the number of parameters in the layer.
|
|
108
110
|
size_t WeightSize() const { return (outSize * inSize + outSize) * 2; }
|
|
109
111
|
|
|
110
|
-
|
|
112
|
+
// Compute the output dimensions of the layer given `InputDimensions()`.
|
|
111
113
|
void ComputeOutputDimensions();
|
|
112
114
|
|
|
113
|
-
|
|
115
|
+
// Serialize the layer.
|
|
114
116
|
template<typename Archive>
|
|
115
117
|
void serialize(Archive& ar, const uint32_t /* version */);
|
|
116
118
|
|
|
117
119
|
private:
|
|
118
|
-
|
|
120
|
+
// Locally-stored number of output units.
|
|
119
121
|
size_t outSize;
|
|
120
122
|
|
|
121
|
-
|
|
123
|
+
// Locally stored number of input units.
|
|
122
124
|
size_t inSize;
|
|
123
125
|
|
|
124
|
-
|
|
126
|
+
// Locally-stored weight object.
|
|
125
127
|
MatType weights;
|
|
126
128
|
|
|
127
|
-
|
|
129
|
+
// Locally-stored weight parameters.
|
|
128
130
|
MatType weight;
|
|
129
131
|
|
|
130
|
-
|
|
132
|
+
// Locally-stored weight-mean parameters.
|
|
131
133
|
MatType weightMu;
|
|
132
134
|
|
|
133
|
-
|
|
135
|
+
// Locally-stored weight-standard-deviation parameters.
|
|
134
136
|
MatType weightSigma;
|
|
135
137
|
|
|
136
|
-
|
|
138
|
+
// Locally-stored weight-epsilon parameters.
|
|
137
139
|
MatType weightEpsilon;
|
|
138
140
|
|
|
139
|
-
|
|
141
|
+
// Locally-stored bias parameters.
|
|
140
142
|
MatType bias;
|
|
141
143
|
|
|
142
|
-
|
|
144
|
+
// Locally-stored bias-mean parameters.
|
|
143
145
|
MatType biasMu;
|
|
144
146
|
|
|
145
|
-
|
|
147
|
+
// Locally-stored bias-standard-deviation parameters.
|
|
146
148
|
MatType biasSigma;
|
|
147
149
|
|
|
148
|
-
|
|
150
|
+
// Locally-stored bias-epsilon parameters.
|
|
149
151
|
MatType biasEpsilon;
|
|
150
|
-
}; // class
|
|
151
|
-
|
|
152
|
-
// Convenience typedefs.
|
|
153
|
-
|
|
154
|
-
// Standard noisy linear layer.
|
|
155
|
-
using NoisyLinear = NoisyLinearType<arma::mat>;
|
|
152
|
+
}; // class NoisyLinear
|
|
156
153
|
|
|
157
154
|
} // namespace mlpack
|
|
158
155
|
|
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
namespace mlpack {
|
|
19
19
|
|
|
20
20
|
template<typename MatType>
|
|
21
|
-
|
|
21
|
+
NoisyLinear<MatType>::NoisyLinear(const size_t outSize) :
|
|
22
22
|
Layer<MatType>(),
|
|
23
23
|
outSize(outSize),
|
|
24
24
|
inSize(0)
|
|
@@ -27,7 +27,7 @@ NoisyLinearType<MatType>::NoisyLinearType(const size_t outSize) :
|
|
|
27
27
|
}
|
|
28
28
|
|
|
29
29
|
template<typename MatType>
|
|
30
|
-
|
|
30
|
+
NoisyLinear<MatType>::NoisyLinear(const NoisyLinear& other) :
|
|
31
31
|
Layer<MatType>(other),
|
|
32
32
|
outSize(other.outSize),
|
|
33
33
|
inSize(other.inSize)
|
|
@@ -36,7 +36,7 @@ NoisyLinearType<MatType>::NoisyLinearType(const NoisyLinearType& other) :
|
|
|
36
36
|
}
|
|
37
37
|
|
|
38
38
|
template<typename MatType>
|
|
39
|
-
|
|
39
|
+
NoisyLinear<MatType>::NoisyLinear(NoisyLinear&& other) :
|
|
40
40
|
Layer<MatType>(std::move(other)),
|
|
41
41
|
outSize(std::move(other.outSize)),
|
|
42
42
|
inSize(std::move(other.inSize))
|
|
@@ -45,8 +45,8 @@ NoisyLinearType<MatType>::NoisyLinearType(NoisyLinearType&& other) :
|
|
|
45
45
|
}
|
|
46
46
|
|
|
47
47
|
template<typename MatType>
|
|
48
|
-
|
|
49
|
-
|
|
48
|
+
NoisyLinear<MatType>&
|
|
49
|
+
NoisyLinear<MatType>::operator=(const NoisyLinear& other)
|
|
50
50
|
{
|
|
51
51
|
if (&other != this)
|
|
52
52
|
{
|
|
@@ -59,8 +59,8 @@ NoisyLinearType<MatType>::operator=(const NoisyLinearType& other)
|
|
|
59
59
|
}
|
|
60
60
|
|
|
61
61
|
template<typename MatType>
|
|
62
|
-
|
|
63
|
-
|
|
62
|
+
NoisyLinear<MatType>&
|
|
63
|
+
NoisyLinear<MatType>::operator=(NoisyLinear&& other)
|
|
64
64
|
{
|
|
65
65
|
if (&other != this)
|
|
66
66
|
{
|
|
@@ -73,7 +73,7 @@ NoisyLinearType<MatType>::operator=(NoisyLinearType&& other)
|
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
template<typename MatType>
|
|
76
|
-
void
|
|
76
|
+
void NoisyLinear<MatType>::SetWeights(const MatType& weightsIn)
|
|
77
77
|
{
|
|
78
78
|
MakeAlias(weights, weightsIn, 1, (outSize * inSize + outSize) * 2);
|
|
79
79
|
MakeAlias(weightMu, weightsIn, outSize, inSize);
|
|
@@ -87,7 +87,7 @@ void NoisyLinearType<MatType>::SetWeights(const MatType& weightsIn)
|
|
|
87
87
|
}
|
|
88
88
|
|
|
89
89
|
template<typename MatType>
|
|
90
|
-
void
|
|
90
|
+
void NoisyLinear<MatType>::ResetNoise()
|
|
91
91
|
{
|
|
92
92
|
MatType epsilonIn;
|
|
93
93
|
epsilonIn.randn(inSize, 1);
|
|
@@ -102,19 +102,19 @@ void NoisyLinearType<MatType>::ResetNoise()
|
|
|
102
102
|
}
|
|
103
103
|
|
|
104
104
|
template<typename MatType>
|
|
105
|
-
void
|
|
105
|
+
void NoisyLinear<MatType>::ResetParameters()
|
|
106
106
|
{
|
|
107
|
-
const
|
|
107
|
+
const ElemType muRange = 1 / std::sqrt(ElemType(inSize));
|
|
108
108
|
weightMu.randu();
|
|
109
109
|
weightMu = muRange * (weightMu * 2 - 1);
|
|
110
110
|
biasMu.randu();
|
|
111
111
|
biasMu = muRange * (biasMu * 2 - 1);
|
|
112
|
-
weightSigma.fill(
|
|
113
|
-
biasSigma.fill(
|
|
112
|
+
weightSigma.fill(1 / (2 * std::sqrt(ElemType(inSize))));
|
|
113
|
+
biasSigma.fill(1 / (2 * std::sqrt(ElemType(outSize))));
|
|
114
114
|
}
|
|
115
115
|
|
|
116
116
|
template<typename MatType>
|
|
117
|
-
void
|
|
117
|
+
void NoisyLinear<MatType>::Forward(const MatType& input, MatType& output)
|
|
118
118
|
{
|
|
119
119
|
weight = weightMu + weightSigma % weightEpsilon;
|
|
120
120
|
bias = biasMu + biasSigma % biasEpsilon;
|
|
@@ -123,7 +123,7 @@ void NoisyLinearType<MatType>::Forward(const MatType& input, MatType& output)
|
|
|
123
123
|
}
|
|
124
124
|
|
|
125
125
|
template<typename MatType>
|
|
126
|
-
void
|
|
126
|
+
void NoisyLinear<MatType>::Backward(
|
|
127
127
|
const MatType& /* input */,
|
|
128
128
|
const MatType& /* output */,
|
|
129
129
|
const MatType& gy,
|
|
@@ -133,7 +133,7 @@ void NoisyLinearType<MatType>::Backward(
|
|
|
133
133
|
}
|
|
134
134
|
|
|
135
135
|
template<typename MatType>
|
|
136
|
-
void
|
|
136
|
+
void NoisyLinear<MatType>::Gradient(
|
|
137
137
|
const MatType& input, const MatType& error, MatType& gradient)
|
|
138
138
|
{
|
|
139
139
|
// Locally stored to prevent multiplication twice.
|
|
@@ -151,7 +151,7 @@ void NoisyLinearType<MatType>::Gradient(
|
|
|
151
151
|
}
|
|
152
152
|
|
|
153
153
|
template<typename MatType>
|
|
154
|
-
void
|
|
154
|
+
void NoisyLinear<MatType>::ComputeOutputDimensions()
|
|
155
155
|
{
|
|
156
156
|
inSize = this->inputDimensions[0];
|
|
157
157
|
for (size_t i = 1; i < this->inputDimensions.size(); ++i)
|
|
@@ -166,7 +166,7 @@ void NoisyLinearType<MatType>::ComputeOutputDimensions()
|
|
|
166
166
|
|
|
167
167
|
template<typename MatType>
|
|
168
168
|
template<typename Archive>
|
|
169
|
-
void
|
|
169
|
+
void NoisyLinear<MatType>::serialize(
|
|
170
170
|
Archive& ar, const uint32_t /* version */)
|
|
171
171
|
{
|
|
172
172
|
ar(cereal::base_class<Layer<MatType>>(this));
|
|
@@ -25,10 +25,13 @@ namespace mlpack {
|
|
|
25
25
|
* computation.
|
|
26
26
|
*/
|
|
27
27
|
template<typename MatType = arma::mat>
|
|
28
|
-
class
|
|
28
|
+
class Padding : public Layer<MatType>
|
|
29
29
|
{
|
|
30
30
|
public:
|
|
31
|
+
// Convenience typedefs.
|
|
32
|
+
using ElemType = typename MatType::elem_type;
|
|
31
33
|
using CubeType = typename GetCubeType<MatType>::type;
|
|
34
|
+
|
|
32
35
|
/**
|
|
33
36
|
* Create the Padding object using the specified number of output units.
|
|
34
37
|
*
|
|
@@ -37,25 +40,26 @@ class PaddingType : public Layer<MatType>
|
|
|
37
40
|
* @param padHTop Top padding height of the input.
|
|
38
41
|
* @param padHBottom Bottom padding height of the input.
|
|
39
42
|
*/
|
|
40
|
-
|
|
43
|
+
Padding(const size_t padWLeft = 0,
|
|
41
44
|
const size_t padWRight = 0,
|
|
42
45
|
const size_t padHTop = 0,
|
|
43
|
-
const size_t padHBottom = 0
|
|
46
|
+
const size_t padHBottom = 0,
|
|
47
|
+
const typename MatType::elem_type fillValue = 0);
|
|
44
48
|
|
|
45
|
-
//! Clone the
|
|
46
|
-
|
|
49
|
+
//! Clone the Padding object. This handles polymorphism correctly.
|
|
50
|
+
Padding* Clone() const { return new Padding(*this); }
|
|
47
51
|
|
|
48
52
|
//! Virtual destructor.
|
|
49
|
-
virtual ~
|
|
53
|
+
virtual ~Padding() { }
|
|
50
54
|
|
|
51
|
-
//! Copy the given
|
|
52
|
-
|
|
53
|
-
//! Take ownership of the given
|
|
54
|
-
|
|
55
|
-
//! Copy the given
|
|
56
|
-
|
|
57
|
-
//! Take ownership of the given
|
|
58
|
-
|
|
55
|
+
//! Copy the given Padding.
|
|
56
|
+
Padding(const Padding& other);
|
|
57
|
+
//! Take ownership of the given Padding.
|
|
58
|
+
Padding(Padding&& other);
|
|
59
|
+
//! Copy the given Padding.
|
|
60
|
+
Padding& operator=(const Padding& other);
|
|
61
|
+
//! Take ownership of the given Padding.
|
|
62
|
+
Padding& operator=(Padding&& other);
|
|
59
63
|
|
|
60
64
|
/**
|
|
61
65
|
* Ordinary feed forward pass of a neural network, evaluating the function
|
|
@@ -125,10 +129,10 @@ class PaddingType : public Layer<MatType>
|
|
|
125
129
|
|
|
126
130
|
//! Cached number of input maps.
|
|
127
131
|
size_t totalInMaps;
|
|
128
|
-
}; // class PaddingType
|
|
129
132
|
|
|
130
|
-
|
|
131
|
-
|
|
133
|
+
//! Pad the input with this value.
|
|
134
|
+
ElemType fillValue;
|
|
135
|
+
}; // class Padding
|
|
132
136
|
|
|
133
137
|
} // namespace mlpack
|
|
134
138
|
|
|
@@ -19,48 +19,51 @@
|
|
|
19
19
|
namespace mlpack {
|
|
20
20
|
|
|
21
21
|
template<typename MatType>
|
|
22
|
-
|
|
22
|
+
Padding<MatType>::Padding(
|
|
23
23
|
const size_t padWLeft,
|
|
24
24
|
const size_t padWRight,
|
|
25
25
|
const size_t padHTop,
|
|
26
|
-
const size_t padHBottom
|
|
26
|
+
const size_t padHBottom,
|
|
27
|
+
const typename MatType::elem_type fillValue) :
|
|
27
28
|
Layer<MatType>(),
|
|
28
29
|
padWLeft(padWLeft),
|
|
29
30
|
padWRight(padWRight),
|
|
30
31
|
padHTop(padHTop),
|
|
31
32
|
padHBottom(padHBottom),
|
|
32
|
-
totalInMaps(0)
|
|
33
|
+
totalInMaps(0),
|
|
34
|
+
fillValue(fillValue)
|
|
33
35
|
{
|
|
34
36
|
// Nothing to do here.
|
|
35
37
|
}
|
|
36
38
|
|
|
37
39
|
template<typename MatType>
|
|
38
|
-
|
|
40
|
+
Padding<MatType>::Padding(const Padding& other) :
|
|
39
41
|
Layer<MatType>(other),
|
|
40
42
|
padWLeft(other.padWLeft),
|
|
41
43
|
padWRight(other.padWRight),
|
|
42
44
|
padHTop(other.padHTop),
|
|
43
45
|
padHBottom(other.padHBottom),
|
|
44
|
-
|
|
46
|
+
fillValue(other.fillValue)
|
|
45
47
|
{
|
|
46
48
|
// Nothing to do here.
|
|
47
49
|
}
|
|
48
50
|
|
|
49
51
|
template<typename MatType>
|
|
50
|
-
|
|
52
|
+
Padding<MatType>::Padding(Padding&& other) :
|
|
51
53
|
Layer<MatType>(std::move(other)),
|
|
52
54
|
padWLeft(std::move(other.padWLeft)),
|
|
53
55
|
padWRight(std::move(other.padWRight)),
|
|
54
56
|
padHTop(std::move(other.padHTop)),
|
|
55
57
|
padHBottom(std::move(other.padHBottom)),
|
|
56
|
-
totalInMaps(std::move(other.totalInMaps))
|
|
58
|
+
totalInMaps(std::move(other.totalInMaps)),
|
|
59
|
+
fillValue(std::move(other.fillValue))
|
|
57
60
|
{
|
|
58
61
|
// Nothing to do here.
|
|
59
62
|
}
|
|
60
63
|
|
|
61
64
|
template<typename MatType>
|
|
62
|
-
|
|
63
|
-
|
|
65
|
+
Padding<MatType>&
|
|
66
|
+
Padding<MatType>::operator=(const Padding& other)
|
|
64
67
|
{
|
|
65
68
|
if (this != &other)
|
|
66
69
|
{
|
|
@@ -70,14 +73,15 @@ PaddingType<MatType>::operator=(const PaddingType& other)
|
|
|
70
73
|
padHTop = other.padHTop;
|
|
71
74
|
padHBottom = other.padHBottom;
|
|
72
75
|
totalInMaps = other.totalInMaps;
|
|
76
|
+
fillValue = other.fillValue;
|
|
73
77
|
}
|
|
74
78
|
|
|
75
79
|
return *this;
|
|
76
80
|
}
|
|
77
81
|
|
|
78
82
|
template<typename MatType>
|
|
79
|
-
|
|
80
|
-
|
|
83
|
+
Padding<MatType>&
|
|
84
|
+
Padding<MatType>::operator=(Padding&& other)
|
|
81
85
|
{
|
|
82
86
|
if (this != &other)
|
|
83
87
|
{
|
|
@@ -87,13 +91,14 @@ PaddingType<MatType>::operator=(PaddingType&& other)
|
|
|
87
91
|
padHTop = std::move(other.padHTop);
|
|
88
92
|
padHBottom = std::move(other.padHBottom);
|
|
89
93
|
totalInMaps = std::move(other.totalInMaps);
|
|
94
|
+
fillValue = std::move(other.fillValue);
|
|
90
95
|
}
|
|
91
96
|
|
|
92
97
|
return *this;
|
|
93
98
|
}
|
|
94
99
|
|
|
95
100
|
template<typename MatType>
|
|
96
|
-
void
|
|
101
|
+
void Padding<MatType>::Forward(const MatType& input, MatType& output)
|
|
97
102
|
{
|
|
98
103
|
// Make an alias of the input and output so that we can deal with the first
|
|
99
104
|
// two dimensions directly.
|
|
@@ -110,7 +115,7 @@ void PaddingType<MatType>::Forward(const MatType& input, MatType& output)
|
|
|
110
115
|
reshapedOutput.tube(0,
|
|
111
116
|
0,
|
|
112
117
|
reshapedOutput.n_rows - 1,
|
|
113
|
-
padHTop - 1).
|
|
118
|
+
padHTop - 1).fill(fillValue);
|
|
114
119
|
}
|
|
115
120
|
|
|
116
121
|
if (padWLeft > 0)
|
|
@@ -118,7 +123,7 @@ void PaddingType<MatType>::Forward(const MatType& input, MatType& output)
|
|
|
118
123
|
reshapedOutput.tube(0,
|
|
119
124
|
padHTop,
|
|
120
125
|
padWLeft - 1,
|
|
121
|
-
padHTop + this->inputDimensions[1] - 1).
|
|
126
|
+
padHTop + this->inputDimensions[1] - 1).fill(fillValue);
|
|
122
127
|
}
|
|
123
128
|
|
|
124
129
|
if (padHBottom > 0)
|
|
@@ -126,7 +131,7 @@ void PaddingType<MatType>::Forward(const MatType& input, MatType& output)
|
|
|
126
131
|
reshapedOutput.tube(0,
|
|
127
132
|
padHTop + this->inputDimensions[1],
|
|
128
133
|
reshapedOutput.n_rows - 1,
|
|
129
|
-
reshapedOutput.n_cols - 1).
|
|
134
|
+
reshapedOutput.n_cols - 1).fill(fillValue);
|
|
130
135
|
}
|
|
131
136
|
|
|
132
137
|
if (padWRight > 0)
|
|
@@ -134,7 +139,7 @@ void PaddingType<MatType>::Forward(const MatType& input, MatType& output)
|
|
|
134
139
|
reshapedOutput.tube(padWLeft + this->inputDimensions[0],
|
|
135
140
|
padHTop,
|
|
136
141
|
reshapedOutput.n_rows - 1,
|
|
137
|
-
padHTop + this->inputDimensions[1] - 1).
|
|
142
|
+
padHTop + this->inputDimensions[1] - 1).fill(fillValue);
|
|
138
143
|
}
|
|
139
144
|
|
|
140
145
|
// Copy the input matrix.
|
|
@@ -145,7 +150,7 @@ void PaddingType<MatType>::Forward(const MatType& input, MatType& output)
|
|
|
145
150
|
}
|
|
146
151
|
|
|
147
152
|
template<typename MatType>
|
|
148
|
-
void
|
|
153
|
+
void Padding<MatType>::Backward(
|
|
149
154
|
const MatType& /* input */,
|
|
150
155
|
const MatType& /* output */,
|
|
151
156
|
const MatType& gy,
|
|
@@ -167,7 +172,7 @@ void PaddingType<MatType>::Backward(
|
|
|
167
172
|
}
|
|
168
173
|
|
|
169
174
|
template<typename MatType>
|
|
170
|
-
void
|
|
175
|
+
void Padding<MatType>::ComputeOutputDimensions()
|
|
171
176
|
{
|
|
172
177
|
this->outputDimensions = this->inputDimensions;
|
|
173
178
|
|
|
@@ -183,7 +188,7 @@ void PaddingType<MatType>::ComputeOutputDimensions()
|
|
|
183
188
|
|
|
184
189
|
template<typename MatType>
|
|
185
190
|
template<typename Archive>
|
|
186
|
-
void
|
|
191
|
+
void Padding<MatType>::serialize(Archive& ar, const uint32_t version)
|
|
187
192
|
{
|
|
188
193
|
ar(cereal::base_class<Layer<MatType>>(this));
|
|
189
194
|
|
|
@@ -192,6 +197,15 @@ void PaddingType<MatType>::serialize(Archive& ar, const uint32_t /* version */)
|
|
|
192
197
|
ar(CEREAL_NVP(padHTop));
|
|
193
198
|
ar(CEREAL_NVP(padHBottom));
|
|
194
199
|
ar(CEREAL_NVP(totalInMaps));
|
|
200
|
+
|
|
201
|
+
if (version == 0)
|
|
202
|
+
{
|
|
203
|
+
fillValue = 0;
|
|
204
|
+
}
|
|
205
|
+
else
|
|
206
|
+
{
|
|
207
|
+
ar(CEREAL_NVP(fillValue));
|
|
208
|
+
}
|
|
195
209
|
}
|
|
196
210
|
|
|
197
211
|
} // namespace mlpack
|
|
@@ -39,9 +39,12 @@ namespace mlpack {
|
|
|
39
39
|
* (Default: arma::mat).
|
|
40
40
|
*/
|
|
41
41
|
template<typename MatType = arma::mat>
|
|
42
|
-
class
|
|
42
|
+
class PReLU : public Layer<MatType>
|
|
43
43
|
{
|
|
44
44
|
public:
|
|
45
|
+
// Convenience typedef to access the element type of the weights and data.
|
|
46
|
+
using ElemType = typename MatType::elem_type;
|
|
47
|
+
|
|
45
48
|
/**
|
|
46
49
|
* Create the PReLU object using the specified parameters.
|
|
47
50
|
* The non zero gradient can be adjusted by specifying tha parameter
|
|
@@ -50,24 +53,24 @@ class PReLUType : public Layer<MatType>
|
|
|
50
53
|
*
|
|
51
54
|
* @param userAlpha Non zero gradient
|
|
52
55
|
*/
|
|
53
|
-
|
|
56
|
+
PReLU(const double userAlpha = 0.03);
|
|
54
57
|
|
|
55
|
-
|
|
56
|
-
|
|
58
|
+
// Clone the PReLU object. This handles polymorphism correctly.
|
|
59
|
+
PReLU* Clone() const { return new PReLU(*this); }
|
|
57
60
|
|
|
58
61
|
// Virtual destructor.
|
|
59
|
-
virtual ~
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
62
|
+
virtual ~PReLU() { }
|
|
63
|
+
|
|
64
|
+
// Copy the given PReLU.
|
|
65
|
+
PReLU(const PReLU& other);
|
|
66
|
+
// Take ownership of the given PReLU.
|
|
67
|
+
PReLU(PReLU&& other);
|
|
68
|
+
// Copy the given PReLU.
|
|
69
|
+
PReLU& operator=(const PReLU& other);
|
|
70
|
+
// Take ownership of the given PReLU.
|
|
71
|
+
PReLU& operator=(PReLU&& other);
|
|
72
|
+
|
|
73
|
+
// Reset the layer parameter.
|
|
71
74
|
void SetWeights(const MatType& weightsIn);
|
|
72
75
|
|
|
73
76
|
/**
|
|
@@ -115,17 +118,17 @@ class PReLUType : public Layer<MatType>
|
|
|
115
118
|
const MatType& error,
|
|
116
119
|
MatType& gradient);
|
|
117
120
|
|
|
118
|
-
|
|
121
|
+
// Get the parameters.
|
|
119
122
|
MatType const& Parameters() const { return alpha; }
|
|
120
|
-
|
|
123
|
+
// Modify the parameters.
|
|
121
124
|
MatType& Parameters() { return alpha; }
|
|
122
125
|
|
|
123
|
-
|
|
126
|
+
// Get the non zero gradient.
|
|
124
127
|
double const& Alpha() const { return alpha(0); }
|
|
125
|
-
|
|
128
|
+
// Modify the non zero gradient.
|
|
126
129
|
double& Alpha() { return alpha(0); }
|
|
127
130
|
|
|
128
|
-
|
|
131
|
+
// Get size of weights.
|
|
129
132
|
size_t WeightSize() const { return 1; }
|
|
130
133
|
|
|
131
134
|
/**
|
|
@@ -135,18 +138,13 @@ class PReLUType : public Layer<MatType>
|
|
|
135
138
|
void serialize(Archive& ar, const uint32_t /* version */);
|
|
136
139
|
|
|
137
140
|
private:
|
|
138
|
-
|
|
141
|
+
// Leakyness parameter object.
|
|
139
142
|
MatType alpha;
|
|
140
143
|
|
|
141
|
-
|
|
144
|
+
// Leakyness parameter given by user in the range 0 < alpha < 1.
|
|
142
145
|
double userAlpha;
|
|
143
146
|
}; // class PReLU
|
|
144
147
|
|
|
145
|
-
// Convenience typedefs.
|
|
146
|
-
|
|
147
|
-
// Standard PReLU layer.
|
|
148
|
-
using PReLU = PReLUType<arma::mat>;
|
|
149
|
-
|
|
150
148
|
} // namespace mlpack
|
|
151
149
|
|
|
152
150
|
// Include implementation.
|