You can not select more than 25 topics Topics must start with a chinese character,a letter or number, can include dashes ('-') and can be up to 35 characters long.

mgb.i 1.6 kB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970
  1. /*
  2. * $File: mgb.i
  3. *
  4. * This file is part of MegBrain, a deep learning framework developed by Megvii.
  5. *
  6. * $Copyright: Copyright (c) 2014-2017 Megvii Inc. All rights reserved.
  7. */
  8. %include "symbol_var_array.i"
  9. %include "mgb_exception.i"
  10. %module(directors="1") mgb
  11. %{
  12. #define SWIG_FILE_WITH_INIT 1
  13. void mgb_init_numpy(); // implemented in python_helper.cpp
  14. void _init_intbx_types(PyObject *m); // implemented in intbx.cpp
  15. void _init_bfloat16_types(PyObject *m); // implemented in bfloat16.cpp
  16. %}
  17. %init %{
  18. mgb_init_numpy();
  19. _init_intbx_types(m);
  20. _init_bfloat16_types(m);
  21. %}
  22. %include "std_vector.i"
  23. %include "std_pair.i"
  24. %include "stdint.i"
  25. %template(_VectorSizeT) std::vector<size_t>;
  26. %template(_VectorInt) std::vector<int>;
  27. %template(_VectorString) std::vector<std::string>;
  28. %template(_PairStringSizeT) std::pair<std::string, size_t>;
  29. %template(_VectorPairUint64String) std::vector<std::pair<uint64_t, std::string>>;
  30. %pythoncode %{
  31. import numpy as np
  32. import os
  33. import threading
  34. intb1 = _mgb.intb1
  35. intb2 = _mgb.intb2
  36. intb4 = _mgb.intb4
  37. bfloat16 = _mgb.bfloat16
  38. %}
  39. %{
  40. #include "megbrain/comp_node.h"
  41. #include "megbrain/tensor.h"
  42. #include "megbrain/graph.h"
  43. #include "megbrain_wrap.h"
  44. #include "megbrain_config.h"
  45. #include "megbrain_serialize.h"
  46. #include "plugin.h"
  47. %}
  48. %include "megbrain_build_config.h"
  49. %include "comp_node.i"
  50. %include "comp_graph.i"
  51. %include "symbol_var.i"
  52. %include "shared_nd.i"
  53. %include "../cpp/megbrain_config.h"
  54. %include "callback.i"
  55. %include "operator.i"
  56. %include "craniotome.i"
  57. %include "misc.i"
  58. %include "loop.i"
  59. %include "../cpp/megbrain_serialize.h"
  60. %include "../cpp/plugin.h"
  61. // vim: ft=swig

MegEngine 安装包中集成了使用 GPU 运行代码所需的 CUDA 环境,不用区分 CPU 和 GPU 版。 如果想要运行 GPU 程序,请确保机器本身配有 GPU 硬件设备并安装好驱动。 如果你想体验在云端 GPU 算力平台进行深度学习开发的感觉,欢迎访问 MegStudio 平台