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.
Files changed (415) hide show
  1. mlpack/__init__.py +4 -4
  2. mlpack/adaboost_classify.cp313-win_amd64.pyd +0 -0
  3. mlpack/adaboost_probabilities.cp313-win_amd64.pyd +0 -0
  4. mlpack/adaboost_train.cp313-win_amd64.pyd +0 -0
  5. mlpack/approx_kfn.cp313-win_amd64.pyd +0 -0
  6. mlpack/arma_numpy.cp313-win_amd64.pyd +0 -0
  7. mlpack/bayesian_linear_regression.cp313-win_amd64.pyd +0 -0
  8. mlpack/cf.cp313-win_amd64.pyd +0 -0
  9. mlpack/dbscan.cp313-win_amd64.pyd +0 -0
  10. mlpack/decision_tree.cp313-win_amd64.pyd +0 -0
  11. mlpack/det.cp313-win_amd64.pyd +0 -0
  12. mlpack/emst.cp313-win_amd64.pyd +0 -0
  13. mlpack/fastmks.cp313-win_amd64.pyd +0 -0
  14. mlpack/gmm_generate.cp313-win_amd64.pyd +0 -0
  15. mlpack/gmm_probability.cp313-win_amd64.pyd +0 -0
  16. mlpack/gmm_train.cp313-win_amd64.pyd +0 -0
  17. mlpack/hmm_generate.cp313-win_amd64.pyd +0 -0
  18. mlpack/hmm_loglik.cp313-win_amd64.pyd +0 -0
  19. mlpack/hmm_train.cp313-win_amd64.pyd +0 -0
  20. mlpack/hmm_viterbi.cp313-win_amd64.pyd +0 -0
  21. mlpack/hoeffding_tree.cp313-win_amd64.pyd +0 -0
  22. mlpack/image_converter.cp313-win_amd64.pyd +0 -0
  23. mlpack/include/mlpack/base.hpp +1 -0
  24. mlpack/include/mlpack/core/arma_extend/find_nan.hpp +63 -0
  25. mlpack/include/mlpack/core/cereal/low_precision.hpp +48 -0
  26. mlpack/include/mlpack/core/cv/cv_base.hpp +11 -11
  27. mlpack/include/mlpack/core/cv/cv_base_impl.hpp +7 -7
  28. mlpack/include/mlpack/core/cv/k_fold_cv.hpp +4 -4
  29. mlpack/include/mlpack/core/cv/k_fold_cv_impl.hpp +4 -4
  30. mlpack/include/mlpack/core/cv/meta_info_extractor.hpp +10 -10
  31. mlpack/include/mlpack/core/cv/metrics/f1_impl.hpp +1 -1
  32. mlpack/include/mlpack/core/cv/metrics/facilities.hpp +2 -1
  33. mlpack/include/mlpack/core/cv/metrics/precision_impl.hpp +1 -1
  34. mlpack/include/mlpack/core/cv/metrics/r2_score_impl.hpp +1 -1
  35. mlpack/include/mlpack/core/cv/metrics/silhouette_score_impl.hpp +1 -1
  36. mlpack/include/mlpack/core/cv/simple_cv.hpp +4 -4
  37. mlpack/include/mlpack/core/cv/simple_cv_impl.hpp +2 -2
  38. mlpack/include/mlpack/core/data/binarize.hpp +0 -2
  39. mlpack/include/mlpack/core/data/check_categorical_param.hpp +0 -2
  40. mlpack/include/mlpack/core/data/combine_options.hpp +151 -0
  41. mlpack/include/mlpack/core/data/confusion_matrix.hpp +0 -2
  42. mlpack/include/mlpack/core/data/confusion_matrix_impl.hpp +0 -2
  43. mlpack/include/mlpack/core/data/data.hpp +6 -4
  44. mlpack/include/mlpack/core/data/data_options.hpp +341 -18
  45. mlpack/include/mlpack/core/data/dataset_mapper.hpp +3 -5
  46. mlpack/include/mlpack/core/data/dataset_mapper_impl.hpp +0 -2
  47. mlpack/include/mlpack/core/data/detect_file_type.hpp +34 -5
  48. mlpack/include/mlpack/core/data/detect_file_type_impl.hpp +185 -11
  49. mlpack/include/mlpack/core/data/extension.hpp +2 -4
  50. mlpack/include/mlpack/core/data/font8x8_basic.h +152 -0
  51. mlpack/include/mlpack/core/data/has_serialize.hpp +0 -2
  52. mlpack/include/mlpack/core/data/image_bounding_box.hpp +36 -0
  53. mlpack/include/mlpack/core/data/image_bounding_box_impl.hpp +155 -0
  54. mlpack/include/mlpack/core/data/image_layout.hpp +63 -0
  55. mlpack/include/mlpack/core/data/image_layout_impl.hpp +75 -0
  56. mlpack/include/mlpack/core/data/image_letterbox.hpp +116 -0
  57. mlpack/include/mlpack/core/data/image_options.hpp +257 -0
  58. mlpack/include/mlpack/core/data/image_resize_crop.hpp +113 -48
  59. mlpack/include/mlpack/core/data/imputation_methods/custom_imputation.hpp +16 -32
  60. mlpack/include/mlpack/core/data/imputation_methods/listwise_deletion.hpp +19 -29
  61. mlpack/include/mlpack/core/data/imputation_methods/mean_imputation.hpp +113 -44
  62. mlpack/include/mlpack/core/data/imputation_methods/median_imputation.hpp +44 -43
  63. mlpack/include/mlpack/core/data/imputer.hpp +41 -49
  64. mlpack/include/mlpack/core/data/is_naninf.hpp +0 -2
  65. mlpack/include/mlpack/core/data/load.hpp +49 -233
  66. mlpack/include/mlpack/core/data/load_arff.hpp +0 -2
  67. mlpack/include/mlpack/core/data/load_arff_impl.hpp +2 -4
  68. mlpack/include/mlpack/core/data/load_categorical.hpp +1 -4
  69. mlpack/include/mlpack/core/data/load_categorical_impl.hpp +10 -26
  70. mlpack/include/mlpack/core/data/load_dense.hpp +279 -0
  71. mlpack/include/mlpack/core/data/load_deprecated.hpp +466 -0
  72. mlpack/include/mlpack/core/data/load_image.hpp +71 -43
  73. mlpack/include/mlpack/core/data/load_impl.hpp +95 -274
  74. mlpack/include/mlpack/core/data/load_model.hpp +62 -0
  75. mlpack/include/mlpack/core/data/load_numeric.hpp +124 -87
  76. mlpack/include/mlpack/core/data/load_sparse.hpp +91 -0
  77. mlpack/include/mlpack/core/data/map_policies/datatype.hpp +0 -2
  78. mlpack/include/mlpack/core/data/map_policies/increment_policy.hpp +0 -2
  79. mlpack/include/mlpack/core/data/map_policies/map_policies.hpp +0 -1
  80. mlpack/include/mlpack/core/data/matrix_options.hpp +152 -20
  81. mlpack/include/mlpack/core/data/normalize_labels.hpp +0 -2
  82. mlpack/include/mlpack/core/data/normalize_labels_impl.hpp +0 -2
  83. mlpack/include/mlpack/core/data/one_hot_encoding.hpp +2 -4
  84. mlpack/include/mlpack/core/data/one_hot_encoding_impl.hpp +3 -5
  85. mlpack/include/mlpack/core/data/save.hpp +26 -120
  86. mlpack/include/mlpack/core/data/save_dense.hpp +42 -0
  87. mlpack/include/mlpack/core/data/save_deprecated.hpp +308 -0
  88. mlpack/include/mlpack/core/data/save_image.hpp +82 -42
  89. mlpack/include/mlpack/core/data/save_impl.hpp +60 -245
  90. mlpack/include/mlpack/core/data/save_matrix.hpp +45 -0
  91. mlpack/include/mlpack/core/data/save_model.hpp +61 -0
  92. mlpack/include/mlpack/core/data/save_numeric.hpp +60 -0
  93. mlpack/include/mlpack/core/data/save_sparse.hpp +44 -0
  94. mlpack/include/mlpack/core/data/scaler_methods/max_abs_scaler.hpp +0 -2
  95. mlpack/include/mlpack/core/data/scaler_methods/mean_normalization.hpp +2 -4
  96. mlpack/include/mlpack/core/data/scaler_methods/min_max_scaler.hpp +0 -2
  97. mlpack/include/mlpack/core/data/scaler_methods/pca_whitening.hpp +1 -3
  98. mlpack/include/mlpack/core/data/scaler_methods/standard_scaler.hpp +2 -4
  99. mlpack/include/mlpack/core/data/scaler_methods/zca_whitening.hpp +0 -2
  100. mlpack/include/mlpack/core/data/split_data.hpp +6 -8
  101. mlpack/include/mlpack/core/data/string_algorithms.hpp +0 -2
  102. mlpack/include/mlpack/core/data/string_encoding.hpp +0 -2
  103. mlpack/include/mlpack/core/data/string_encoding_dictionary.hpp +0 -2
  104. mlpack/include/mlpack/core/data/string_encoding_impl.hpp +0 -2
  105. mlpack/include/mlpack/core/data/string_encoding_policies/bag_of_words_encoding_policy.hpp +0 -2
  106. mlpack/include/mlpack/core/data/string_encoding_policies/dictionary_encoding_policy.hpp +0 -2
  107. mlpack/include/mlpack/core/data/string_encoding_policies/policy_traits.hpp +0 -2
  108. mlpack/include/mlpack/core/data/string_encoding_policies/tf_idf_encoding_policy.hpp +0 -2
  109. mlpack/include/mlpack/core/data/text_options.hpp +91 -53
  110. mlpack/include/mlpack/core/data/tokenizers/char_extract.hpp +0 -2
  111. mlpack/include/mlpack/core/data/tokenizers/split_by_any_of.hpp +0 -2
  112. mlpack/include/mlpack/core/distributions/gamma_distribution_impl.hpp +4 -4
  113. mlpack/include/mlpack/core/distributions/laplace_distribution.hpp +9 -9
  114. mlpack/include/mlpack/core/distributions/laplace_distribution_impl.hpp +7 -7
  115. mlpack/include/mlpack/core/hpt/cv_function.hpp +2 -2
  116. mlpack/include/mlpack/core/hpt/cv_function_impl.hpp +2 -2
  117. mlpack/include/mlpack/core/hpt/hpt.hpp +4 -4
  118. mlpack/include/mlpack/core/hpt/hpt_impl.hpp +9 -9
  119. mlpack/include/mlpack/core/math/make_alias.hpp +7 -5
  120. mlpack/include/mlpack/core/math/random.hpp +19 -5
  121. mlpack/include/mlpack/core/math/shuffle_data.hpp +79 -245
  122. mlpack/include/mlpack/core/metrics/non_maximal_suppression_impl.hpp +9 -10
  123. mlpack/include/mlpack/core/stb/bundled/stb_image_resize2.h +291 -239
  124. mlpack/include/mlpack/core/tree/binary_space_tree/rp_tree_mean_split_impl.hpp +7 -7
  125. mlpack/include/mlpack/core/tree/cellbound.hpp +2 -2
  126. mlpack/include/mlpack/core/tree/cosine_tree/cosine_tree_impl.hpp +10 -10
  127. mlpack/include/mlpack/core/tree/octree/octree.hpp +10 -0
  128. mlpack/include/mlpack/core/tree/octree/octree_impl.hpp +14 -4
  129. mlpack/include/mlpack/core/util/arma_traits.hpp +25 -38
  130. mlpack/include/mlpack/core/util/coot_traits.hpp +97 -0
  131. mlpack/include/mlpack/core/util/forward.hpp +0 -2
  132. mlpack/include/mlpack/core/util/param.hpp +4 -4
  133. mlpack/include/mlpack/core/util/params_impl.hpp +2 -2
  134. mlpack/include/mlpack/core/util/using.hpp +29 -2
  135. mlpack/include/mlpack/core/util/version.hpp +5 -3
  136. mlpack/include/mlpack/core/util/version_impl.hpp +3 -6
  137. mlpack/include/mlpack/methods/adaboost/adaboost_classify_main.cpp +1 -1
  138. mlpack/include/mlpack/methods/adaboost/adaboost_main.cpp +3 -3
  139. mlpack/include/mlpack/methods/adaboost/adaboost_train_main.cpp +2 -2
  140. mlpack/include/mlpack/methods/ann/activation_functions/activation_functions.hpp +1 -0
  141. mlpack/include/mlpack/methods/ann/activation_functions/bipolar_sigmoid_function.hpp +6 -4
  142. mlpack/include/mlpack/methods/ann/activation_functions/elish_function.hpp +17 -12
  143. mlpack/include/mlpack/methods/ann/activation_functions/elliot_function.hpp +9 -7
  144. mlpack/include/mlpack/methods/ann/activation_functions/gaussian_function.hpp +7 -6
  145. mlpack/include/mlpack/methods/ann/activation_functions/gelu_exact_function.hpp +73 -0
  146. mlpack/include/mlpack/methods/ann/activation_functions/gelu_function.hpp +27 -16
  147. mlpack/include/mlpack/methods/ann/activation_functions/hard_sigmoid_function.hpp +8 -6
  148. mlpack/include/mlpack/methods/ann/activation_functions/hard_swish_function.hpp +6 -4
  149. mlpack/include/mlpack/methods/ann/activation_functions/hyper_sinh_function.hpp +13 -8
  150. mlpack/include/mlpack/methods/ann/activation_functions/identity_function.hpp +6 -4
  151. mlpack/include/mlpack/methods/ann/activation_functions/inverse_quadratic_function.hpp +8 -6
  152. mlpack/include/mlpack/methods/ann/activation_functions/lisht_function.hpp +7 -5
  153. mlpack/include/mlpack/methods/ann/activation_functions/logistic_function.hpp +14 -12
  154. mlpack/include/mlpack/methods/ann/activation_functions/mish_function.hpp +7 -5
  155. mlpack/include/mlpack/methods/ann/activation_functions/multi_quadratic_function.hpp +6 -4
  156. mlpack/include/mlpack/methods/ann/activation_functions/poisson1_function.hpp +4 -2
  157. mlpack/include/mlpack/methods/ann/activation_functions/quadratic_function.hpp +6 -4
  158. mlpack/include/mlpack/methods/ann/activation_functions/rectifier_function.hpp +10 -10
  159. mlpack/include/mlpack/methods/ann/activation_functions/silu_function.hpp +10 -8
  160. mlpack/include/mlpack/methods/ann/activation_functions/softplus_function.hpp +12 -9
  161. mlpack/include/mlpack/methods/ann/activation_functions/softsign_function.hpp +15 -23
  162. mlpack/include/mlpack/methods/ann/activation_functions/spline_function.hpp +9 -7
  163. mlpack/include/mlpack/methods/ann/activation_functions/swish_function.hpp +11 -9
  164. mlpack/include/mlpack/methods/ann/activation_functions/tanh_exponential_function.hpp +9 -7
  165. mlpack/include/mlpack/methods/ann/activation_functions/tanh_function.hpp +10 -7
  166. mlpack/include/mlpack/methods/ann/ann.hpp +3 -0
  167. mlpack/include/mlpack/methods/ann/convolution_rules/base_convolution.hpp +197 -0
  168. mlpack/include/mlpack/methods/ann/convolution_rules/convolution_rules.hpp +1 -2
  169. mlpack/include/mlpack/methods/ann/convolution_rules/im2col_convolution.hpp +215 -0
  170. mlpack/include/mlpack/methods/ann/convolution_rules/naive_convolution.hpp +109 -154
  171. mlpack/include/mlpack/methods/ann/dag_network.hpp +728 -0
  172. mlpack/include/mlpack/methods/ann/dag_network_impl.hpp +1640 -0
  173. mlpack/include/mlpack/methods/ann/dists/bernoulli_distribution_impl.hpp +1 -1
  174. mlpack/include/mlpack/methods/ann/dists/normal_distribution_impl.hpp +7 -2
  175. mlpack/include/mlpack/methods/ann/ffn.hpp +39 -3
  176. mlpack/include/mlpack/methods/ann/ffn_impl.hpp +14 -32
  177. mlpack/include/mlpack/methods/ann/init_rules/const_init.hpp +4 -4
  178. mlpack/include/mlpack/methods/ann/init_rules/gaussian_init.hpp +6 -2
  179. mlpack/include/mlpack/methods/ann/init_rules/he_init.hpp +4 -2
  180. mlpack/include/mlpack/methods/ann/init_rules/kathirvalavakumar_subavathi_init.hpp +3 -3
  181. mlpack/include/mlpack/methods/ann/init_rules/lecun_normal_init.hpp +4 -2
  182. mlpack/include/mlpack/methods/ann/init_rules/nguyen_widrow_init.hpp +2 -2
  183. mlpack/include/mlpack/methods/ann/init_rules/oivs_init.hpp +2 -2
  184. mlpack/include/mlpack/methods/ann/init_rules/orthogonal_init.hpp +2 -2
  185. mlpack/include/mlpack/methods/ann/init_rules/random_init.hpp +8 -4
  186. mlpack/include/mlpack/methods/ann/layer/adaptive_max_pooling.hpp +21 -23
  187. mlpack/include/mlpack/methods/ann/layer/adaptive_max_pooling_impl.hpp +15 -15
  188. mlpack/include/mlpack/methods/ann/layer/adaptive_mean_pooling.hpp +21 -23
  189. mlpack/include/mlpack/methods/ann/layer/adaptive_mean_pooling_impl.hpp +16 -16
  190. mlpack/include/mlpack/methods/ann/layer/add.hpp +18 -18
  191. mlpack/include/mlpack/methods/ann/layer/add_impl.hpp +13 -13
  192. mlpack/include/mlpack/methods/ann/layer/add_merge.hpp +19 -18
  193. mlpack/include/mlpack/methods/ann/layer/add_merge_impl.hpp +13 -13
  194. mlpack/include/mlpack/methods/ann/layer/alpha_dropout.hpp +17 -16
  195. mlpack/include/mlpack/methods/ann/layer/alpha_dropout_impl.hpp +14 -13
  196. mlpack/include/mlpack/methods/ann/layer/base_layer.hpp +28 -51
  197. mlpack/include/mlpack/methods/ann/layer/batch_norm.hpp +16 -18
  198. mlpack/include/mlpack/methods/ann/layer/batch_norm_impl.hpp +55 -54
  199. mlpack/include/mlpack/methods/ann/layer/c_relu.hpp +18 -20
  200. mlpack/include/mlpack/methods/ann/layer/c_relu_impl.hpp +20 -25
  201. mlpack/include/mlpack/methods/ann/layer/celu.hpp +14 -19
  202. mlpack/include/mlpack/methods/ann/layer/celu_impl.hpp +25 -34
  203. mlpack/include/mlpack/methods/ann/layer/concat.hpp +18 -18
  204. mlpack/include/mlpack/methods/ann/layer/concat_impl.hpp +13 -13
  205. mlpack/include/mlpack/methods/ann/layer/concatenate.hpp +18 -18
  206. mlpack/include/mlpack/methods/ann/layer/concatenate_impl.hpp +14 -14
  207. mlpack/include/mlpack/methods/ann/layer/convolution.hpp +42 -47
  208. mlpack/include/mlpack/methods/ann/layer/convolution_impl.hpp +170 -159
  209. mlpack/include/mlpack/methods/ann/layer/dropconnect.hpp +18 -20
  210. mlpack/include/mlpack/methods/ann/layer/dropconnect_impl.hpp +20 -20
  211. mlpack/include/mlpack/methods/ann/layer/dropout.hpp +17 -19
  212. mlpack/include/mlpack/methods/ann/layer/dropout_impl.hpp +14 -21
  213. mlpack/include/mlpack/methods/ann/layer/elu.hpp +23 -25
  214. mlpack/include/mlpack/methods/ann/layer/elu_impl.hpp +20 -27
  215. mlpack/include/mlpack/methods/ann/layer/embedding.hpp +160 -0
  216. mlpack/include/mlpack/methods/ann/layer/embedding_impl.hpp +189 -0
  217. mlpack/include/mlpack/methods/ann/layer/flexible_relu.hpp +17 -19
  218. mlpack/include/mlpack/methods/ann/layer/flexible_relu_impl.hpp +20 -20
  219. mlpack/include/mlpack/methods/ann/layer/ftswish.hpp +17 -18
  220. mlpack/include/mlpack/methods/ann/layer/ftswish_impl.hpp +17 -35
  221. mlpack/include/mlpack/methods/ann/layer/grouped_convolution.hpp +27 -33
  222. mlpack/include/mlpack/methods/ann/layer/grouped_convolution_impl.hpp +170 -163
  223. mlpack/include/mlpack/methods/ann/layer/gru.hpp +195 -0
  224. mlpack/include/mlpack/methods/ann/layer/gru_impl.hpp +325 -0
  225. mlpack/include/mlpack/methods/ann/layer/hard_tanh.hpp +13 -15
  226. mlpack/include/mlpack/methods/ann/layer/hard_tanh_impl.hpp +12 -12
  227. mlpack/include/mlpack/methods/ann/layer/identity.hpp +19 -20
  228. mlpack/include/mlpack/methods/ann/layer/identity_impl.hpp +12 -12
  229. mlpack/include/mlpack/methods/ann/layer/layer.hpp +37 -33
  230. mlpack/include/mlpack/methods/ann/layer/layer_norm.hpp +11 -13
  231. mlpack/include/mlpack/methods/ann/layer/layer_norm_impl.hpp +16 -16
  232. mlpack/include/mlpack/methods/ann/layer/layer_types.hpp +4 -1
  233. mlpack/include/mlpack/methods/ann/layer/leaky_relu.hpp +20 -23
  234. mlpack/include/mlpack/methods/ann/layer/leaky_relu_impl.hpp +12 -13
  235. mlpack/include/mlpack/methods/ann/layer/linear.hpp +16 -18
  236. mlpack/include/mlpack/methods/ann/layer/linear3d.hpp +18 -18
  237. mlpack/include/mlpack/methods/ann/layer/linear3d_impl.hpp +18 -18
  238. mlpack/include/mlpack/methods/ann/layer/linear_impl.hpp +15 -15
  239. mlpack/include/mlpack/methods/ann/layer/linear_no_bias.hpp +15 -17
  240. mlpack/include/mlpack/methods/ann/layer/linear_no_bias_impl.hpp +20 -20
  241. mlpack/include/mlpack/methods/ann/layer/linear_recurrent.hpp +25 -14
  242. mlpack/include/mlpack/methods/ann/layer/linear_recurrent_impl.hpp +60 -31
  243. mlpack/include/mlpack/methods/ann/layer/log_softmax.hpp +17 -36
  244. mlpack/include/mlpack/methods/ann/layer/log_softmax_impl.hpp +58 -74
  245. mlpack/include/mlpack/methods/ann/layer/lstm.hpp +26 -29
  246. mlpack/include/mlpack/methods/ann/layer/lstm_impl.hpp +128 -124
  247. mlpack/include/mlpack/methods/ann/layer/max_pooling.hpp +19 -19
  248. mlpack/include/mlpack/methods/ann/layer/max_pooling_impl.hpp +14 -14
  249. mlpack/include/mlpack/methods/ann/layer/mean_pooling.hpp +24 -24
  250. mlpack/include/mlpack/methods/ann/layer/mean_pooling_impl.hpp +16 -16
  251. mlpack/include/mlpack/methods/ann/layer/multi_layer.hpp +36 -6
  252. mlpack/include/mlpack/methods/ann/layer/multi_layer_impl.hpp +6 -2
  253. mlpack/include/mlpack/methods/ann/layer/multihead_attention.hpp +26 -22
  254. mlpack/include/mlpack/methods/ann/layer/multihead_attention_impl.hpp +161 -64
  255. mlpack/include/mlpack/methods/ann/layer/nearest_interpolation.hpp +28 -25
  256. mlpack/include/mlpack/methods/ann/layer/nearest_interpolation_impl.hpp +36 -37
  257. mlpack/include/mlpack/methods/ann/layer/noisylinear.hpp +39 -42
  258. mlpack/include/mlpack/methods/ann/layer/noisylinear_impl.hpp +18 -18
  259. mlpack/include/mlpack/methods/ann/layer/padding.hpp +21 -17
  260. mlpack/include/mlpack/methods/ann/layer/padding_impl.hpp +33 -19
  261. mlpack/include/mlpack/methods/ann/layer/parametric_relu.hpp +26 -28
  262. mlpack/include/mlpack/methods/ann/layer/parametric_relu_impl.hpp +18 -18
  263. mlpack/include/mlpack/methods/ann/layer/radial_basis_function.hpp +41 -28
  264. mlpack/include/mlpack/methods/ann/layer/radial_basis_function_impl.hpp +42 -17
  265. mlpack/include/mlpack/methods/ann/layer/recurrent_layer.hpp +13 -0
  266. mlpack/include/mlpack/methods/ann/layer/relu6.hpp +19 -21
  267. mlpack/include/mlpack/methods/ann/layer/relu6_impl.hpp +14 -14
  268. mlpack/include/mlpack/methods/ann/layer/repeat.hpp +24 -25
  269. mlpack/include/mlpack/methods/ann/layer/repeat_impl.hpp +10 -10
  270. mlpack/include/mlpack/methods/ann/layer/serialization.hpp +64 -54
  271. mlpack/include/mlpack/methods/ann/layer/softmax.hpp +20 -20
  272. mlpack/include/mlpack/methods/ann/layer/softmax_impl.hpp +10 -10
  273. mlpack/include/mlpack/methods/ann/layer/softmin.hpp +20 -23
  274. mlpack/include/mlpack/methods/ann/layer/softmin_impl.hpp +10 -10
  275. mlpack/include/mlpack/methods/ann/layer/sum_reduce.hpp +103 -0
  276. mlpack/include/mlpack/methods/ann/layer/sum_reduce_impl.hpp +143 -0
  277. mlpack/include/mlpack/methods/ann/loss_functions/cosine_embedding_loss_impl.hpp +3 -3
  278. mlpack/include/mlpack/methods/ann/loss_functions/mean_bias_error_impl.hpp +1 -1
  279. mlpack/include/mlpack/methods/ann/loss_functions/multilabel_softmargin_loss_impl.hpp +1 -1
  280. mlpack/include/mlpack/methods/ann/loss_functions/negative_log_likelihood.hpp +2 -2
  281. mlpack/include/mlpack/methods/ann/loss_functions/negative_log_likelihood_impl.hpp +29 -15
  282. mlpack/include/mlpack/methods/ann/loss_functions/poisson_nll_loss_impl.hpp +1 -1
  283. mlpack/include/mlpack/methods/ann/models/models.hpp +17 -0
  284. mlpack/include/mlpack/methods/ann/models/yolov3/yolov3_layer.hpp +151 -0
  285. mlpack/include/mlpack/methods/ann/models/yolov3/yolov3_layer_impl.hpp +265 -0
  286. mlpack/include/mlpack/methods/ann/models/yolov3/yolov3_tiny.hpp +187 -0
  287. mlpack/include/mlpack/methods/ann/models/yolov3/yolov3_tiny_impl.hpp +206 -0
  288. mlpack/include/mlpack/methods/ann/regularizer/orthogonal_regularizer_impl.hpp +5 -3
  289. mlpack/include/mlpack/methods/ann/rnn.hpp +136 -42
  290. mlpack/include/mlpack/methods/ann/rnn_impl.hpp +230 -38
  291. mlpack/include/mlpack/methods/approx_kfn/drusilla_select_impl.hpp +1 -1
  292. mlpack/include/mlpack/methods/bayesian_linear_regression/bayesian_linear_regression_main.cpp +1 -1
  293. mlpack/include/mlpack/methods/bias_svd/bias_svd_function_impl.hpp +1 -1
  294. mlpack/include/mlpack/methods/cf/cf_model.hpp +1 -1
  295. mlpack/include/mlpack/methods/decision_tree/decision_tree.hpp +6 -6
  296. mlpack/include/mlpack/methods/decision_tree/decision_tree_impl.hpp +12 -12
  297. mlpack/include/mlpack/methods/decision_tree/decision_tree_main.cpp +0 -1
  298. mlpack/include/mlpack/methods/decision_tree/decision_tree_regressor.hpp +6 -6
  299. mlpack/include/mlpack/methods/decision_tree/decision_tree_regressor_impl.hpp +12 -12
  300. mlpack/include/mlpack/methods/det/det_main.cpp +1 -1
  301. mlpack/include/mlpack/methods/hmm/hmm_train_main.cpp +4 -4
  302. mlpack/include/mlpack/methods/hmm/hmm_util_impl.hpp +2 -2
  303. mlpack/include/mlpack/methods/hoeffding_trees/hoeffding_tree.hpp +6 -6
  304. mlpack/include/mlpack/methods/hoeffding_trees/hoeffding_tree_impl.hpp +31 -31
  305. mlpack/include/mlpack/methods/hoeffding_trees/hoeffding_tree_main.cpp +1 -2
  306. mlpack/include/mlpack/methods/hoeffding_trees/hoeffding_tree_model.hpp +2 -2
  307. mlpack/include/mlpack/methods/hoeffding_trees/hoeffding_tree_model_impl.hpp +1 -1
  308. mlpack/include/mlpack/methods/kde/kde_rules_impl.hpp +6 -6
  309. mlpack/include/mlpack/methods/lars/lars_impl.hpp +3 -3
  310. mlpack/include/mlpack/methods/linear_svm/linear_svm_function_impl.hpp +4 -4
  311. mlpack/include/mlpack/methods/linear_svm/linear_svm_main.cpp +3 -3
  312. mlpack/include/mlpack/methods/lmnn/lmnn_main.cpp +1 -1
  313. mlpack/include/mlpack/methods/lsh/lsh_main.cpp +1 -1
  314. mlpack/include/mlpack/methods/matrix_completion/matrix_completion_impl.hpp +1 -1
  315. mlpack/include/mlpack/methods/naive_bayes/naive_bayes_classifier_impl.hpp +1 -1
  316. mlpack/include/mlpack/methods/naive_bayes/nbc_main.cpp +3 -3
  317. mlpack/include/mlpack/methods/nca/nca_main.cpp +1 -1
  318. mlpack/include/mlpack/methods/neighbor_search/kfn_main.cpp +8 -8
  319. mlpack/include/mlpack/methods/neighbor_search/knn_main.cpp +8 -8
  320. mlpack/include/mlpack/methods/neighbor_search/neighbor_search.hpp +154 -34
  321. mlpack/include/mlpack/methods/neighbor_search/neighbor_search_impl.hpp +190 -51
  322. mlpack/include/mlpack/methods/neighbor_search/neighbor_search_stat.hpp +10 -0
  323. mlpack/include/mlpack/methods/neighbor_search/ns_model.hpp +15 -15
  324. mlpack/include/mlpack/methods/neighbor_search/ns_model_impl.hpp +55 -46
  325. mlpack/include/mlpack/methods/neighbor_search/typedef.hpp +42 -2
  326. mlpack/include/mlpack/methods/pca/pca_impl.hpp +2 -2
  327. mlpack/include/mlpack/methods/perceptron/perceptron.hpp +2 -2
  328. mlpack/include/mlpack/methods/perceptron/perceptron_impl.hpp +1 -1
  329. mlpack/include/mlpack/methods/perceptron/perceptron_main.cpp +2 -2
  330. mlpack/include/mlpack/methods/preprocess/image_converter_main.cpp +2 -3
  331. mlpack/include/mlpack/methods/preprocess/preprocess_binarize_main.cpp +2 -2
  332. mlpack/include/mlpack/methods/preprocess/preprocess_describe_main.cpp +0 -1
  333. mlpack/include/mlpack/methods/preprocess/preprocess_imputer_main.cpp +50 -129
  334. mlpack/include/mlpack/methods/preprocess/preprocess_one_hot_encoding_main.cpp +6 -6
  335. mlpack/include/mlpack/methods/preprocess/preprocess_scale_main.cpp +2 -3
  336. mlpack/include/mlpack/methods/preprocess/preprocess_split_main.cpp +3 -4
  337. mlpack/include/mlpack/methods/preprocess/scaling_model.hpp +6 -8
  338. mlpack/include/mlpack/methods/preprocess/scaling_model_impl.hpp +18 -20
  339. mlpack/include/mlpack/methods/random_forest/random_forest.hpp +5 -5
  340. mlpack/include/mlpack/methods/random_forest/random_forest_impl.hpp +9 -9
  341. mlpack/include/mlpack/methods/range_search/range_search_main.cpp +1 -1
  342. mlpack/include/mlpack/methods/rann/krann_main.cpp +1 -1
  343. mlpack/include/mlpack/methods/regularized_svd/regularized_svd_function_impl.hpp +1 -1
  344. mlpack/include/mlpack/methods/reinforcement_learning/async_learning_impl.hpp +8 -8
  345. mlpack/include/mlpack/methods/reinforcement_learning/ddpg_impl.hpp +16 -16
  346. mlpack/include/mlpack/methods/reinforcement_learning/environment/acrobot.hpp +4 -4
  347. mlpack/include/mlpack/methods/reinforcement_learning/environment/cart_pole.hpp +3 -3
  348. mlpack/include/mlpack/methods/reinforcement_learning/environment/cont_double_pole_cart.hpp +6 -5
  349. mlpack/include/mlpack/methods/reinforcement_learning/environment/pendulum.hpp +6 -5
  350. mlpack/include/mlpack/methods/reinforcement_learning/policy/aggregated_policy.hpp +2 -2
  351. mlpack/include/mlpack/methods/reinforcement_learning/q_learning_impl.hpp +10 -10
  352. mlpack/include/mlpack/methods/reinforcement_learning/q_networks/categorical_dqn.hpp +21 -17
  353. mlpack/include/mlpack/methods/reinforcement_learning/q_networks/dueling_dqn.hpp +69 -77
  354. mlpack/include/mlpack/methods/reinforcement_learning/q_networks/simple_dqn.hpp +9 -9
  355. mlpack/include/mlpack/methods/reinforcement_learning/sac_impl.hpp +14 -14
  356. mlpack/include/mlpack/methods/reinforcement_learning/td3_impl.hpp +14 -14
  357. mlpack/include/mlpack/methods/softmax_regression/softmax_regression_function_impl.hpp +1 -1
  358. mlpack/include/mlpack/methods/svdplusplus/svdplusplus_function_impl.hpp +1 -1
  359. mlpack/include/mlpack/namespace_compat.hpp +1 -0
  360. mlpack/include/mlpack/prereqs.hpp +1 -0
  361. mlpack/kde.cp313-win_amd64.pyd +0 -0
  362. mlpack/kernel_pca.cp313-win_amd64.pyd +0 -0
  363. mlpack/kfn.cp313-win_amd64.pyd +0 -0
  364. mlpack/kmeans.cp313-win_amd64.pyd +0 -0
  365. mlpack/knn.cp313-win_amd64.pyd +0 -0
  366. mlpack/krann.cp313-win_amd64.pyd +0 -0
  367. mlpack/lars.cp313-win_amd64.pyd +0 -0
  368. mlpack/linear_regression_predict.cp313-win_amd64.pyd +0 -0
  369. mlpack/linear_regression_train.cp313-win_amd64.pyd +0 -0
  370. mlpack/linear_svm.cp313-win_amd64.pyd +0 -0
  371. mlpack/lmnn.cp313-win_amd64.pyd +0 -0
  372. mlpack/local_coordinate_coding.cp313-win_amd64.pyd +0 -0
  373. mlpack/logistic_regression.cp313-win_amd64.pyd +0 -0
  374. mlpack/lsh.cp313-win_amd64.pyd +0 -0
  375. mlpack/mean_shift.cp313-win_amd64.pyd +0 -0
  376. mlpack/nbc.cp313-win_amd64.pyd +0 -0
  377. mlpack/nca.cp313-win_amd64.pyd +0 -0
  378. mlpack/nmf.cp313-win_amd64.pyd +0 -0
  379. mlpack/pca.cp313-win_amd64.pyd +0 -0
  380. mlpack/perceptron.cp313-win_amd64.pyd +0 -0
  381. mlpack/preprocess_binarize.cp313-win_amd64.pyd +0 -0
  382. mlpack/preprocess_describe.cp313-win_amd64.pyd +0 -0
  383. mlpack/preprocess_one_hot_encoding.cp313-win_amd64.pyd +0 -0
  384. mlpack/preprocess_scale.cp313-win_amd64.pyd +0 -0
  385. mlpack/preprocess_split.cp313-win_amd64.pyd +0 -0
  386. mlpack/radical.cp313-win_amd64.pyd +0 -0
  387. mlpack/random_forest.cp313-win_amd64.pyd +0 -0
  388. mlpack/softmax_regression.cp313-win_amd64.pyd +0 -0
  389. mlpack/sparse_coding.cp313-win_amd64.pyd +0 -0
  390. mlpack-4.7.0.dist-info/DELVEWHEEL +2 -0
  391. {mlpack-4.6.2.dist-info → mlpack-4.7.0.dist-info}/METADATA +2 -2
  392. {mlpack-4.6.2.dist-info → mlpack-4.7.0.dist-info}/RECORD +396 -377
  393. {mlpack-4.6.2.dist-info → mlpack-4.7.0.dist-info}/WHEEL +1 -1
  394. mlpack/include/mlpack/core/data/format.hpp +0 -31
  395. mlpack/include/mlpack/core/data/image_info.hpp +0 -102
  396. mlpack/include/mlpack/core/data/image_info_impl.hpp +0 -84
  397. mlpack/include/mlpack/core/data/load_image_impl.hpp +0 -171
  398. mlpack/include/mlpack/core/data/load_model_impl.hpp +0 -115
  399. mlpack/include/mlpack/core/data/load_vec_impl.hpp +0 -154
  400. mlpack/include/mlpack/core/data/map_policies/missing_policy.hpp +0 -148
  401. mlpack/include/mlpack/core/data/save_image_impl.hpp +0 -170
  402. mlpack/include/mlpack/core/data/types.hpp +0 -61
  403. mlpack/include/mlpack/core/data/types_impl.hpp +0 -83
  404. mlpack/include/mlpack/core/data/utilities.hpp +0 -158
  405. mlpack/include/mlpack/core/util/gitversion.hpp +0 -1
  406. mlpack/include/mlpack/methods/ann/convolution_rules/fft_convolution.hpp +0 -213
  407. mlpack/include/mlpack/methods/ann/convolution_rules/svd_convolution.hpp +0 -201
  408. mlpack/include/mlpack/methods/ann/layer/not_adapted/gru.hpp +0 -226
  409. mlpack/include/mlpack/methods/ann/layer/not_adapted/gru_impl.hpp +0 -367
  410. mlpack/include/mlpack/methods/ann/layer/not_adapted/lookup.hpp +0 -139
  411. mlpack/include/mlpack/methods/ann/layer/not_adapted/lookup_impl.hpp +0 -98
  412. mlpack-4.6.2.dist-info/DELVEWHEEL +0 -2
  413. {mlpack-4.6.2.dist-info → mlpack-4.7.0.dist-info}/top_level.txt +0 -0
  414. /mlpack.libs/{libopenblas-9e6d070f769e6580e8c55c0cf83b80a5.dll → libopenblas-c7f521b507686ddc25bee7538a80c374.dll} +0 -0
  415. /mlpack.libs/{msvcp140-50208655e42969b9a5ab8a4e0186bbb9.dll → msvcp140-a4c2229bdc2a2a630acdc095b4d86008.dll} +0 -0
