Permalink
Browse files

Merge branch 'release/0.4.2'

  • Loading branch information...
rimms committed Mar 15, 2013
2 parents 6bba782 + 5dc6225 commit 0f26f02ed20ad41d4bec3f794c3d23fa146a3faa
Showing with 1,308 additions and 576 deletions.
  1. +22 −0 ChangeLog.rst
  2. +50 −12 README.rst
  3. +14 −10 client/anomaly_client.hpp
  4. +13 −21 client/anomaly_types.hpp
  5. +15 −6 client/classifier_client.hpp
  6. +15 −26 client/classifier_types.hpp
  7. +27 −23 client/graph_client.hpp
  8. +23 −40 client/graph_types.hpp
  9. +19 −15 client/recommender_client.hpp
  10. +14 −22 client/recommender_types.hpp
  11. +15 −6 client/regression_client.hpp
  12. +13 −21 client/regression_types.hpp
  13. +20 −11 client/stat_client.hpp
  14. +9 −14 client/stat_types.hpp
  15. +2 −2 src/anomaly/lof_storage.cpp
  16. +4 −0 src/classifier/classifier_base.cpp
  17. +2 −0 src/classifier/classifier_base.hpp
  18. +5 −0 src/classifier/classifier_test.cpp
  19. +2 −2 src/classifier/cw.cpp
  20. +1 −1 src/classifier/pa.cpp
  21. +2 −1 src/classifier/pa1.cpp
  22. +2 −2 src/classifier/pa2.cpp
  23. +9 −8 src/cmd/jubactl.cpp
  24. +3 −3 src/common/key_manager.cpp
  25. +0 −1 src/common/mprpc/exception.hpp
  26. +112 −14 src/common/mprpc/rpc_client_test.cpp
  27. +135 −0 src/common/mprpc/rpc_util.hpp
  28. +3 −0 src/common/network.cpp
  29. +2 −0 src/common/util.cpp
  30. +0 −1 src/common/wscript
  31. +0 −1 src/framework.hpp
  32. +6 −1 src/framework/keeper.cpp
  33. +19 −12 src/framework/keeper.hpp
  34. +2 −0 src/framework/server_helper.cpp
  35. +2 −0 src/framework/server_helper.hpp
  36. +4 −0 src/framework/server_util.cpp
  37. +2 −0 src/framework/server_util.hpp
  38. +18 −8 src/fv_converter/converter_config.cpp
  39. +10 −3 src/fv_converter/converter_config.hpp
  40. +4 −1 src/fv_converter/converter_config_test.cpp
  41. +1 −1 src/fv_converter/counter.hpp
  42. +19 −32 src/{common/rpc_util.hpp → fv_converter/except_match.hpp}
  43. +37 −0 src/fv_converter/except_match_test.cpp
  44. +1 −1 src/fv_converter/keyword_weights.cpp
  45. +1 −1 src/fv_converter/revert.cpp
  46. +16 −0 src/fv_converter/revert_test.cpp
  47. +5 −0 src/fv_converter/weight_manager.hpp
  48. +1 −0 src/fv_converter/wscript
  49. +4 −4 src/graph/graph_type.hpp
  50. +14 −13 src/jubavisor/jubavisor.cpp
  51. +10 −7 src/jubavisor/jubavisor.hpp
  52. +18 −9 src/jubavisor/main.cpp
  53. +20 −0 src/plugin/fv_converter/ux_splitter.cpp
  54. +4 −1 src/plugin/fv_converter/ux_splitter_test.cpp
  55. +3 −0 src/recommender/euclid_lsh.cpp
  56. +2 −1 src/recommender/lsh.cpp
  57. +19 −13 src/regression/pa.cpp
  58. +2 −0 src/regression/pa.hpp
  59. +4 −0 src/regression/regression_base.cpp
  60. +2 −0 src/regression/regression_base.hpp
  61. +17 −0 src/regression/regression_test.cpp
  62. +14 −10 src/server/anomaly_client.hpp
  63. +9 −9 src/server/anomaly_impl.cpp
  64. +1 −0 src/server/anomaly_serv.cpp
  65. +10 −1 src/server/anomaly_test.cpp
  66. +3 −0 src/server/classifier.idl
  67. +15 −6 src/server/classifier_client.hpp
  68. +10 −5 src/server/classifier_impl.cpp
  69. +2 −0 src/server/classifier_keeper.cpp
  70. +9 −0 src/server/classifier_serv.cpp
  71. +2 −0 src/server/classifier_serv.hpp
  72. +2 −0 src/server/classifier_server.hpp
  73. +13 −2 src/server/classifier_test.cpp
  74. +0 −1 src/server/diffv.hpp
  75. +27 −23 src/server/graph_client.hpp
  76. +22 −22 src/server/graph_impl.cpp
  77. +6 −0 src/server/graph_serv.cpp
  78. +8 −0 src/server/graph_test.cpp
  79. +3 −0 src/server/linear_function_mixer_test.cpp
  80. +1 −0 src/server/mixable_weight_manager.cpp
  81. +19 −15 src/server/recommender_client.hpp
  82. +14 −14 src/server/recommender_impl.cpp
  83. +1 −0 src/server/recommender_serv.cpp
  84. +11 −1 src/server/recommender_test.cpp
  85. +3 −0 src/server/regression.idl
  86. +15 −6 src/server/regression_client.hpp
  87. +10 −5 src/server/regression_impl.cpp
  88. +2 −0 src/server/regression_keeper.cpp
  89. +8 −0 src/server/regression_serv.cpp
  90. +2 −0 src/server/regression_serv.hpp
  91. +2 −0 src/server/regression_server.hpp
  92. +10 −1 src/server/regression_test.cpp
  93. +3 −0 src/server/stat.idl
  94. +20 −11 src/server/stat_client.hpp
  95. +15 −10 src/server/stat_impl.cpp
  96. +2 −0 src/server/stat_keeper.cpp
  97. +6 −0 src/server/stat_serv.cpp
  98. +3 −0 src/server/stat_serv.hpp
  99. +2 −0 src/server/stat_server.hpp
  100. +9 −0 src/server/stat_test.cpp
  101. +6 −5 src/server/test_util.hpp
  102. +4 −1 src/server/wscript
  103. +9 −6 src/stat/mixable_stat.cpp
  104. +2 −0 src/stat/mixable_stat.hpp
  105. +8 −0 src/stat/mixable_stat_test.cpp
  106. +5 −0 src/stat/stat.cpp
  107. +2 −0 src/stat/stat.hpp
  108. +13 −0 src/stat/stat_test.cpp
  109. +2 −2 src/storage/bit_index_storage.cpp
  110. +5 −4 src/storage/inverted_index_storage.cpp
  111. +6 −0 src/storage/local_storage.cpp
  112. +2 −0 src/storage/local_storage.hpp
  113. +7 −0 src/storage/local_storage_mixture.cpp
  114. +2 −0 src/storage/local_storage_mixture.hpp
  115. +6 −6 src/storage/lsh_index_storage.cpp
  116. +1 −1 src/storage/lsh_index_storage.hpp
  117. +3 −3 src/storage/lsh_vector.hpp
  118. +1 −1 src/storage/norm_l1.cpp
  119. +1 −1 src/storage/norm_l2.cpp
  120. +2 −2 src/storage/sparse_matrix_storage.cpp
  121. +2 −0 src/storage/storage_base.hpp
  122. +46 −1 src/storage/storage_test.cpp
  123. +5 −2 tools/codestyle/pre-commit
  124. +1 −1 tools/jenerator/README.rst
  125. +9 −2 tools/jenerator/src/cpp.ml
  126. +1 −1 tools/packaging/allinone/jubapkg
  127. +7 −7 tools/packaging/allinone/jubapkg_version
  128. +7 −7 tools/packaging/rpm/package-config
  129. +1 −1 tools/packaging/rpm/package.sh
  130. +7 −7 tools/packaging/rpm/rpmbuild/jubatus/SPECS/jubatus.spec.in
  131. +1 −2 wscript
