buildz 0.7.1__tar.gz → 0.7.2__tar.gz

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 (364) hide show
  1. {buildz-0.7.1/buildz.egg-info → buildz-0.7.2}/PKG-INFO +8 -1
  2. {buildz-0.7.1 → buildz-0.7.2}/README.md +7 -0
  3. buildz-0.7.2/buildz/__init__.py +25 -0
  4. {buildz-0.7.1 → buildz-0.7.2}/buildz/gpuz/test/report.txt +4 -3
  5. {buildz-0.7.1 → buildz-0.7.2}/buildz/gpuz/torch/dict_middle.py +10 -3
  6. buildz-0.7.2/buildz/iocz/__init__.py +6 -0
  7. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/mhttp/gateway.py +1 -1
  8. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/mhttp/mhttp.py +4 -4
  9. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/mhttp/proxy.py +12 -8
  10. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/mhttp/record.py +11 -1
  11. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/tcp/middle.py +41 -26
  12. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/test/test_gw.py +8 -0
  13. {buildz-0.7.1 → buildz-0.7.2/buildz.egg-info}/PKG-INFO +8 -1
  14. {buildz-0.7.1 → buildz-0.7.2}/setup.py +1 -1
  15. buildz-0.7.1/buildz/__init__.py +0 -9
  16. buildz-0.7.1/buildz/iocz/__init__.py +0 -3
  17. {buildz-0.7.1 → buildz-0.7.2}/LICENSE +0 -0
  18. {buildz-0.7.1 → buildz-0.7.2}/MANIFEST.in +0 -0
  19. {buildz-0.7.1 → buildz-0.7.2}/buildz/__main__.py +0 -0
  20. {buildz-0.7.1 → buildz-0.7.2}/buildz/argx.py +0 -0
  21. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz/__init__.py +0 -0
  22. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz/argz.py +0 -0
  23. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz/callz.py +0 -0
  24. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz/conf_argz.py +0 -0
  25. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz/conf_callz.py +0 -0
  26. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz/evalx.py +0 -0
  27. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz/init.py +0 -0
  28. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz/test.py +0 -0
  29. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz/test_call.py +0 -0
  30. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz_bk/__init__.py +0 -0
  31. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz_bk/argz.py +0 -0
  32. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz_bk/build.py +0 -0
  33. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz_bk/callz.py +0 -0
  34. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz_bk/evalx.py +0 -0
  35. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz_bk/test.py +0 -0
  36. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz_bk/test_obj.py +0 -0
  37. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz_bk/tests/conf.js +0 -0
  38. {buildz-0.7.1 → buildz-0.7.2}/buildz/argz_bk/testx.py +0 -0
  39. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/__init__.py +0 -0
  40. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/cache.py +0 -0
  41. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/config.py +0 -0
  42. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/dbs.py +0 -0
  43. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/deal.py +0 -0
  44. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/deal_list.py +0 -0
  45. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/deal_type.py +0 -0
  46. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/defs.py +0 -0
  47. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/factory.py +0 -0
  48. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/init.py +0 -0
  49. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/log.py +0 -0
  50. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/request.py +0 -0
  51. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/run.py +0 -0
  52. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/save.py +0 -0
  53. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/test/res/cache/cache.js +0 -0
  54. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/test/res/config/base.js +0 -0
  55. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/test/res/config/config.js +0 -0
  56. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/test/res/data/fp.js +0 -0
  57. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/test/res/data/item1.js +0 -0
  58. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/test/res/data/item2.js +0 -0
  59. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/test/res/data/test.js +0 -0
  60. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/test/test.py +0 -0
  61. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/test/xtest.py +0 -0
  62. {buildz-0.7.1 → buildz-0.7.2}/buildz/auto/verify.py +0 -0
  63. {buildz-0.7.1 → buildz-0.7.2}/buildz/base.py +0 -0
  64. {buildz-0.7.1 → buildz-0.7.2}/buildz/cachez/__init__.py +0 -0
  65. {buildz-0.7.1 → buildz-0.7.2}/buildz/cachez/cache.py +0 -0
  66. {buildz-0.7.1 → buildz-0.7.2}/buildz/cmd.py +0 -0
  67. {buildz-0.7.1 → buildz-0.7.2}/buildz/confz.py +0 -0
  68. {buildz-0.7.1 → buildz-0.7.2}/buildz/db/__init__.py +0 -0
  69. {buildz-0.7.1 → buildz-0.7.2}/buildz/db/__main__.py +0 -0
  70. {buildz-0.7.1 → buildz-0.7.2}/buildz/db/dv/__init__.py +0 -0
  71. {buildz-0.7.1 → buildz-0.7.2}/buildz/db/dv/basez.py +0 -0
  72. {buildz-0.7.1 → buildz-0.7.2}/buildz/db/dv/clickhousez.py +0 -0
  73. {buildz-0.7.1 → buildz-0.7.2}/buildz/db/dv/lib/readme +0 -0
  74. {buildz-0.7.1 → buildz-0.7.2}/buildz/db/dv/mysqlz.py +0 -0
  75. {buildz-0.7.1 → buildz-0.7.2}/buildz/db/dv/oraclez.py +0 -0
  76. {buildz-0.7.1 → buildz-0.7.2}/buildz/db/dv/orm.py +0 -0
  77. {buildz-0.7.1 → buildz-0.7.2}/buildz/db/dv/postgresqlz.py +0 -0
  78. {buildz-0.7.1 → buildz-0.7.2}/buildz/db/dv/sqlite3z.py +0 -0
  79. {buildz-0.7.1 → buildz-0.7.2}/buildz/db/dv/structz.py +0 -0
  80. {buildz-0.7.1 → buildz-0.7.2}/buildz/db/install.txt +0 -0
  81. {buildz-0.7.1 → buildz-0.7.2}/buildz/db/run.conf +0 -0
  82. {buildz-0.7.1 → buildz-0.7.2}/buildz/db/runz.py +0 -0
  83. {buildz-0.7.1 → buildz-0.7.2}/buildz/db/tls.py +0 -0
  84. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/ioc/deal.py +0 -0
  85. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/ioc/help.py +0 -0
  86. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/myers/deal.py +0 -0
  87. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/myers/help.py +0 -0
  88. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/res/conf/ioc.js +0 -0
  89. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/res/conf/main.js +0 -0
  90. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/res/conf/myers.js +0 -0
  91. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/res/conf/search.js +0 -0
  92. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/res/conf/xf.js +0 -0
  93. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/res/help/default.js +0 -0
  94. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/res/help/ioc.js +0 -0
  95. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/res/help/myers.js +0 -0
  96. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/res/help/search.js +0 -0
  97. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/res/help/xf.js +0 -0
  98. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/res/test.js +0 -0
  99. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/search/deal.py +0 -0
  100. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/search/help.py +0 -0
  101. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/test.py +0 -0
  102. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/xf/deal.py +0 -0
  103. {buildz-0.7.1 → buildz-0.7.2}/buildz/demo/xf/help.py +0 -0
  104. {buildz-0.7.1 → buildz-0.7.2}/buildz/dz/__init__.py +0 -0
  105. {buildz-0.7.1 → buildz-0.7.2}/buildz/dz/mapz.py +0 -0
  106. {buildz-0.7.1 → buildz-0.7.2}/buildz/evalz/__init__.py +0 -0
  107. {buildz-0.7.1 → buildz-0.7.2}/buildz/evalz/evalz.py +0 -0
  108. {buildz-0.7.1 → buildz-0.7.2}/buildz/evalz/res/default.js +0 -0
  109. {buildz-0.7.1 → buildz-0.7.2}/buildz/evalz/test.py +0 -0
  110. {buildz-0.7.1 → buildz-0.7.2}/buildz/fz/__init__.py +0 -0
  111. {buildz-0.7.1 → buildz-0.7.2}/buildz/fz/dirz.py +0 -0
  112. {buildz-0.7.1 → buildz-0.7.2}/buildz/fz/fhs.py +0 -0
  113. {buildz-0.7.1 → buildz-0.7.2}/buildz/fz/fio.py +0 -0
  114. {buildz-0.7.1 → buildz-0.7.2}/buildz/fz/lsf.py +0 -0
  115. {buildz-0.7.1 → buildz-0.7.2}/buildz/gpuz/test/analyze.py +0 -0
  116. {buildz-0.7.1 → buildz-0.7.2}/buildz/gpuz/test/demo.py +0 -0
  117. {buildz-0.7.1 → buildz-0.7.2}/buildz/gpuz/test/take_gpu_mem.py +0 -0
  118. {buildz-0.7.1 → buildz-0.7.2}/buildz/gpuz/test/test_atten_demo.py +0 -0
  119. {buildz-0.7.1 → buildz-0.7.2}/buildz/gpuz/test/test_linear_demo.py +0 -0
  120. {buildz-0.7.1 → buildz-0.7.2}/buildz/gpuz/test/test_multi_demo.py +0 -0
  121. {buildz-0.7.1 → buildz-0.7.2}/buildz/gpuz/test/test_resnet_demo.py +0 -0
  122. {buildz-0.7.1 → buildz-0.7.2}/buildz/gpuz/torch/__init__.py +0 -0
  123. {buildz-0.7.1 → buildz-0.7.2}/buildz/gpuz/torch/seq_middle.py +0 -0
  124. {buildz-0.7.1 → buildz-0.7.2}/buildz/html/__init__.py +0 -0
  125. {buildz-0.7.1 → buildz-0.7.2}/buildz/html/test/demo.html +0 -0
  126. {buildz-0.7.1 → buildz-0.7.2}/buildz/html/test/test.py +0 -0
  127. {buildz-0.7.1 → buildz-0.7.2}/buildz/html/xml.py +0 -0
  128. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/__init__.py +0 -0
  129. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/base.py +0 -0
  130. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/init.py +0 -0
  131. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc/base.py +0 -0
  132. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc/conf.py +0 -0
  133. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc/confs.py +0 -0
  134. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc/decorator.py +0 -0
  135. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc/loads.py +0 -0
  136. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc/single.py +0 -0
  137. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/base.py +0 -0
  138. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/branch.py +0 -0
  139. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/call.py +0 -0
  140. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/calls.py +0 -0
  141. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/branch_lists.js +0 -0
  142. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/call_defaults.js +0 -0
  143. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/call_lists.js +0 -0
  144. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/calls_defaults.js +0 -0
  145. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/calls_lists.js +0 -0
  146. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/deal_lists.js +0 -0
  147. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/deals.js +0 -0
  148. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/env_lists.js +0 -0
  149. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/ioc_lists.js +0 -0
  150. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/iocf_lists.js +0 -0
  151. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/join_lists.js +0 -0
  152. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/list_lists.js +0 -0
  153. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/map_lists.js +0 -0
  154. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/mcall_defaults.js +0 -0
  155. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/mcall_lists.js +0 -0
  156. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/obj_cst_lists.js +0 -0
  157. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/obj_defaults.js +0 -0
  158. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/obj_lists.js +0 -0
  159. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/obj_set_lists.js +0 -0
  160. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/ovar_lists.js +0 -0
  161. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/ref_lists.js +0 -0
  162. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/refs_lists.js +0 -0
  163. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/var_lists.js +0 -0
  164. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/xfile_defaults.js +0 -0
  165. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/conf/xfile_lists.js +0 -0
  166. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/deal.py +0 -0
  167. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/demo.py +0 -0
  168. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/env.py +0 -0
  169. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/init.py +0 -0
  170. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/ioc.py +0 -0
  171. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/iocf.py +0 -0
  172. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/join.py +0 -0
  173. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/list.py +0 -0
  174. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/map.py +0 -0
  175. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/mcall.py +0 -0
  176. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/obj.py +0 -0
  177. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/ovar.py +0 -0
  178. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/ref.py +0 -0
  179. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/refs.py +0 -0
  180. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/val.py +0 -0
  181. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/var.py +0 -0
  182. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/ioc_deal/xfile.py +0 -0
  183. {buildz-0.7.1 → buildz-0.7.2}/buildz/ioc/wrap.py +0 -0
  184. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/base.py +0 -0
  185. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/conf/base.py +0 -0
  186. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/conf/conf.py +0 -0
  187. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/conf/mg.py +0 -0
  188. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/conf/unit.py +0 -0
  189. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/conf/up.py +0 -0
  190. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/conf_deal/attr.py +0 -0
  191. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/conf_deal/base.py +0 -0
  192. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/conf_deal/call.py +0 -0
  193. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/conf_deal/cvar.py +0 -0
  194. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/conf_deal/deal.py +0 -0
  195. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/conf_deal/env.py +0 -0
  196. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/conf_deal/ioc.py +0 -0
  197. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/conf_deal/method.py +0 -0
  198. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/conf_deal/obj.py +0 -0
  199. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/conf_deal/ref.py +0 -0
  200. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/conf_deal/val.py +0 -0
  201. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/init.py +0 -0
  202. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/__init__.py +0 -0
  203. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/base.py +0 -0
  204. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/builds.py +0 -0
  205. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/confs.py +0 -0
  206. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/datas.py +0 -0
  207. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/dataset.py +0 -0
  208. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/encapes.py +0 -0
  209. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/envs.py +0 -0
  210. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/ids.py +0 -0
  211. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/init.py +0 -0
  212. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/mg.py +0 -0
  213. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/single.py +0 -0
  214. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/sys_envs.py +0 -0
  215. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/tdata.py +0 -0
  216. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/tdict.py +0 -0
  217. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/unit.py +0 -0
  218. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc/vars.py +0 -0
  219. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc_deal/base.py +0 -0
  220. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc_deal/deal.py +0 -0
  221. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc_deal/ioc.py +0 -0
  222. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc_deal/obj.py +0 -0
  223. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc_deal/ref.py +0 -0
  224. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/ioc_deal/val.py +0 -0
  225. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/test/test.py +0 -0
  226. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/wrap/base.py +0 -0
  227. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/wrap/default_wraps.py +0 -0
  228. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/wrap/env.py +0 -0
  229. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/wrap/obj.py +0 -0
  230. {buildz-0.7.1 → buildz-0.7.2}/buildz/iocz/wrap/wraps.py +0 -0
  231. {buildz-0.7.1 → buildz-0.7.2}/buildz/logz.py +0 -0
  232. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/__init__.py +0 -0
  233. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/mhttp/__init__.py +0 -0
  234. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/mhttp/caps.py +0 -0
  235. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/mhttp/mhttps.py +0 -0
  236. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/sslz/__init__.py +0 -0
  237. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/sslz/gen.py +0 -0
  238. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/sslz/gen.pyi +0 -0
  239. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/tcp/__init__.py +0 -0
  240. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/tcp/__main__.py +0 -0
  241. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/test/__main__.py +0 -0
  242. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/test/test.py +0 -0
  243. {buildz-0.7.1 → buildz-0.7.2}/buildz/netz/test/test_cli.py +0 -0
  244. {buildz-0.7.1 → buildz-0.7.2}/buildz/pathz.py +0 -0
  245. {buildz-0.7.1 → buildz-0.7.2}/buildz/pyz.py +0 -0
  246. {buildz-0.7.1 → buildz-0.7.2}/buildz/tls.py +0 -0
  247. {buildz-0.7.1 → buildz-0.7.2}/buildz/tools.py +0 -0
  248. {buildz-0.7.1 → buildz-0.7.2}/buildz/tz/__init__.py +0 -0
  249. {buildz-0.7.1 → buildz-0.7.2}/buildz/tz/myers_diff.py +0 -0
  250. {buildz-0.7.1 → buildz-0.7.2}/buildz/tz/test_xfind.py +0 -0
  251. {buildz-0.7.1 → buildz-0.7.2}/buildz/tz/time/__init__.py +0 -0
  252. {buildz-0.7.1 → buildz-0.7.2}/buildz/tz/time/timez.py +0 -0
  253. {buildz-0.7.1 → buildz-0.7.2}/buildz/tz/tio/__init__.py +0 -0
  254. {buildz-0.7.1 → buildz-0.7.2}/buildz/tz/tio/base.py +0 -0
  255. {buildz-0.7.1 → buildz-0.7.2}/buildz/tz/tio/getch.py +0 -0
  256. {buildz-0.7.1 → buildz-0.7.2}/buildz/tz/tio/lx.py +0 -0
  257. {buildz-0.7.1 → buildz-0.7.2}/buildz/tz/tio/test.py +0 -0
  258. {buildz-0.7.1 → buildz-0.7.2}/buildz/tz/tio/win.py +0 -0
  259. {buildz-0.7.1 → buildz-0.7.2}/buildz/tz/xfind.py +0 -0
  260. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/__init__.py +0 -0
  261. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/__main__.py +0 -0
  262. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/base.py +0 -0
  263. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/code.py +0 -0
  264. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/code_modify.py +0 -0
  265. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/copy_old.py +0 -0
  266. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/file.py +0 -0
  267. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loader/base.py +0 -0
  268. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loader/buffer.py +0 -0
  269. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loader/deal/listz.py +0 -0
  270. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loader/deal/lr.py +0 -0
  271. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loader/deal/lrval.py +0 -0
  272. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loader/deal/mapz.py +0 -0
  273. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loader/deal/nextz.py +0 -0
  274. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loader/deal/reval.py +0 -0
  275. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loader/deal/setz.py +0 -0
  276. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loader/deal/spc.py +0 -0
  277. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loader/deal/spt.py +0 -0
  278. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loader/deal/strz.py +0 -0
  279. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loader/exp.py +0 -0
  280. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loader/item.py +0 -0
  281. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loader/mg.py +0 -0
  282. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loader/pos.py +0 -0
  283. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/base.py +0 -0
  284. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/buffer.py +0 -0
  285. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/deal/listmapz.py +0 -0
  286. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/deal/listz.py +0 -0
  287. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/deal/lr.py +0 -0
  288. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/deal/lrval.py +0 -0
  289. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/deal/mapz.py +0 -0
  290. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/deal/nextz.py +0 -0
  291. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/deal/reval.py +0 -0
  292. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/deal/setz.py +0 -0
  293. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/deal/spc.py +0 -0
  294. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/deal/spt.py +0 -0
  295. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/deal/strz.py +0 -0
  296. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/deal/strz_new.py +0 -0
  297. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/deal/strz_old.py +0 -0
  298. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/exp.py +0 -0
  299. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/item.py +0 -0
  300. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/mg.py +0 -0
  301. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/pos.py +0 -0
  302. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/test.py +0 -0
  303. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz/test1.py +0 -0
  304. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/base.py +0 -0
  305. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/buffer.py +0 -0
  306. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/deal/listmapz.py +0 -0
  307. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/deal/listz.py +0 -0
  308. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/deal/lr.py +0 -0
  309. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/deal/lrval.py +0 -0
  310. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/deal/mapz.py +0 -0
  311. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/deal/nextz.py +0 -0
  312. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/deal/reval.py +0 -0
  313. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/deal/setz.py +0 -0
  314. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/deal/spc.py +0 -0
  315. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/deal/spt.py +0 -0
  316. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/deal/strz.py +0 -0
  317. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/deal/strz_new.py +0 -0
  318. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/deal/strz_old.py +0 -0
  319. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/exp.py +0 -0
  320. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/item.py +0 -0
  321. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/mg.py +0 -0
  322. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/pos.py +0 -0
  323. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/test.py +0 -0
  324. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/loaderz_nexp/test1.py +0 -0
  325. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/mapz.py +0 -0
  326. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/read.py +0 -0
  327. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/readz.py +0 -0
  328. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/readz_nexp.py +0 -0
  329. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/stack.py +0 -0
  330. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/write.py +0 -0
  331. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writer/base.py +0 -0
  332. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writer/conf.py +0 -0
  333. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writer/deal/jsonval.py +0 -0
  334. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writer/deal/listmapz.py +0 -0
  335. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writer/deal/listz.py +0 -0
  336. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writer/deal/mapz.py +0 -0
  337. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writer/deal/reval.py +0 -0
  338. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writer/deal/strz.py +0 -0
  339. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writer/itemz.py +0 -0
  340. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writer/mg.py +0 -0
  341. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writerz/base.py +0 -0
  342. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writerz/conf.py +0 -0
  343. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writerz/deal/jsonval.py +0 -0
  344. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writerz/deal/listmapz.py +0 -0
  345. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writerz/deal/listz.py +0 -0
  346. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writerz/deal/mapz.py +0 -0
  347. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writerz/deal/reval.py +0 -0
  348. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writerz/deal/strz.py +0 -0
  349. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writerz/itemz.py +0 -0
  350. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writerz/mg.py +0 -0
  351. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writerz/test.py +0 -0
  352. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writerz/testx.py +0 -0
  353. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/writez.py +0 -0
  354. {buildz-0.7.1 → buildz-0.7.2}/buildz/xf/xargs.py +0 -0
  355. {buildz-0.7.1 → buildz-0.7.2}/buildz/xz/__init__.py +0 -0
  356. {buildz-0.7.1 → buildz-0.7.2}/buildz/xz/conf.js +0 -0
  357. {buildz-0.7.1 → buildz-0.7.2}/buildz/xz/data.js +0 -0
  358. {buildz-0.7.1 → buildz-0.7.2}/buildz/xz/test.py +0 -0
  359. {buildz-0.7.1 → buildz-0.7.2}/buildz/xz/trs.py +0 -0
  360. {buildz-0.7.1 → buildz-0.7.2}/buildz.egg-info/SOURCES.txt +0 -0
  361. {buildz-0.7.1 → buildz-0.7.2}/buildz.egg-info/dependency_links.txt +0 -0
  362. {buildz-0.7.1 → buildz-0.7.2}/buildz.egg-info/top_level.txt +0 -0
  363. {buildz-0.7.1 → buildz-0.7.2}/notes/notes.txt +0 -0
  364. {buildz-0.7.1 → buildz-0.7.2}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.7.1