@@ -0,0 +1,466 @@
1
+ /**
2
+ * @file core/data/load_deprecated.hpp
3
+ * @author Omar Shrit
4
+ * @author Ryan Curtin
5
+ *
6
+ * Shim to the old deprecated load() functions defined in load.hpp.
7
+ *
8
+ * This file should be removed when releasing mlpack 5.0.0
9
+ *
10
+ * mlpack is free software; you may redistribute it and/or modify it under the
11
+ * terms of the 3-clause BSD license. You should have received a copy of the
12
+ * 3-clause BSD license along with mlpack. If not, see
13
+ * http://www.opensource.org/licenses/BSD-3-Clause for more information.
14
+ */
15
+ #ifndef MLPACK_CORE_DATA_LOAD_DEPCRECATED_HPP
16
+ #define MLPACK_CORE_DATA_LOAD_DEPCRECATED_HPP
17
+
18
+ // In case it hasn't already been included.
19
+ #include "load.hpp"
20
+
21
+ #include "image_options.hpp"
22
+
23
+ namespace mlpack {
24
+
25
+ /**
26
+ * Loads a matrix from file, guessing the filetype from the extension. This
27
+ * will transpose the matrix at load time (unless the transpose parameter is set
28
+ * to false).
29
+ *
30
+ * The supported types of files are the same as found in Armadillo:
31
+ *
32
+ * - CSV (arma::csv_ascii), denoted by .csv, or optionally .txt
33
+ * - TSV (arma::raw_ascii), denoted by .tsv, .csv, or .txt
34
+ * - ASCII (arma::raw_ascii), denoted by .txt
35
+ * - Armadillo ASCII (arma::arma_ascii), also denoted by .txt
36
+ * - PGM (arma::pgm_binary), denoted by .pgm
37
+ * - PPM (arma::ppm_binary), denoted by .ppm
38
+ * - Raw binary (arma::raw_binary), denoted by .bin
39
+ * - Armadillo binary (arma::arma_binary), denoted by .bin
40
+ * - HDF5 (arma::hdf5_binary), denoted by .hdf, .hdf5, .h5, or .he5
41
+ *
42
+ * By default, this function will try to automatically determine the type of
43
+ * file to load based on its extension and by inspecting the file. If you know
44
+ * the file type and want to specify it manually, override the default
45
+ * `inputLoadType` parameter with the correct type above (e.g.
46
+ * `arma::csv_ascii`.)
47
+ *
48
+ * If the detected file type is CSV (`arma::csv_ascii`), the first row will be
49
+ * checked for a CSV header. If a CSV header is not detected, the first row
50
+ * will be treated as data; otherwise, the first row will be skipped.
51
+ *
52
+ * If the parameter 'fatal' is set to true, a std::runtime_error exception will
53
+ * be thrown if the matrix does not load successfully. The parameter
54
+ * 'transpose' controls whether or not the matrix is transposed after loading.
55
+ * In most cases, because data is generally stored in a row-major format and
56
+ * mlpack requires column-major matrices, this should be left at its default
57
+ * value of 'true'.
58
+ *
59
+ * @param filename Name of file to load.
60
+ * @param matrix Matrix to load contents of file into.
61
+ * @param fatal If an error should be reported as fatal (default false).
62
+ * @param transpose If true, transpose the matrix after loading (default true).
63
+ * @param inputLoadType Used to determine the type of file to load (default arma::auto_detect).
64
+ * @return Boolean value indicating success or failure of load.
65
+ */
66
+ template<typename eT>
67
+ [[deprecated("Will be removed in mlpack 5.0.0; use other overloads instead")]]
68
+ bool Load(const std::string& filename,
69
+ arma::Mat<eT>& matrix,
70
+ const bool fatal,
71
+ const bool transpose = true,
72
+ const FileType inputLoadType = FileType::AutoDetect);
73
+
74
+ /**
75
+ * Loads a sparse matrix from file, using arma::coord_ascii format. This
76
+ * will transpose the matrix at load time (unless the transpose parameter is set
77
+ * to false). If the filetype cannot be determined, an error will be given.
78
+ *
79
+ * The supported types of files are the same as found in Armadillo:
80
+ *
81
+ * - CSV (coord_ascii), denoted by .csv or .txt
82
+ * - TSV (coord_ascii), denoted by .tsv or .txt
83
+ * - TXT (coord_ascii), denoted by .txt
84
+ * - Raw binary (raw_binary), denoted by .bin
85
+ * - Armadillo binary (arma_binary), denoted by .bin
86
+ *
87
+ * If the file extension is not one of those types, an error will be given.
88
+ * This is preferable to Armadillo's default behavior of loading an unknown
89
+ * filetype as raw_binary, which can have very confusing effects.
90
+ *
91
+ * If the parameter 'fatal' is set to true, a std::runtime_error exception will
92
+ * be thrown if the matrix does not load successfully. The parameter
93
+ * 'transpose' controls whether or not the matrix is transposed after loading.
94
+ * In most cases, because data is generally stored in a row-major format and
95
+ * mlpack requires column-major matrices, this should be left at its default
96
+ * value of 'true'.
97
+ *
98
+ * @param filename Name of file to load.
99
+ * @param matrix Sparse matrix to load contents of file into.
100
+ * @param fatal If an error should be reported as fatal (default false).
101
+ * @param transpose If true, transpose the matrix after loading (default true).
102
+ * @return Boolean value indicating success or failure of load.
103
+ */
104
+ template<typename eT>
105
+ [[deprecated("Will be removed in mlpack 5.0.0; use other overloads instead")]]
106
+ bool Load(const std::string& filename,
107
+ arma::SpMat<eT>& matrix,
108
+ const bool fatal,
109
+ const bool transpose = true,
110
+ const FileType inputLoadType = FileType::AutoDetect);
111
+
112
+ /**
113
+ * Load a column vector from a file, guessing the filetype from the extension.
114
+ *
115
+ * The supported types of files are the same as found in Armadillo:
116
+ *
117
+ * - CSV (csv_ascii), denoted by .csv, or optionally .txt
118
+ * - TSV (raw_ascii), denoted by .tsv, .csv, or .txt
119
+ * - ASCII (raw_ascii), denoted by .txt
120
+ * - Armadillo ASCII (arma_ascii), also denoted by .txt
121
+ * - PGM (pgm_binary), denoted by .pgm
122
+ * - PPM (ppm_binary), denoted by .ppm
123
+ * - Raw binary (raw_binary), denoted by .bin
124
+ * - Armadillo binary (arma_binary), denoted by .bin
125
+ * - HDF5, denoted by .hdf, .hdf5, .h5, or .he5
126
+ *
127
+ * If the file extension is not one of those types, an error will be given.
128
+ * This is preferable to Armadillo's default behavior of loading an unknown
129
+ * filetype as raw_binary, which can have very confusing effects.
130
+ *
131
+ * If the parameter 'fatal' is set to true, a std::runtime_error exception will
132
+ * be thrown if the matrix does not load successfully.
133
+ *
134
+ * @param filename Name of file to load.
135
+ * @param vec Column vector to load contents of file into.
136
+ * @param fatal If an error should be reported as fatal (default false).
137
+ * @return Boolean value indicating success or failure of load.
138
+ */
139
+ template<typename eT>
140
+ [[deprecated("Will be removed in mlpack 5.0.0; use other overloads instead")]]
141
+ bool Load(const std::string& filename,
142
+ arma::Col<eT>& vec,
143
+ const bool fatal);
144
+
145
+ /**
146
+ * Load a row vector from a file, guessing the filetype from the extension.
147
+ *
148
+ * The supported types of files are the same as found in Armadillo:
149
+ *
150
+ * - CSV (csv_ascii), denoted by .csv, or optionally .txt
151
+ * - TSV (raw_ascii), denoted by .tsv, .csv, or .txt
152
+ * - ASCII (raw_ascii), denoted by .txt
153
+ * - Armadillo ASCII (arma_ascii), also denoted by .txt
154
+ * - PGM (pgm_binary), denoted by .pgm
155
+ * - PPM (ppm_binary), denoted by .ppm
156
+ * - Raw binary (raw_binary), denoted by .bin
157
+ * - Armadillo binary (arma_binary), denoted by .bin
158
+ * - HDF5, denoted by .hdf, .hdf5, .h5, or .he5
159
+ *
160
+ * If the file extension is not one of those types, an error will be given.
161
+ * This is preferable to Armadillo's default behavior of loading an unknown
162
+ * filetype as raw_binary, which can have very confusing effects.
163
+ *
164
+ * If the parameter 'fatal' is set to true, a std::runtime_error exception will
165
+ * be thrown if the matrix does not load successfully.
166
+ *
167
+ * @param filename Name of file to load.
168
+ * @param rowvec Row vector to load contents of file into.
169
+ * @param fatal If an error should be reported as fatal (default false).
170
+ * @return Boolean value indicating success or failure of load.
171
+ */
172
+ template<typename eT>
173
+ [[deprecated("Will be removed in mlpack 5.0.0; use other overloads instead")]]
174
+ bool Load(const std::string& filename,
175
+ arma::Row<eT>& rowvec,
176
+ const bool fatal);
177
+
178
+ /**
179
+ * Loads a matrix from a file, guessing the filetype from the extension and
180
+ * mapping categorical features with a DatasetMapper object. This will
181
+ * transpose the matrix (unless the transpose parameter is set to false).
182
+ * This particular overload of Load() can only load text-based formats, such as
183
+ * those given below:
184
+ *
185
+ * - CSV (csv_ascii), denoted by .csv, or optionally .txt
186
+ * - TSV (raw_ascii), denoted by .tsv, .csv, or .txt
187
+ * - ASCII (raw_ascii), denoted by .txt
188
+ *
189
+ * If the file extension is not one of those types, an error will be given.
190
+ * This is preferable to Armadillo's default behavior of loading an unknown
191
+ * filetype as raw_binary, which can have very confusing effects.
192
+ *
193
+ * If the parameter 'fatal' is set to true, a std::runtime_error exception will
194
+ * be thrown if the matrix does not load successfully. The parameter
195
+ * 'transpose' controls whether or not the matrix is transposed after loading.
196
+ * In most cases, because data is generally stored in a row-major format and
197
+ * mlpack requires column-major matrices, this should be left at its default
198
+ * value of 'true'.
199
+ *
200
+ * If the given `info` has already been used with a different `Load()`
201
+ * call where the dataset has the same dimensionality, then the mappings and
202
+ * dimension types inside of `info` will be *re-used*. If the given `info` is a
203
+ * new `DatasetMapper` object (e.g. its dimensionality is 0), then new mappings
204
+ * will be created. If the given `info` has a different dimensionality of data
205
+ * than what is present in `filename`, an exception will be thrown.
206
+ *
207
+ * @param filename Name of file to load.
208
+ * @param matrix Matrix to load contents of file into.
209
+ * @param info DatasetMapper object to populate with mappings and data types.
210
+ * @param fatal If an error should be reported as fatal (default false).
211
+ * @param transpose If true, transpose the matrix after loading.
212
+ * @return Boolean value indicating success or failure of load.
213
+ */
214
+ template<typename eT>
215
+ [[deprecated("Will be removed in mlpack 5.0.0; use other overloads instead")]]
216
+ bool Load(const std::string& filename,
217
+ arma::Mat<eT>& matrix,
218
+ DatasetInfo& info,
219
+ const bool fatal = false,
220
+ const bool transpose = true);
221
+
222
+ /**
223
+ * Load a model from a file, guessing the filetype from the extension, or,
224
+ * optionally, loading the specified format. If automatic extension detection
225
+ * is used and the filetype cannot be determined, an error will be given.
226
+ *
227
+ * The supported types of files are the same as what is supported by the
228
+ * cereal library:
229
+ *
230
+ * - json, denoted by .json
231
+ * - xml, denoted by .xml
232
+ * - binary, denoted by .bin
233
+ *
234
+ * The format parameter can take any of the values in the 'format' enum:
235
+ * 'format::autodetect', 'format::json', 'format::xml', and 'format::binary'.
236
+ * The autodetect functionality operates on the file extension (so, "file.txt"
237
+ * would be autodetected as text).
238
+ *
239
+ * The name parameter should be specified to indicate the name of the structure
240
+ * to be loaded. This should be the same as the name that was used to save the
241
+ * structure (otherwise, the loading procedure will fail).
242
+ *
243
+ * If the parameter 'fatal' is set to true, then an exception will be thrown in
244
+ * the event of load failure. Otherwise, the method will return false and the
245
+ * relevant error information will be printed to Log::Warn.
246
+ */
247
+
248
+ template<typename T>
249
+ [[deprecated("Will be removed in mlpack 5.0.0; use other overloads instead")]]
250
+ bool Load(const std::string& filename,
251
+ const std::string& name,
252
+ T& t,
253
+ const bool fatal = false,
254
+ format f = format::autodetect,
255
+ std::enable_if_t<HasSerialize<T>::value>* = 0);
256
+
257
+ template<typename eT>
258
+ bool Load(const std::string& filename,
259
+ arma::Mat<eT>& matrix,
260
+ const bool fatal,
261
+ const bool transpose,
262
+ const FileType inputLoadType)
263
+ {
264
+ MatrixOptions opts;
265
+ opts.Fatal() = fatal;
266
+ opts.NoTranspose() = !transpose;
267
+ opts.Format() = inputLoadType;
268
+
269
+ return Load(filename, matrix, opts, false);
270
+ }
271
+
272
+ // For loading data into sparse matrix
273
+ template <typename eT>
274
+ bool Load(const std::string& filename,
275
+ arma::SpMat<eT>& matrix,
276
+ const bool fatal,
277
+ const bool transpose,
278
+ const FileType inputLoadType)
279
+ {
280
+ MatrixOptions opts;
281
+ opts.Fatal() = fatal;
282
+ opts.NoTranspose() = !transpose;
283
+ opts.Format() = inputLoadType;
284
+
285
+ return Load(filename, matrix, opts, false);
286
+ }
287
+
288
+ // For loading data into a column vector
289
+ template <typename eT>
290
+ bool Load(const std::string& filename,
291
+ arma::Col<eT>& vec,
292
+ const bool fatal)
293
+ {
294
+ DataOptions opts;
295
+ opts.Fatal() = fatal;
296
+ return Load(filename, vec, opts, false);
297
+ }
298
+
299
+ // For loading data into a raw vector
300
+ template <typename eT>
301
+ bool Load(const std::string& filename,
302
+ arma::Row<eT>& rowvec,
303
+ const bool fatal)
304
+ {
305
+ DataOptions opts;
306
+ opts.Fatal() = fatal;
307
+ return Load(filename, rowvec, opts, false);
308
+ }
309
+
310
+ // Load with mappings. Unfortunately we have to implement this ourselves.
311
+ template<typename eT>
312
+ bool Load(const std::string& filename,
313
+ arma::Mat<eT>& matrix,
314
+ DatasetInfo& info,
315
+ const bool fatal,
316
+ const bool transpose)
317
+ {
318
+ TextOptions opts;
319
+ opts.Fatal() = fatal;
320
+ opts.NoTranspose() = !transpose;
321
+ opts.Categorical() = true;
322
+ opts.DatasetInfo() = info;
323
+
324
+ bool success = Load(filename, matrix, opts);
325
+
326
+ info = opts.DatasetInfo();
327
+
328
+ return success;
329
+ }
330
+
331
+ /**
332
+ * Image load/save interfaces.
333
+ */
334
+
335
+ //
336
+ // Old Image loading interface, to be removed in mlpack 5.0.0
337
+ //
338
+
339
+ /**
340
+ * Load the image file into the given matrix.
341
+ *
342
+ * @param filename Name of the image file.
343
+ * @param matrix Matrix to load the image into.
344
+ * @param info An object of ImageInfo class.
345
+ * @param fatal If an error should be reported as fatal (default false).
346
+ * @return Boolean value indicating success or failure of load.
347
+ */
348
+ template<typename eT>
349
+ bool Load(const std::string& filename,
350
+ arma::Mat<eT>& matrix,
351
+ ImageInfo& opts,
352
+ const bool fatal)
353
+ {
354
+ // Use the new implementation.
355
+ opts.Fatal() = fatal;
356
+ opts.Format() = FileType::ImageType;
357
+ std::vector<std::string> files;
358
+ files.push_back(filename);
359
+ return LoadImage(files, matrix, opts);
360
+ }
361
+
362
+ /**
363
+ * Load the image file into the given matrix.
364
+ *
365
+ * @param files A vector consisting of filenames.
366
+ * @param matrix Matrix to save the image from.
367
+ * @param info An object of ImageInfo class.
368
+ * @param fatal If an error should be reported as fatal (default false).
369
+ * @return Boolean value indicating success or failure of load.
370
+ */
371
+ template<typename eT>
372
+ bool Load(const std::vector<std::string>& files,
373
+ arma::Mat<eT>& matrix,
374
+ ImageInfo& opts,
375
+ const bool fatal)
376
+ {
377
+ // Use the new implementation.
378
+ opts.Fatal() = fatal;
379
+ opts.Format() = FileType::ImageType;
380
+ return LoadImage(files, matrix, opts);
381
+ }
382
+
383
+ // Load a model from file.
384
+ template<typename T>
385
+ bool Load(const std::string& filename,
386
+ const std::string& name,
387
+ T& t,
388
+ const bool fatal,
389
+ format f,
390
+ std::enable_if_t<HasSerialize<T>::value>*)
391
+ {
392
+ if (f == format::autodetect)
393
+ {
394
+ std::string extension = Extension(filename);
395
+
396
+ if (extension == "xml")
397
+ f = format::xml;
398
+ else if (extension == "bin")
399
+ f = format::binary;
400
+ else if (extension == "json")
401
+ f = format::json;
402
+ else
403
+ {
404
+ if (fatal)
405
+ Log::Fatal << "Unable to detect type of '" << filename << "'; incorrect"
406
+ << " extension?" << std::endl;
407
+ else
408
+ Log::Warn << "Unable to detect type of '" << filename << "'; load "
409
+ << "failed. Incorrect extension?" << std::endl;
410
+
411
+ return false;
412
+ }
413
+ }
414
+
415
+ // Now load the given format.
416
+ std::ifstream ifs;
417
+ #ifdef _WIN32 // Open non-text in binary mode on Windows.
418
+ if (f == format::binary)
419
+ ifs.open(filename, std::ifstream::in | std::ifstream::binary);
420
+ else
421
+ ifs.open(filename, std::ifstream::in);
422
+ #else
423
+ ifs.open(filename, std::ifstream::in);
424
+ #endif
425
+
426
+ if (!ifs.is_open())
427
+ {
428
+ std::stringstream oss;
429
+ oss << "Unable to open file '" << filename << "' to load object '"
430
+ << name << "'.";
431
+ return HandleError(oss, fatal);
432
+ }
433
+ try
434
+ {
435
+ if (f == format::xml)
436
+ {
437
+ cereal::XMLInputArchive ar(ifs);
438
+ ar(cereal::make_nvp(name.c_str(), t));
439
+ }
440
+ else if (f == format::json)
441
+ {
442
+ cereal::JSONInputArchive ar(ifs);
443
+ ar(cereal::make_nvp(name.c_str(), t));
444
+ }
445
+ else if (f == format::binary)
446
+ {
447
+ cereal::BinaryInputArchive ar(ifs);
448
+ ar(cereal::make_nvp(name.c_str(), t));
449
+ }
450
+
451
+ return true;
452
+ }
453
+ catch (cereal::Exception& e)
454
+ {
455
+ if (fatal)
456
+ Log::Fatal << e.what() << std::endl;
457
+ else
458
+ Log::Warn << e.what() << std::endl;
459
+
460
+ return false;
461
+ }
462
+ }
463
+
464
+ } // namespace mlpack
465
+
466
+ #endif
@@ -1,6 +1,7 @@
1
1
  /**
2
2
  * @file core/data/load_image.hpp
3
3
  * @author Mehul Kumar Nirala
4
+ * @author Omar Shrit
4
5
  *
5
6
  * Implementation of image loading functionality via STB.
6
7
  *
@@ -15,55 +16,82 @@
15
16
 
16
17
  #include <mlpack/core/stb/stb.hpp>
17
18
 
18
- #include "image_info.hpp"
19
-
20
19
  namespace mlpack {
21
- namespace data {
22
-
23
- /**
24
- * Image load/save interfaces.
25
- */
26
20
 