View
@@ -1,4 +1,26 @@
+Release 0.4.2 - 2013/03/15
+--------------------------
+
+* Improvements
+ * Feature extraction configration supports exception rules (#253)
+ * Add 'clear' method for classifier, regression and stat (#200, #279)
+ * Keeper supports configuration of session pool (#266)
+ * Add 'get_client' method for each clients (related #244)
+ * Check if thread local variables are enable in configure (#283)
+ * Output logs when server started (#258)
+ * Output logs when server received signal (#208)
+
+* Bugfix
+ * fv_converter may revert wrong feature (#247)
+ * Fix PA update equation (#254)
+ * Fix CW update equation (#277)
+ * Segfaults when point-to-point (tap) interface is installed (#273)
+ * recommender/anomaly: does not call clear() for weight manager (#282)
+ * ux_splitter plug-in does not raise error when directory is specified for dict_path (#286)
+ * #229, #263, #267, #271, #278
+
+
Release 0.4.1 - 2013/02/15
--------------------------
View
@@ -3,25 +3,63 @@ Jubatus
The Jubatus library is an online machine learning framework which runs in distributed environment.
-See http://jubat.us for details.
+See http://jubat.us/ for details.
-QuickStart
-----------
+Quick Start
+-----------
-Jubatus officially supports Ubuntu >= 12.04 , Red Hat Enterprise Linux >= 6.2 . On other platforms, some may work if they have gcc >= 4.4 .
+We officially support Ubuntu Server 12.04 LTS (x86_64) and Red Hat Enterprise Linux 6.2 or later (x86_64).
-For minimal standalone mode, Jubatus requires pficommon >= 1.3.1 (commit 8fde51454af897cc971bab9033e217ff83b12f78 or later), google-glog , libmsgpack, jubatus-mpio, jubatus-msgpack-rpc, python >= 2.6 . Please install these software with headers before installation.
+See `QuickStart <http://jubat.us/en/quickstart.html>`_ for detailed description.
+
+Red Hat Enterprise Linux 6.2 or later (x86_64)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Run the following command to register Jubatus Yum repository to the system.
+
+::
+
+ $ sudo rpm -Uvh http://download.jubat.us/yum/rhel/6/stable/x86_64/jubatus-release-6-1.el6.x86_64.rpm
+
+Then install ``jubatus`` and ``jubatus-client`` package.
+
+::
+
+ $ sudo yum install jubatus jubatus-client
+
+Now Jubatus is installed in ``/usr/bin/juba*``.
+
+::
+
+ $ jubaclassifier -f /usr/share/jubatus/example/config/classifier/pa.json
+
+Ubuntu Server 12.04 LTS (x86_64)
+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+
+Write the following line to ``/etc/apt/sources.list.d/jubatus.list`` to register Jubatus Apt repository to the system.
+
+::
+
+ deb http://download.jubat.us/apt binary/
+
+Now install ``jubatus`` package.
+
+::
+
+ $ sudo apt-get update
+ $ sudo apt-get install -y --force-yes jubatus
+
+Now Jubatus is installed in ``/opt/jubatus/bin/juba*``.
::
- $ git clone git://github.com/jubatus/jubatus.git
- $ cd jubatus
- $ ./waf configure --disable-re2
- $ ./waf build
- $ sudo ./waf install
- $ jubaclassifier -f /usr/local/share/jubatus/example/config/classifier/pa.json
+ $ source /opt/jubatus/profile
+ $ jubaclassifier -f /opt/jubatus/share/jubatus/example/config/classifier/pa.json
+
+Other Platforms
+~~~~~~~~~~~~~~~
-Here Jubatus classifier server has started. Enjoy!
+For other platforms, refer to the `documentation <http://jubat.us/en/build.html>`_.
License
-------
View
@@ -21,58 +21,62 @@ class anomaly {
: c_(host, port) {
c_.set_timeout(timeout_sec);
}
-
+
std::string get_config(std::string name) {
msgpack::rpc::future f = c_.call("get_config", name);
return f.get<std::string>();
}
-
+
bool clear_row(std::string name, std::string id) {
msgpack::rpc::future f = c_.call("clear_row", name, id);
return f.get<bool>();
}
-
+
std::pair<std::string, float> add(std::string name, datum row) {
msgpack::rpc::future f = c_.call("add", name, row);
return f.get<std::pair<std::string, float> >();
}
-
+
float update(std::string name, std::string id, datum row) {
msgpack::rpc::future f = c_.call("update", name, id, row);
return f.get<float>();
}
-
+
bool clear(std::string name) {
msgpack::rpc::future f = c_.call("clear", name);
return f.get<bool>();
}
-
+
float calc_score(std::string name, datum row) {
msgpack::rpc::future f = c_.call("calc_score", name, row);
return f.get<float>();
}
-
+
std::vector<std::string> get_all_rows(std::string name) {
msgpack::rpc::future f = c_.call("get_all_rows", name);
return f.get<std::vector<std::string> >();
}
-
+
bool save(std::string name, std::string id) {
msgpack::rpc::future f = c_.call("save", name, id);
return f.get<bool>();
}
-
+
bool load(std::string name, std::string id) {
msgpack::rpc::future f = c_.call("load", name, id);
return f.get<bool>();
}
-
+
std::map<std::string, std::map<std::string, std::string> > get_status(
std::string name) {
msgpack::rpc::future f = c_.call("get_status", name);
return f.get<std::map<std::string, std::map<std::string, std::string> > >();
}
+ msgpack::rpc::client& get_client() {
+ return c_;
+ }
+
private:
msgpack::rpc::client c_;
};
View
@@ -1,37 +1,29 @@
-
// This file is auto-generated from anomaly.idl
// *** DO NOT EDIT ***
-#ifndef ANOMALY_TYPES_HPP_
-#define ANOMALY_TYPES_HPP_
+#ifndef JUBATUS_ANOMALY_TYPES_HPP_
+#define JUBATUS_ANOMALY_TYPES_HPP_
+#include <stdint.h>
-#include <vector>
#include <map>
#include <string>
-#include <stdexcept>
-#include <stdint.h>
-#include <msgpack.hpp>
+#include <vector>
+#include <utility>
+#include <msgpack.hpp>
namespace jubatus {
-
namespace anomaly {
struct datum {
-public:
-
-
- MSGPACK_DEFINE(string_values, num_values);
-
- std::vector<std::pair<std::string, std::string > > string_values;
- std::vector<std::pair<std::string, double > > num_values;
+ public:
+ MSGPACK_DEFINE(string_values, num_values);
+ std::vector<std::pair<std::string, std::string> > string_values;
+ std::vector<std::pair<std::string, double> > num_values;
};
-} // namespace anomaly
-
-} // namespace jubatus
-
-
+} // namespace anomaly
+} // namespace jubatus
-#endif // ANOMALY_TYPES_HPP_
+#endif // JUBATUS_ANOMALY_TYPES_HPP_
@@ -21,40 +21,49 @@ class classifier {
: c_(host, port) {
c_.set_timeout(timeout_sec);
}
-
+
std::string get_config(std::string name) {
msgpack::rpc::future f = c_.call("get_config", name);
return f.get<std::string>();
}
-
+
int32_t train(std::string name, std::vector<std::pair<std::string,
datum> > data) {
msgpack::rpc::future f = c_.call("train", name, data);
return f.get<int32_t>();
}
-
+
std::vector<std::vector<estimate_result> > classify(std::string name,
std::vector<datum> data) {
msgpack::rpc::future f = c_.call("classify", name, data);
return f.get<std::vector<std::vector<estimate_result> > >();
}
-
+
+ bool clear(std::string name) {
+ msgpack::rpc::future f = c_.call("clear", name);
+ return f.get<bool>();
+ }
+
bool save(std::string name, std::string id) {
msgpack::rpc::future f = c_.call("save", name, id);
return f.get<bool>();
}
-
+
bool load(std::string name, std::string id) {
msgpack::rpc::future f = c_.call("load", name, id);
return f.get<bool>();
}
-
+
std::map<std::string, std::map<std::string, std::string> > get_status(
std::string name) {
msgpack::rpc::future f = c_.call("get_status", name);
return f.get<std::map<std::string, std::map<std::string, std::string> > >();
}
+ msgpack::rpc::client& get_client() {
+ return c_;
+ }
+
private:
msgpack::rpc::client c_;
};
@@ -1,47 +1,36 @@
-
// This file is auto-generated from classifier.idl
// *** DO NOT EDIT ***
-#ifndef CLASSIFIER_TYPES_HPP_
-#define CLASSIFIER_TYPES_HPP_
+#ifndef JUBATUS_CLASSIFIER_TYPES_HPP_
+#define JUBATUS_CLASSIFIER_TYPES_HPP_
+#include <stdint.h>
-#include <vector>
#include <map>
#include <string>
-#include <stdexcept>
-#include <stdint.h>
-#include <msgpack.hpp>
+#include <vector>
+#include <utility>
+#include <msgpack.hpp>
namespace jubatus {
-
namespace classifier {
struct datum {
-public:
-
-
- MSGPACK_DEFINE(string_values, num_values);
-
- std::vector<std::pair<std::string, std::string > > string_values;
- std::vector<std::pair<std::string, double > > num_values;
+ public:
+ MSGPACK_DEFINE(string_values, num_values);
+ std::vector<std::pair<std::string, std::string> > string_values;
+ std::vector<std::pair<std::string, double> > num_values;
};
struct estimate_result {
-public:
-
-
- MSGPACK_DEFINE(label, score);
-
+ public:
+ MSGPACK_DEFINE(label, score);
std::string label;
double score;
};
-} // namespace classifier
-
-} // namespace jubatus
-
-
+} // namespace classifier
+} // namespace jubatus
-#endif // CLASSIFIER_TYPES_HPP_
+#endif // JUBATUS_CLASSIFIER_TYPES_HPP_
Oops, something went wrong.

0 comments on commit 0f26f02

Please sign in to comment.