3
+ Version: 0.7.2
4
4
  Summary: 配置读写(基于json格式进行简化)、ioc、以及其他工具代码。a json-base file format's read and write code by python, and codes to read and product object from configure file in such format(ioc), and other tool codes
5
5
  Home-page: https://github.com/buildCodeZ/buildz
6
6
  Author: Zzz
@@ -16,6 +16,13 @@ License-File: LICENSE
16
16
  禁止将本项目代码用于ai训练
17
17
  declaration:
18
18
  Codes of this project are not allowed to be used for AI training or any other form of machine learning processes.
19
+
20
+ 使用此代码库发现bug或者有需求需要开发都可联系(QQ或邮箱联系,QQ就是邮箱号)
21
+
22
+ 邮箱1:1174534295@qq.com
23
+
24
+ 邮箱2:1309458652@qq.com
25
+
19
26
  ```
20
27
  1,在json格式基础上加了点东西,让配置文件写起来更简单,模块在buildz.xf下
21
28
  2,基于xf格式写了个ioc控制反转配置文件读取的程序,模块在buildz.ioc下
@@ -3,6 +3,13 @@
3
3
  禁止将本项目代码用于ai训练
4
4
  declaration:
5
5
  Codes of this project are not allowed to be used for AI training or any other form of machine learning processes.
6
+
7
+ 使用此代码库发现bug或者有需求需要开发都可联系(QQ或邮箱联系,QQ就是邮箱号)
8
+
9
+ 邮箱1:1174534295@qq.com
10
+
11
+ 邮箱2:1309458652@qq.com
12
+
6
13
  ```