27
- /**
28
- * Load the image file into the given matrix.
29
- *
30
- * @param filename Name of the image file.
31
- * @param matrix Matrix to load the image into.
32
- * @param info An object of ImageInfo class.
33
- * @param fatal If an error should be reported as fatal (default false).
34
- * @return Boolean value indicating success or failure of load.
35
- */
36
21
  template<typename eT>
37
- bool Load(const std::string& filename,
38
- arma::Mat<eT>& matrix,
39
- ImageInfo& info,
40
- const bool fatal = false);
22
+ bool LoadImage(const std::vector<std::string>& files,
23
+ arma::Mat<eT>& matrix,
24
+ ImageOptions& opts)
25
+ {
26
+ size_t dimension = 0;
27
+ if (files.empty())
28
+ {
29
+ std::stringstream oss;
30
+ oss << "Load(): list of images is empty, please specify the files names.";
31
+ return HandleError(oss, opts);
32
+ }
41
33
 
42
- /**
43
- * Load the image file into the given matrix.
44
- *
45
- * @param files A vector consisting of filenames.
46
- * @param matrix Matrix to save the image from.
47
- * @param info An object of ImageInfo class.
48
- * @param fatal If an error should be reported as fatal (default false).
49
- * @return Boolean value indicating success or failure of load.
50
- */
51
- template<typename eT>
52
- bool Load(const std::vector<std::string>& files,
53
- arma::Mat<eT>& matrix,
54
- ImageInfo& info,
55
- const bool fatal = false);
34
+ if (opts.Format() == FileType::ImageType ||
35
+ opts.Format() == FileType::AutoDetect)
36
+ {
37
+ DetectFromExtension<arma::Mat<eT>, ImageOptions>(files.back(), opts);
38
+ if (!opts.loadType.count(Extension(files.back())))
39
+ {
40
+ std::stringstream oss;
41
+ oss << "Load(): image type " << opts.FileTypeToString()
42
+ << " not supported. Supported formats: ";
43
+ for (const auto& x : opts.loadType)
44
+ oss << " " << x;
45
+ return HandleError(oss, opts);
46
+ }
47
+ }
56
48
 
57
- // Implementation found in load_image.hpp.
58
- inline bool LoadImage(const std::string& filename,
59
- arma::Mat<unsigned char>& matrix,
60
- ImageInfo& info,
61
- const bool fatal = false);
49
+ // Temporary variables needed as stb_image.h supports int parameters.
50
+ int tempWidth, tempHeight, tempChannels;
51
+ arma::Mat<unsigned char> images;
52
+ unsigned char* imageBuf = nullptr;
53
+ size_t i = 0;
62
54
 
63
- } // namespace data
64
- } // namespace mlpack
55
+ while (i < files.size())
56
+ {
57
+ imageBuf = stbi_load(files.at(i).c_str(), &tempWidth, &tempHeight,
58
+ &tempChannels, opts.Channels());
59
+ if (!imageBuf)
60
+ {
61
+ std::stringstream oss;
62
+ oss << "Load(): failed to load image '" << files.at(i) << "': "
63
+ << stbi_failure_reason();
64
+ return HandleError(oss, opts);
65
+ }
66
+ if (opts.Width() == 0 || opts.Height() == 0)
67
+ {
68
+ opts.Width() = tempWidth;
69
+ opts.Height() = tempHeight;
70
+ opts.Channels() = tempChannels;
71
+ }
72
+ dimension = opts.Width() * opts.Height() * opts.Channels();
73
+ images.set_size(dimension, files.size());
74
+
75
+ if ((size_t) tempWidth != opts.Width() ||
76
+ (size_t) tempHeight != opts.Height() ||
77
+ (size_t) tempChannels != opts.Channels())
78
+ {
79
+ std::stringstream oss;
80
+ oss << "Load(): dimension mismatch: in the case of "
81
+ << "several images, please check that all the images have the same "
82
+ << "dimensions; if not, load each image in one column and call this"
83
+ << " function iteratively." << std::endl;
84
+ return HandleError(oss, opts);
85
+ }
86
+ images.col(i) = arma::Mat<unsigned char>(imageBuf, dimension, 1,
87
+ false, true);
88
+ stbi_image_free(imageBuf);
89
+ i++;
90
+ }
91
+ matrix = arma::conv_to<arma::Mat<eT>>::from(std::move(images));
92
+ return true;
93
+ }
65
94
 
66
- // Include implementation of Load() for images.
67
- #include "load_image_impl.hpp"
95
+ } // namespace mlpack
68
96
 
69
97
  #endif