全部产品
云市场
云游戏

PAI-TF第三方库支持

更新时间:2020-02-25 11:55:17

请勿将tensorflow库本身写入requirements.txt,这会导致PAI-TF被临时下载的第三方tensorflow包替换掉,从而无法执行依赖于PAI-TF功能的代码。

自定义三方库的方法

  1. 在源代码的根目录下添加文本文件 requirements.txt,并按照 pip requirement file 格式修改文件内容,示例如下:

requirements.txt

  1. Keras==2.0.8
  2. gensim
  3. torchvision
  4. opencv-python >= 3.2.0.8
  5. ffmpeg-python < 0.1.9

在上面的例子中我们指定安装了 keras 2.0.8 版本,gensimpytorch 的最新版,以及 cv2 3.2.0.8 及以上的版本、ffmpeg 0.1.9 之下的版本。

  1. requirements.txt 与其他源代码一起打包上传,增加在tar.gz文件中

FAQ

  • 使用的 Python 三方库仓库是什么?

PAI Tensorflow 会从 http://yum.tbsite.net/pypi/ 中下载三方库。这个 repository 会定期与 官方 Pypi 进行同步。

  • 我的代码中有一个 requirements.txt,但不是三方库列表,会怎么样?

如果 requirements.txt 的格式不合法,PAI Tensorflow 会把解析错误打印到 stderr 中并退出报错。

  • requirements.txt 的大小有什么限制?

目前 requirements.txt 的大小需要小于 4KB,总行数需要小于 16,否则会退出报错。

  • 如果我需要安装的三方库需要依赖于 rpm 包,该怎么办?

为了安全性和稳定性考虑,目前 PAI Tensorflow 暂不支持用户自定义安装 rpm 包。依赖于 rpm 包的三方库非常少,如果确实有这样的需求,请联系值班同学,我们评估后将在下个月的发布中带上自定义的 rpm 包。

目前已经支持的第三方库列表

  1. appdirs (1.4.3)
  2. backports-abc (0.5)
  3. backports.shutil-get-terminal-size (1.0.0)
  4. backports.ssl-match-hostname (3.5.0.1)
  5. backports.weakref (1.0rc1)
  6. bleach (1.5.0)
  7. boto (2.48.0)
  8. bz2file (0.98)
  9. certifi (2017.7.27.1)
  10. chardet (3.0.4)
  11. configparser (3.5.0)
  12. cycler (0.10.0)
  13. decorator (4.1.2)
  14. docutils (0.14)
  15. easygui (0.98.1)
  16. entrypoints (0.2.3)
  17. enum34 (1.1.6)
  18. funcsigs (1.0.2)
  19. functools32 (3.2.3.post2)
  20. gensim (2.3.0)
  21. h5py (2.7.1)
  22. html5lib (0.9999999)
  23. idna (2.6)
  24. iniparse (0.4)
  25. ipykernel (4.6.1)
  26. ipython (5.4.1)
  27. ipython-genutils (0.2.0)
  28. ipywidgets (7.0.0)
  29. Jinja2 (2.9.6)
  30. jsonschema (2.6.0)
  31. jupyter (1.0.0)
  32. jupyter-client (5.1.0)
  33. jupyter-console (5.2.0)
  34. jupyter-core (4.3.0)
  35. jupyter-tensorboard (0.1.1)
  36. Keras (2.0.8)
  37. kitchen (1.1.1)
  38. langtable (0.0.31)
  39. Markdown (2.6.9)
  40. MarkupSafe (1.0)
  41. matplotlib (2.0.2)
  42. mistune (0.7.4)
  43. mock (2.0.0)
  44. nbconvert (5.3.0)
  45. nbformat (4.4.0)
  46. networkx (1.11)
  47. nose (1.3.7)
  48. notebook (4.4.1)
  49. numpy (1.13.1)
  50. olefile (0.44)
  51. pandas (0.20.3)
  52. pandocfilters (1.4.2)
  53. pathlib2 (2.3.0)
  54. pbr (3.1.1)
  55. pexpect (4.2.1)
  56. pickleshare (0.7.4)
  57. Pillow (4.2.1)
  58. pip (9.0.1)
  59. prompt-toolkit (1.0.15)
  60. protobuf (3.1.0)
  61. ptyprocess (0.5.2)
  62. pycrypto (2.6.1)
  63. pycurl (7.19.0)
  64. Pygments (2.2.0)
  65. pygobject (3.14.0)
  66. pygpgme (0.3)
  67. pyliblzma (0.5.3)
  68. pyparsing (2.2.0)
  69. python-dateutil (2.6.1)
  70. pytz (2017.2)
  71. PyWavelets (0.5.2)
  72. pyxattr (0.5.1)
  73. PyYAML (3.12)
  74. pyzmq (16.0.2)
  75. qtconsole (4.3.1)
  76. requests (2.18.4)
  77. scandir (1.5)
  78. scikit-image (0.13.0)
  79. scikit-learn (0.19.0)
  80. scikit-sound (0.1.8)
  81. scikit-stack (3.0)
  82. scikit-surprise (1.0.3)
  83. scikit-tensor (0.1)
  84. scikit-video (0.1.2)
  85. scipy (0.19.1)
  86. setuptools (36.4.0)
  87. simplegeneric (0.8.1)
  88. singledispatch (3.4.0.3)
  89. six (1.10.0)
  90. slip (0.4.0)
  91. slip.dbus (0.4.0)
  92. smart-open (1.5.3)
  93. subprocess32 (3.2.7)
  94. tensorflow (1.2.1)
  95. terminado (0.6)
  96. testpath (0.3.1)
  97. tflearn (0.3.2)
  98. Theano (0.9.0)
  99. torch (0.1.12.post2)
  100. tornado (4.5.2)
  101. traitlets (4.3.2)
  102. urlgrabber (3.10)
  103. urllib3 (1.22)
  104. wcwidth (0.1.7)
  105. webencodings (0.5.1)
  106. Werkzeug (0.12.2)
  107. wheel (0.29.0)
  108. widgetsnbextension (3.0.2)
  109. yum-langpacks (0.4.2)
  110. yum-metadata-parser (1.1.4)
  111. opencv-python