7
14
  1,在json格式基础上加了点东西,让配置文件写起来更简单,模块在buildz.xf下
8
15
  2,基于xf格式写了个ioc控制反转配置文件读取的程序,模块在buildz.ioc下
@@ -0,0 +1,25 @@
1
+ #coding=utf-8
2
+
3
+ __version__="0.7.2"
4
+
5
+ # 小号多
6
+ __author__ = "Zzz, emails: 1174534295@qq.com, 1309458652@qq.com"
7
+ __doc__ = '''
8
+ 使用此代码库发现bug或者有需求需要开发都可联系(QQ或邮箱联系,QQ就是邮箱号)
9
+ buildz.xf: 简化的json
10
+ buildz.xz: 简化对dict和list的读写
11
+ buildz.ioc, buildz.iocz: ioc注入
12
+ buildz.netz: 网络相关,包括ssl证书生成,正反向代理,端口映射,抓包
13
+ buildz.db: SQL脚本处理工具,基于其他SQL处理库做了使用简化
14
+ buildz.html: html文本处理
15
+ buildz.gpuz: 机器学习用内存做显存的模型缓存,目前只写了基于pytorch的工具,测试卷积和注意力的效果还行
16
+ buildz.fz: 文件处理
17
+ buildz.auto: 自动化测试
18
+ buildz.logz: 简单的日志工具
19
+ buildz.pyz: 简化python系统相关调用
20
+ buildz.base: 简化python类代码编写
21
+ buildz.pathz: 简化文件路径相关的代码编写
22
+ '''
23
+
24
+ from .argx import fetch as args
25
+ from .base import Base, WBase
@@ -1,6 +1,6 @@
1
1
 
