mlpack 4.6.2__cp38-cp38-win_amd64.whl → 4.7.0__cp38-cp38-win_amd64.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (414) hide show
  1. mlpack/__init__.py +3 -3
  2. mlpack/adaboost_classify.cp38-win_amd64.pyd +0 -0
  3. mlpack/adaboost_probabilities.cp38-win_amd64.pyd +0 -0
  4. mlpack/adaboost_train.cp38-win_amd64.pyd +0 -0
  5. mlpack/approx_kfn.cp38-win_amd64.pyd +0 -0
  6. mlpack/arma_numpy.cp38-win_amd64.pyd +0 -0
  7. mlpack/bayesian_linear_regression.cp38-win_amd64.pyd +0 -0
  8. mlpack/cf.cp38-win_amd64.pyd +0 -0
  9. mlpack/dbscan.cp38-win_amd64.pyd +0 -0
  10. mlpack/decision_tree.cp38-win_amd64.pyd +0 -0
  11. mlpack/det.cp38-win_amd64.pyd +0 -0
  12. mlpack/emst.cp38-win_amd64.pyd +0 -0
  13. mlpack/fastmks.cp38-win_amd64.pyd +0 -0
  14. mlpack/gmm_generate.cp38-win_amd64.pyd +0 -0
  15. mlpack/gmm_probability.cp38-win_amd64.pyd +0 -0
  16. mlpack/gmm_train.cp38-win_amd64.pyd +0 -0
  17. mlpack/hmm_generate.cp38-win_amd64.pyd +0 -0
  18. mlpack/hmm_loglik.cp38-win_amd64.pyd +0 -0
  19. mlpack/hmm_train.cp38-win_amd64.pyd +0 -0
  20. mlpack/hmm_viterbi.cp38-win_amd64.pyd +0 -0
  21. mlpack/hoeffding_tree.cp38-win_amd64.pyd +0 -0
  22. mlpack/image_converter.cp38-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.cp38-win_amd64.pyd +0 -0
  362. mlpack/kernel_pca.cp38-win_amd64.pyd +0 -0
  363. mlpack/kfn.cp38-win_amd64.pyd +0 -0
  364. mlpack/kmeans.cp38-win_amd64.pyd +0 -0
  365. mlpack/knn.cp38-win_amd64.pyd +0 -0
  366. mlpack/krann.cp38-win_amd64.pyd +0 -0
  367. mlpack/lars.cp38-win_amd64.pyd +0 -0
  368. mlpack/linear_regression_predict.cp38-win_amd64.pyd +0 -0
  369. mlpack/linear_regression_train.cp38-win_amd64.pyd +0 -0
  370. mlpack/linear_svm.cp38-win_amd64.pyd +0 -0
  371. mlpack/lmnn.cp38-win_amd64.pyd +0 -0
  372. mlpack/local_coordinate_coding.cp38-win_amd64.pyd +0 -0
  373. mlpack/logistic_regression.cp38-win_amd64.pyd +0 -0
  374. mlpack/lsh.cp38-win_amd64.pyd +0 -0
  375. mlpack/mean_shift.cp38-win_amd64.pyd +0 -0
  376. mlpack/nbc.cp38-win_amd64.pyd +0 -0
  377. mlpack/nca.cp38-win_amd64.pyd +0 -0
  378. mlpack/nmf.cp38-win_amd64.pyd +0 -0
  379. mlpack/pca.cp38-win_amd64.pyd +0 -0
  380. mlpack/perceptron.cp38-win_amd64.pyd +0 -0
  381. mlpack/preprocess_binarize.cp38-win_amd64.pyd +0 -0
  382. mlpack/preprocess_describe.cp38-win_amd64.pyd +0 -0
  383. mlpack/preprocess_one_hot_encoding.cp38-win_amd64.pyd +0 -0
  384. mlpack/preprocess_scale.cp38-win_amd64.pyd +0 -0
  385. mlpack/preprocess_split.cp38-win_amd64.pyd +0 -0
  386. mlpack/radical.cp38-win_amd64.pyd +0 -0
  387. mlpack/random_forest.cp38-win_amd64.pyd +0 -0
  388. mlpack/softmax_regression.cp38-win_amd64.pyd +0 -0
  389. mlpack/sparse_coding.cp38-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 +5 -5
  392. {mlpack-4.6.2.dist-info → mlpack-4.7.0.dist-info}/RECORD +395 -376
  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/{.load-order-mlpack-4.6.2 → .load-order-mlpack-4.7.0} +0 -0
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.3.2)
2
+ Generator: setuptools (75.3.3)
3
3
  Root-Is-Purelib: false