2
2
  测试结果:
3
- 结论是:大概能达到纯显卡(75W,更高的没测)二分之一或三分之一的性能,显存不够的可以用用,主要是卷积层,卷积层cpu计算耗时很大,并且神经网络参数相对较少,线性层感觉cpu和显卡本来就差不太多
3
+ 训练模式大概能达到纯显卡(75W,更高的没测)二分之一或三分之一的性能,显存不够的可以用用
4
4
 
5
5
  环境:
6
6
  笔记本(游戏本)
@@ -78,6 +78,7 @@ Analyze
78
78
  mean time cost using CPU: 16.668074309825897 sec
79
79
  显存扣掉3GB
80
80
  python -m buildz.gpuz.test.take_gpu_mem 12
81
+ python -m buildz.gpuz.test.test_resnet_demo train cuda,cache,cpu
81
82
  No Used DictCache
82
83
  train: 0 mean loss: 7.049219369888306 time: 32.67351007461548
83
84
  train: 1 mean loss: 6.776383876800537 time: 26.468174934387207
@@ -99,8 +100,8 @@ Analyze
99
100
  mean time cost using CPU: 6.312976717948914 sec
100
101
 
101
102
 
102
- 如果是注意力、卷积和线性层混合模型,测试模式,并且显卡不够,建议注意力和卷积全放显存,线性层全放内存,线性层显卡和CPU差距不大
103
+ 如果是测试模式,显存不够的时候,可以部分模型全放显存,部分全放内存,建议是卷积和注意力多放显存,线性层多放内存,因为线性层占用空间大
103
104
  convs = [...]
104
105
  linears = [...]
105
- cache = DictCache(dvs_nets = [convs, linears])
106
+ cache = DictCache(dvs=[torch.device('cuda'), torch.device('cpu')], dvs_nets = [convs, linears])
106
107
  ...
@@ -16,9 +16,14 @@ pass
16
16
  class DictCache(Base):
17
17
  '''
18
18
  用处:显存不够的时候,可以用本代码框架,代码会在forward和backward的时候自动把nets列表里需要计算的模型放入显存,不需要计算的放到内存,需要进行卷积训练的时候用处比较大(卷积计算显卡比CPU强太多)
19
- 使用本框架需要传入手动拆分成多个小模型的模型列表nets
19
+ 暂不支持多显卡,因为开发者的电脑没有多显卡
20
+ DictCache实际提供两个功能:
21
+ 1,缓存功能:模型需要使用的时候放显存,不需要的时候放内存
22
+ 2,部分模型全放显存,部分模型全放内存,DictCache内部做传入数据的显存和内存的转换
23
+ 两个功能可以同时使用,即部分模型用的时候放显存,不用的时候放内存,部分模型全放显存,部分模型全放内存
24
+ 使用本框架需要使用者手动把模型拆成多个小模型,把小模型列表nets传入DictCache
20
25
  训练时大概有纯显卡二分之一到三分之一的性能,起码比CPU好,尤其是进行卷积计算,比cpu好太多
21
- 训练完使用时的线性层则比CPU还慢,但卷积还是比CPU好,所以非训练情况下,线性层最好都放gpu或cpu
26
+ 训练完使用时的线性层则比CPU还慢,感觉没必要用,不过DictCache也提供了部分模型全放显存,部分模型全放内存的功能,显存不够的时候可以使用
22
27
  DictCache里的Dict意思是传入的模型列表nets会存字典里,Cache就是用内存作为显存的缓存
23
28
  代码实现原理是利用pytorch的几个勾子函数:
24
29
  model.register_forward_pre_hook会在模型forward之前调用
@@ -29,6 +34,7 @@ class DictCache(Base):
29
34
  hook_unpack是在反向梯度计算的时候取回forward存储的tensor
30
35
  代码例子:
31
36
  code in buildz.gpuz.test.demo:
37
+
32
38
  from buildz.gpuz.torch import DictCache
33
39
  import torch
34
40
  from torch import nn,optim
@@ -69,6 +75,7 @@ class DictCache(Base):
69
75
  torch.nn.utils.clip_grad_norm_(net.parameters(), max_norm=1.0)
70
76
  opt.step()
71
77
  cache = DictCache([torch.device('cuda'), torch.device('cpu')],models,opts,3,opt_step, [cuda_models,cpu_models])
78
+
72
79
  # 训练:
73
80
  [md.train() for md in models]
74
81
  for inputs,targets in dataloader:
@@ -84,6 +91,7 @@ class DictCache(Base):
84
91
  with torch.no_grad():
85
92
  outputs = cache.do_forward(lambda:real_model(inputs))
86
93
  print(outputs)
94
+
87
95
  # 对比不用DictCache的时候
88
96
  # 注意:模型放入DictCache之后会挂上勾子函数,不再用DictCache的时要先调用DictCache的remove方法
89
97
  cache.remove()
@@ -100,7 +108,6 @@ class DictCache(Base):
100
108
  torch.nn.utils.clip_grad_norm_(real_model.parameters(), max_norm=1.0)
101
109
  full_opt.step()
102
110
  print(loss.item())
103
-
104
111
  # 测试:
105
112
  inputs = torch.rand(1, dims).cuda()
106
113
  with torch.no_grad():
@@ -0,0 +1,6 @@
1
+ #
2
+
3
+ '''
4
+ buildz.ioc代码重构,感觉原代码变得复杂不好扩展,或者扩展起来感觉难受的时候,就会想要进行结构化重构
5
+ '''
6
+ from .init import *
@@ -79,7 +79,7 @@ class GWDealer(proxy.ProxyDealer):
79
79
 
80
80
  class Gateway(proxy.Proxy):
81
81
  '''