4
4
  Tag: cp38-cp38-win_amd64
5
5
 
@@ -1,31 +0,0 @@
1
- /**
2
- * @file core/data/format.hpp
3
- * @author Ryan Curtin
4
- *
5
- * Define the formats that can be used by mlpack's Load() and Save() mechanisms
6
- * via cereal.
7
- *
8
- * mlpack is free software; you may redistribute it and/or modify it under the
9
- * terms of the 3-clause BSD license. You should have received a copy of the
10
- * 3-clause BSD license along with mlpack. If not, see
11
- * http://www.opensource.org/licenses/BSD-3-Clause for more information.
12
- */
13
- #ifndef MLPACK_CORE_DATA_FORMATS_HPP
14
- #define MLPACK_CORE_DATA_FORMATS_HPP
15
-
16
- namespace mlpack {
17
- namespace data {
18
-
19
- //! Define the formats we can read through cereal.
20
- enum format
21
- {
22
- autodetect,
23
- json,
24
- xml,
25
- binary
26
- };
27
-
28
- } // namespace data
29
- } // namespace mlpack
30
-
31
- #endif
@@ -1,102 +0,0 @@
1
- /**
2
- * @file core/data/image_info.hpp
3
- * @author Mehul Kumar Nirala
4
- *
5
- * An image information holder.
6
- *
7
- * mlpack is free software; you may redistribute it and/or modify it under the
8
- * terms of the 3-clause BSD license. You should have received a copy of the
9
- * 3-clause BSD license along with mlpack. If not, see
10
- * http://www.opensource.org/licenses/BSD-3-Clause for more information.
11
- */
12
-
13
- #ifndef MLPACK_CORE_DATA_IMAGE_INFO_HPP
14
- #define MLPACK_CORE_DATA_IMAGE_INFO_HPP
15
-
16
- #include <mlpack/prereqs.hpp>
17
- #include "extension.hpp"
18
-
19
- namespace mlpack {
20
- namespace data {
21
-
22
- /**
23
- * Checks if the given image filename is supported.
24
- *
25
- * @param fileName Name of the image file.
26
- * @param save Set to true to check if the file format can be saved, else loaded.
27
- * @return Boolean value indicating success if it is an image.
28
- */
29
- inline bool ImageFormatSupported(const std::string& fileName,
30
- const bool save = false);
31
-
32
- /**
33
- * Implements meta-data of images required by data::Load and
34
- * data::Save for loading and saving images into arma::Mat.
35
- */
36
- class ImageInfo
37
- {
38
- public:
39
- /**
40
- * Instantiate the ImageInfo object with the given image width, height,
41
- * number of channels and quality parameter.
42
- *
43
- * @param width Image width.
44
- * @param height Image height.
45
- * @param channels Number of channels in the image.
46
- * @param quality Compression of the image if saved as jpg (0 - 100).
47
- */
48
- ImageInfo(const size_t width = 0,
49
- const size_t height = 0,
50
- const size_t channels = 3,
51
- const size_t quality = 90);
52
-
53
- //! Get the image width.
54
- const size_t& Width() const { return width; }
55
- //! Modify the image width.
56
- size_t& Width() { return width; }
57
- //! Get the image height.
58
-
59
- const size_t& Height() const { return height; }
60
- //! Modify the image height.
61
- size_t& Height() { return height; }
62
-
63
- //! Get the image channels.
64
- const size_t& Channels() const { return channels; }
65
- //! Modify the image channels.
66
- size_t& Channels() { return channels; }
67
-
68
- //! Get the image quality.
69
- const size_t& Quality() const { return quality; }
70
- //! Modify the image quality.
71
- size_t& Quality() { return quality; }
72
-
73
- template<typename Archive>
74
- void serialize(Archive& ar, const uint32_t /* version */)
75
- {
76
- ar(CEREAL_NVP(width));
77
- ar(CEREAL_NVP(channels));
78
- ar(CEREAL_NVP(height));
79
- ar(CEREAL_NVP(quality));
80
- }
81
-
82
- private:
83
- // To store the image width.
84
- size_t width;
85
-
86
- // To store the image height.
87
- size_t height;
88
-
89
- // To store the number of channels in the image.
90
- size_t channels;
91
-
92
- // Compression of the image if saved as jpg (0 - 100).
93
- size_t quality;
94
- };
95
-
96
- } // namespace data
97
- } // namespace mlpack
98
-
99
- // Include implementation of Image.
100
- #include "image_info_impl.hpp"
101
-
102
- #endif
@@ -1,84 +0,0 @@
1
- /**
2
- * @file core/data/image_info_impl.hpp
3
- * @author Mehul Kumar Nirala
4
- *
5
- * An image information holder implementation.
6
- *
7
- * mlpack is free software; you may redistribute it and/or modify it under the
8
- * terms of the 3-clause BSD license. You should have received a copy of the
9
- * 3-clause BSD license along with mlpack. If not, see
10
- * http://www.opensource.org/licenses/BSD-3-Clause for more information.
11
- */
12
-
13
- #ifndef MLPACK_CORE_DATA_IMAGE_INFO_IMPL_HPP
14
- #define MLPACK_CORE_DATA_IMAGE_INFO_IMPL_HPP
15
-
16
- namespace mlpack {
17
- namespace data {
18
-
19
- inline const std::vector<std::string> LoadFileTypes()
20
- {
21
- return std::vector<std::string>({"jpg", "png", "tga", "bmp", "psd", "gif",
22
- "hdr", "pic", "pnm", "jpeg"});
23
- }
24
-
25
- inline const std::vector<std::string> SaveFileTypes()
26
- {
27
- return std::vector<std::string>({"jpg", "png", "tga", "bmp", "hdr"});
28
- }
29
-
30
- } // namespace data
31
- } // namespace mlpack
32
-
33
- // In case it hasn't been included yet.
34
- #include "image_info.hpp"
35
-
36
- namespace mlpack {
37
- namespace data {
38
-
39
- inline bool ImageFormatSupported(const std::string& fileName, const bool save)
40
- {
41
- if (save)
42
- {
43
- // Iterate over all supported file types that can be saved.
44
- for (auto extension : SaveFileTypes())
45
- {
46
- if (extension == Extension(fileName))
47
- return true;
48
- }
49
- }
50
- else
51
- {
52
- // Iterate over all supported file types that can be loaded.
53
- for (auto extension : LoadFileTypes())
54
- {
55
- if (extension == Extension(fileName))
56
- return true;
57
- }
58
- }
59
-
60
- return false;
61
- }
62
-
63
- } // namespace data
64
- } // namespace mlpack
65
-
66
- namespace mlpack {
67
- namespace data {
68
-
69
- inline ImageInfo::ImageInfo(const size_t width,
70
- const size_t height,
71
- const size_t channels,
72
- const size_t quality) :
73
- width(width),
74
- height(height),
75
- channels(channels),
76
- quality(quality)
77
- {
78
- // Do nothing.
79
- }
80
-
81
- } // namespace data
82
- } // namespace mlpack
83
-
84
- #endif
@@ -1,171 +0,0 @@
1
- /**
2
- * @file core/data/load_image_impl.hpp
3
- * @author Mehul Kumar Nirala
4
- *
5
- * An image loading utility implementation via STB.
6
- *
7
- * mlpack is free software; you may redistribute it and/or modify it under the
8
- * terms of the 3-clause BSD license. You should have received a copy of the
9
- * 3-clause BSD license along with mlpack. If not, see
10
- * http://www.opensource.org/licenses/BSD-3-Clause for more information.
11
- */
12
- #ifndef MLPACK_CORE_DATA_LOAD_IMAGE_IMPL_HPP
13
- #define MLPACK_CORE_DATA_LOAD_IMAGE_IMPL_HPP
14
-
15
- // In case it hasn't been included yet.
16
- #include "load_image.hpp"
17
- #include "image_info.hpp"
18
-
19
- namespace mlpack {
20
- namespace data {
21
-
22
- // Image loading API.
23
- template<typename eT>
24
- bool Load(const std::string& filename,
25
- arma::Mat<eT>& matrix,
26
- ImageInfo& info,
27
- const bool fatal)
28
- {
29
- Timer::Start("loading_image");
30
-
31
- // STB loads into unsigned char matrices, so we may have to convert once
32
- // loaded.
33
- arma::Mat<unsigned char> tempMatrix;
34
- const bool result = LoadImage(filename, tempMatrix, info, fatal);
35
-
36
- // If fatal is true, then the program will have already thrown an exception.
37
- if (!result)
38
- {
39
- Timer::Stop("loading_image");
40
- return false;
41
- }
42
-
43
- matrix = arma::conv_to<arma::Mat<eT>>::from(tempMatrix);
44
- Timer::Stop("loading_image");
45
- return true;
46
- }
47
-
48
- // Image loading API for multiple files.
49
- template<typename eT>
50
- bool Load(const std::vector<std::string>& files,
51
- arma::Mat<eT>& matrix,
52
- ImageInfo& info,
53
- const bool fatal)
54
- {
55
- if (files.size() == 0)
56
- {
57
- std::ostringstream oss;
58
- oss << "Load(): vector of image files is empty." << std::endl;
59
-
60
- if (fatal)
61
- Log::Fatal << oss.str();
62
- else
63
- Log::Warn << oss.str();
64
-
65
- return false;
66
- }
67
-
68
- arma::Mat<unsigned char> img;
69
- bool status = LoadImage(files[0], img, info, fatal);
70
-
71
- if (!status)
72
- return false;
73
-
74
- // Decide matrix dimension using the image height and width.
75
- arma::Mat<unsigned char> tmpMatrix(
76
- info.Width() * info.Height() * info.Channels(), files.size());
77
- tmpMatrix.col(0) = img;
78
-
79
- for (size_t i = 1; i < files.size() ; ++i)
80
- {
81
- arma::Mat<unsigned char> colImg(tmpMatrix.colptr(i), tmpMatrix.n_rows, 1,
82
- false, true);
83
- status = LoadImage(files[i], colImg, info, fatal);
84
-
85
- if (!status)
86
- return false;
87
- }
88
-
89
- matrix = arma::conv_to<arma::Mat<eT>>::from(tmpMatrix);
90
- return true;
91
- }
92
-
93
- inline bool LoadImage(const std::string& filename,
94
- arma::Mat<unsigned char>& matrix,
95
- ImageInfo& info,
96
- const bool fatal)
97
- {
98
- unsigned char* image;
99
-
100
- if (!ImageFormatSupported(filename))
101
- {
102
- std::ostringstream oss;
103
- oss << "Load(): file type " << Extension(filename) << " not supported. ";
104
- oss << "Currently it supports:";
105
- auto x = LoadFileTypes();
106
- for (auto extension : x)
107
- oss << " " << extension;
108
- oss << "." << std::endl;
109
-
110
- if (fatal)
111
- {
112
- Log::Fatal << oss.str();
113
- }
114
- else
115
- {
116
- Log::Warn << oss.str();
117
- }
118
-
119
- return false;
120
- }
121
-
122
- // Temporary variables needed as stb_image.h supports int parameters.
123
- int tempWidth, tempHeight, tempChannels;
124
-
125
- // For grayscale images.
126
- if (info.Channels() == 1)
127
- {
128
- image = stbi_load(filename.c_str(), &tempWidth, &tempHeight, &tempChannels,
129
- STBI_grey);
130
- }
131
- else
132
- {
133
- image = stbi_load(filename.c_str(), &tempWidth, &tempHeight, &tempChannels,
134
- STBI_rgb);
135
- }
136
-
137
- if (!image)
138
- {
139
- if (fatal)
140
- {
141
- Log::Fatal << "Load(): failed to load image '" << filename << "': "
142
- << stbi_failure_reason() << std::endl;
143
- }
144
- else
145
- {
146
- Log::Warn << "Load(): failed to load image '" << filename << "': "
147
- << stbi_failure_reason() << std::endl;
148
- }
149
-
150
- return false;
151
- }
152
-
153
- info.Width() = tempWidth;
154
- info.Height() = tempHeight;
155
- // Only set the new number of channels if we didn't force grayscale loading.
156
- if (info.Channels() != 1)
157
- info.Channels() = tempChannels;
158
-
159
- // Copy image into armadillo Mat.
160
- matrix = arma::Mat<unsigned char>(image, info.Width() * info.Height() *
161
- info.Channels(), 1, true, true);
162
-
163
- // Free the image pointer.
164
- stbi_image_free(image);
165
- return true;
166
- }
167
-
168
- } // namespace data
169
- } // namespace mlpack
170
-
171
- #endif
@@ -1,115 +0,0 @@
1
- /**
2
- * @file core/data/load_model_impl.hpp
3
- * @author Ryan Curtin
4
- *
5
- * Implementation of model-specific Load() function.
6
- *
7
- * mlpack is free software; you may redistribute it and/or modify it under the
8
- * terms of the 3-clause BSD license. You should have received a copy of the
9
- * 3-clause BSD license along with mlpack. If not, see
10
- * http://www.opensource.org/licenses/BSD-3-Clause for more information.
11
- */
12
- #ifndef MLPACK_CORE_DATA_LOAD_MODEL_IMPL_HPP
13
- #define MLPACK_CORE_DATA_LOAD_MODEL_IMPL_HPP
14
-
15
- // In case it hasn't already been included.
16
- #include "load.hpp"
17
-
18
- #include "extension.hpp"
19
-
20
- #include <cereal/archives/xml.hpp>
21
- #include <cereal/archives/binary.hpp>
22
- #include <cereal/archives/json.hpp>
23
-
24
- namespace mlpack {
25
- namespace data {
26
-
27
- // Load a model from file.
28
- template<typename T>
29
- bool Load(const std::string& filename,
30
- const std::string& name,
31
- T& t,
32
- const bool fatal,
33
- format f,
34
- std::enable_if_t<HasSerialize<T>::value>*)
35
- {
36
- if (f == format::autodetect)
37
- {
38
- std::string extension = Extension(filename);
39
-
40
- if (extension == "xml")
41
- f = format::xml;
42
- else if (extension == "bin")
43
- f = format::binary;
44
- else if (extension == "json")
45
- f = format::json;
46
- else
47
- {
48
- if (fatal)
49
- Log::Fatal << "Unable to detect type of '" << filename << "'; incorrect"
50
- << " extension?" << std::endl;
51
- else
52
- Log::Warn << "Unable to detect type of '" << filename << "'; load "
53
- << "failed. Incorrect extension?" << std::endl;
54
-
55
- return false;
56
- }
57
- }
58
-
59
- // Now load the given format.
60
- std::ifstream ifs;
61
- #ifdef _WIN32 // Open non-text in binary mode on Windows.
62
- if (f == format::binary)
63
- ifs.open(filename, std::ifstream::in | std::ifstream::binary);
64
- else
65
- ifs.open(filename, std::ifstream::in);
66
- #else
67
- ifs.open(filename, std::ifstream::in);
68
- #endif
69
-
70
- if (!ifs.is_open())
71
- {
72
- if (fatal)
73
- Log::Fatal << "Unable to open file '" << filename << "' to load object '"
74
- << name << "'." << std::endl;
75
- else
76
- Log::Warn << "Unable to open file '" << filename << "' to load object '"
77
- << name << "'." << std::endl;
78
-
79
- return false;
80
- }
81
- try
82
- {
83
- if (f == format::xml)
84
- {
85
- cereal::XMLInputArchive ar(ifs);
86
- ar(cereal::make_nvp(name.c_str(), t));
87
- }
88
- else if (f == format::json)
89
- {
90
- cereal::JSONInputArchive ar(ifs);
91
- ar(cereal::make_nvp(name.c_str(), t));
92
- }
93
- else if (f == format::binary)
94
- {
95
- cereal::BinaryInputArchive ar(ifs);
96
- ar(cereal::make_nvp(name.c_str(), t));
97
- }
98
-
99
- return true;
100
- }
101
- catch (cereal::Exception& e)
102
- {
103
- if (fatal)
104
- Log::Fatal << e.what() << std::endl;
105
- else
106
- Log::Warn << e.what() << std::endl;
107
-
108
- return false;
109
- }
110
- }
111
-
112
- } // namespace data
113
- } // namespace mlpack
114
-
115
- #endif
@@ -1,154 +0,0 @@
1
- /**
2
- * @file core/data/load_vec_impl.hpp
3
- * @author Ryan Curtin
4
- *
5
- * Implementation of templatized load() function defined in load.hpp for
6
- * vectors.
7
- *
8
- * mlpack is free software; you may redistribute it and/or modify it under the
9
- * terms of the 3-clause BSD license. You should have received a copy of the
10
- * 3-clause BSD license along with mlpack. If not, see
11
- * http://www.opensource.org/licenses/BSD-3-Clause for more information.
12
- */
13
- #ifndef MLPACK_CORE_DATA_LOAD_VEC_IMPL_HPP
14
- #define MLPACK_CORE_DATA_LOAD_VEC_IMPL_HPP
15
-
16
- // In case it hasn't already been included.
17
- #include "load.hpp"
18
-
19
- namespace mlpack {
20
- namespace data {
21
-
22
- // Load column vector.
23
- template<typename eT>
24
- bool LoadCol(const std::string& filename,
25
- arma::Col<eT>& vec,
26
- TextOptions& opts,
27
- std::fstream& stream)
28
- {
29
- // First load into auxiliary matrix.
30
- arma::Mat<eT> tmp;
31
- opts.NoTranspose() = true; // false Transpose
32
- bool success = LoadDense(filename, tmp, opts, stream);
33
- if (!success)
34
- {
35
- vec.clear();
36
- return false;
37
- }
38
-
39
- // Now check the size to see that it is a vector, and return a vector.
40
- if (tmp.n_cols > 1)
41
- {
42
- if (tmp.n_rows > 1)
43
- {
44
- // Problem: invalid size!
45
- if (opts.Fatal())
46
- {
47
- Log::Fatal << "Matrix in file '" << filename << "' is not a vector, but"
48
- << " instead has size " << tmp.n_rows << "x" << tmp.n_cols << "!"
49
- << std::endl;
50
- }
51
- else
52
- {
53
- Log::Warn << "Matrix in file '" << filename << "' is not a vector, but "
54
- << "instead has size " << tmp.n_rows << "x" << tmp.n_cols << "!"
55
- << std::endl;
56
- }
57
-
58
- vec.clear();
59
- return false;
60
- }
61
- else
62
- {
63
- /**
64
- * It's loaded as a row vector (more than one column). So we need to
65
- * manually modify the shape of the matrix. We can do this without
66
- * damaging the data since it is only a vector.
67
- */
68
- arma::access::rw(tmp.n_rows) = tmp.n_cols;
69
- arma::access::rw(tmp.n_cols) = 1;
70
-
71
- /**
72
- * Now we can call the move operator, but it has to be the move operator
73
- * for Mat, not for Col. This will avoid copying the data.
74
- */
75
- *((arma::Mat<eT>*) &vec) = std::move(tmp);
76
- return true;
77
- }
78
- }
79
- else
80
- {
81
- // It's loaded as a column vector. We can call the move constructor
82
- // directly.
83
- *((arma::Mat<eT>*) &vec) = std::move(tmp);
84
- return true;
85
- }
86
- }
87
-
88
- // Load row vector.
89
- template<typename eT>
90
- bool LoadRow(const std::string& filename,
91
- arma::Row<eT>& rowvec,
92
- TextOptions& opts,
93
- std::fstream& stream)
94
- {
95
- arma::Mat<eT> tmp;
96
- opts.NoTranspose() = true; // false Transpose
97
- bool success = LoadDense(filename, tmp, opts, stream);
98
- if (!success)
99
- {
100
- rowvec.clear();
101
- return false;
102
- }
103
-
104
- if (tmp.n_rows > 1)
105
- {
106
- if (tmp.n_cols > 1)
107
- {
108
- // Problem: invalid size!
109
- if (opts.Fatal())
110
- {
111
- Log::Fatal << "Matrix in file '" << filename << "' is not a vector, but"
112
- << " instead has size " << tmp.n_rows << "x" << tmp.n_cols << "!"
113
- << std::endl;
114
- }
115
- else
116
- {
117
- Log::Warn << "Matrix in file '" << filename << "' is not a vector, but "
118
- << "instead has size " << tmp.n_rows << "x" << tmp.n_cols << "!"
119
- << std::endl;
120
- }
121
-
122
- rowvec.clear();
123
- return false;
124
- }
125
- else
126
- {
127
- /**
128
- * It's loaded as a column vector (more than one row). So we need to
129
- * manually modify the shape of the matrix. We can do this without
130
- * damaging the data since it is only a vector.
131
- */
132
- arma::access::rw(tmp.n_cols) = tmp.n_rows;
133
- arma::access::rw(tmp.n_rows) = 1;
134
-
135
- /**
136
- * Now we can call the move operator, but it has to be the move operator
137
- * for Mat, not for Col. This will avoid copying the data.
138
- */
139
- *((arma::Mat<eT>*) &rowvec) = std::move(tmp);
140
- return true;
141
- }
142
- }
143
- else
144
- {
145
- // It's loaded as a row vector. We can call the move constructor directly.
146
- *((arma::Mat<eT>*) &rowvec) = std::move(tmp);
147
- return true;
148
- }
149
- }
150
-
151
- } // namespace data
152
- } // namespace mlpack
153
-
154
- #endif