82
- 类似nginx的前向代理
82
+ 类似nginx的反向代理
83
83
  '''
84
84
  def init(self, addr, rules, fp_cert=None, fp_prv=None, password = None,listen=5, record=None, cafile=None, capath=None, cadata=None,check_hostname=True):
85
85
  super().init(addr, listen, record)
@@ -87,7 +87,7 @@ def http_encode_send(http_type, url, headers=None, data_size=0, protocol = "HTTP
87
87
  port = 0
88
88
  if len(addrs)>1:
89
89
  port = int(addrs[1])
90
- quest= f"{http_type.upper()} {url} {protocol}".encode("utf-8") #HTTPS TODO
90
+ quest= f"{http_type.upper()} {url} {protocol}".encode("utf-8")
91
91
  if headers is None:
92
92
  headers = {}
93
93
  if 'Host' not in headers:
@@ -103,8 +103,8 @@ pass
103
103
  def chunked_encode(data):
104
104
  n = hex(len(data))[2:].encode()
105
105
  return n+b"\r\n"+data+b"\r\n"
106
- def readable(skt):
107
- (rlist,wlist,elist)=select.select([skt],[],[],0)
106
+ def readable(skt,timeout=0):
107
+ (rlist,wlist,elist)=select.select([skt],[],[],timeout)
108
108
  return len(rlist)>0
109
109
  def chunked_data(skt):
110
110
  dt = skt.readline().strip().decode()
@@ -250,4 +250,4 @@ class HttpMonitor(Base):
250
250
  if n==0:
251
251
  break
252
252
  fc_done()
253
- return bak
253
+ return line, headers, data
@@ -49,7 +49,6 @@ class ProxyDealer(Base):
49
49
  self.record.response(line, headers, data_size)
50
50
  protocol, code, rsp_text = line
51
51
  bts = mhttp.http_encode_rsp(code, rsp_text, headers, data_size, protocol)
52
- print(f"[TESTZ] bts send: {bts}")
53
52
  skt_cli.send(bts)
54
53
  if data_size>0:
55
54
  data = skt.read(data_size)
@@ -166,15 +165,20 @@ class Proxy(Base):
166
165
  self.skt.close()
167
166
  def make_dealer(self, skt, addr):
168
167
  return ProxyDealer(skt, record=self.record.clone())
169
- def call(self):
168
+ def call(self, wait_time=0.1):
170
169
  self.running=True
171
170
  skt = socket.socket()
172
171
  skt.bind(self.addr)
173
172
  skt.listen(self.listen)
174
173
  self.skt = skt
175
- while self.running:
176
- skt,addr = self.skt.accept()
177
- deal = self.make_dealer(skt, addr)
178
- th = threading.Thread(target=deal,daemon=True)
179
- th.start()
180
- self.ths.append(th)
174
+ try:
175
+ while self.running:
176
+ while not mhttp.readable(self.skt,wait_time):
177
+ pass
178
+ skt,addr = self.skt.accept()
179
+ deal = self.make_dealer(skt, addr)
180
+ th = threading.Thread(target=deal,daemon=True)
181
+ th.start()
182
+ self.ths.append(th)
183
+ finally:
184
+ self.close()
@@ -6,6 +6,12 @@ class MsgRecord(Base):
6
6
  要多线程安全,可以考虑:
7
7
  1,修改clone方法,新建一个MsgRecord实例而非返回self,并且自己加锁
8
8
  2,通过threading.current_thread().ident获取线程id,然后做相应处理
9
+ 需要实现的方法:
10
+ _start: 新的请求/响应报文进来时调用,传入头部信息等
11
+ _add: 传入报文体数据
12
+ _add_chunk: 传入chunk数据
13
+ _finish: 请求/响应报文数据已全部传入,看是否需要做什么处理
14
+ 实现可参考MsgLog
9
15
  """
10
16
  TypeReq ="request"
11
17
  TypeRsp = "response"
@@ -17,6 +23,10 @@ class MsgRecord(Base):
17
23
  self.ssl = False
18
24
  self.ssl_update()
19
25
  def set_ssl(self, ssl=True):
26
+ '''
27
+ 声明当前连接转ssl或者从ssl转tcp,看是否需要在ssl_update做什么处理
28
+ 不管连接是ssl还是tcp,传入start,add,add_chunk方法里的数据都是明文
29
+ '''
20
30
  self.ssl = ssl
21
31
  self.ssl_update()
22
32
  def start(self, msg_type, line, headers, data_size):
@@ -47,7 +57,7 @@ class MsgRecord(Base):
47
57
  protocol: 应该都是HTTP/1.1或HTTP/1.0
48
58
  code: 响应数据编码,200、404等
49
59
  rsp_text: 响应数据文本, OK, Not Found等
50
- headers: http头部信息
60
+ headers: http头部信息, dict(字典)数据
51
61
  data_size: 当前报文的报文体数据大小(不包括chunk部分)
52
62
  """
53
63
  pass
@@ -17,11 +17,11 @@ class MiddleServer(Base):
17
17
  self.running = False
18
18
  self.wait = wait
19
19
  self.pairs = {}
20
- self.lock = threading.Lock()
20
+ #self.lock = threading.Lock()
21
21
  def close_pair(self, a, b):
22
- with self.lock:
23
- del self.pairs[id(a)]
24
- del self.pairs[id(b)]
22
+ #with self.lock:
23
+ del self.pairs[id(a)]
24
+ del self.pairs[id(b)]
25
25
  log("close").info(f"pair {a.getpeername()}, {b.getpeername()} close")
26
26
  for c in (a,b):
27
27
  try:
@@ -42,17 +42,9 @@ class MiddleServer(Base):
42
42
  log.warn(f"traceback: {traceback.format_exc()}")
43
43
  self.close_pair(skt_read, skt_write)
44
44
  def connects(self):
45
- with self.lock:
46
- arr = [v[0] for k,v in self.pairs.items()]
45
+ #with self.lock:
46
+ arr = [v[0] for k,v in self.pairs.items()]
47
47
  return arr
48
- def deals(self):
49
- while self.running:
50
- if len(self.pairs)==0:
51
- time.sleep(self.wait)
52
- continue
53
- (rlist,wlist,elist)=select.select(self.connects(),[],[],0)
54
- for skt in rlist:
55
- self.deal(skt)
56
48
  def add(self, skt_cli, addr):
57
49
  try:
58
50
  skt_srv = socket.socket()
@@ -63,20 +55,35 @@ class MiddleServer(Base):
63
55
  skt_cli.close()
64
56
  return
65
57
  log("connect").info(f"build pair from {skt_cli.getpeername()} to {skt_srv.getpeername()}")
66
- with self.lock:
67
- self.pairs[id(skt_cli)] = (skt_cli, skt_srv)
68
- self.pairs[id(skt_srv)] = (skt_srv, skt_cli)
58
+ #with self.lock:
59
+ self.pairs[id(skt_cli)] = (skt_cli, skt_srv)
60
+ self.pairs[id(skt_srv)] = (skt_srv, skt_cli)
69
61
  def call(self, fc_stop = None):
70
- if fc_stop is None:
71
- fc_stop = lambda :False
72
62
  self.running=True
73
- threading.Thread(target=self.waits,daemon=True).start()
74
- threading.Thread(target=self.deals,daemon=True).start()
75
- try:
76
- while not fc_stop():
77
- time.sleep(1.0)
78
- finally:
79
- self.running=False
63
+ if fc_stop is None:
64
+ return self.waits_and_deals()
65
+ else:
66
+ threading.Thread(target=self.waits_and_deals,daemon=True).start()
67
+ try:
68
+ while not fc_stop():
69
+ time.sleep(1.0)
70
+ finally:
71
+ self.running=False
72
+ def waits_and_deals(self):
73
+ skt = socket.socket()
74
+ skt.bind(self.addr)
75
+ skt.listen(self.listen)
76
+ self.skt = skt
77
+ while self.running:
78
+ skts = self.connects()
79
+ skts.append(self.skt)
80
+ (rlist,wlist,elist)=select.select(skts,[],[],self.wait)
81
+ for skt in rlist:
82
+ if skt == self.skt:
83
+ _skt,addr = self.skt.accept()
84
+ self.add(_skt, addr)
85
+ else:
86
+ self.deal(skt)
80
87
  def waits(self):
81
88
  skt = socket.socket()
82
89
  skt.bind(self.addr)
@@ -85,6 +92,14 @@ class MiddleServer(Base):
85
92
  while self.running:
86
93
  skt,addr = self.skt.accept()
87
94
  self.add(skt, addr)
95
+ def deals(self):
96
+ while self.running:
97
+ if len(self.pairs)==0:
98
+ time.sleep(self.wait)
99
+ continue
100
+ (rlist,wlist,elist)=select.select(self.connects(),[],[],0)
101
+ for skt in rlist:
102
+ self.deal(skt)
88
103
 
89
104
  pass
90
105
 
@@ -31,3 +31,11 @@ def gw():
31
31
  #pyz.lc(locals(), caps)
32
32
  pyz.lc(locals(), gw)
33
33
 
34
+ '''
35
+ cli:
36
+ import requests as rq
37
+ url="http://127.0.0.1:9999/baidu"
38
+ rp = rq.get(url)
39
+ print(rp)
40
+
41
+ '''
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: buildz
3
- Version: 0.7.1
3
+ Version: 0.7.2
4
4
  Summary: 配置读写(基于json格式进行简化)、ioc、以及其他工具代码。a json-base file format's read and write code by python, and codes to read and product object from configure file in such format(ioc), and other tool codes
5
5
  Home-page: https://github.com/buildCodeZ/buildz
6
6
  Author: Zzz
@@ -16,6 +16,13 @@ License-File: LICENSE
16
16
  禁止将本项目代码用于ai训练
17
17
  declaration:
18
18
  Codes of this project are not allowed to be used for AI training or any other form of machine learning processes.
19
+
20
+ 使用此代码库发现bug或者有需求需要开发都可联系(QQ或邮箱联系,QQ就是邮箱号)
21
+
22
+ 邮箱1:1174534295@qq.com
23
+
24
+ 邮箱2:1309458652@qq.com
25
+
19
26
  ```
20
27
  1,在json格式基础上加了点东西,让配置文件写起来更简单,模块在buildz.xf下
21
28
  2,基于xf格式写了个ioc控制反转配置文件读取的程序,模块在buildz.ioc下
@@ -7,7 +7,7 @@ from setuptools import setup, find_packages
7
7
 
8
8
  setup(
9
9
  name = 'buildz',
10
- version = '0.7.1',
10
+ version = '0.7.2',
11
11
  keywords='buildz',
12
12
  long_description=open('README.md', 'r', encoding="utf-8").read(),
13
13
  long_description_content_type='text/markdown',
@@ -1,9 +0,0 @@
1
- #coding=utf-8
2
-
3
- __version__="0.7.0"
4
-
5
- # 小号多
6
- __author__ = "Zzz, emails: 1174534295@qq.com, 1309458652@qq.com"
7
-
8
- from .argx import fetch as args
9
- from .base import Base, WBase
@@ -1,3 +0,0 @@
1
- #
2
-
3
- from .init import *
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes