将 .tf 和可能的 .txt 文件依赖项上传到 Acumos

Uploading .tf and possibly .txt file dependencies to Acumos

我目前正在为 acumos AI 挑战做一个项目,我正在创建一个简单的 Tensorflow 程序来尝试上传。我遇到的问题是 acumos 支持使用 Requirements 使用 python 依赖项,但我还没有找到添加 .tf 文件(用于预训练的张量流模型)或 .txt 文件(用于数据)的方法。

该站点允许我上传我的模型,而无需将我的预训练张量流模型添加为依赖项,但是当我 运行 它在另一台计算机上的 docker 上时,我收到此错误...

[2018-08-03 21:48:58 +0000] [11] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
    worker.init_process()
  File "/usr/local/lib/python3.6/site-packages/gunicorn/workers/base.py", line 129, in init_process
    self.load_wsgi()
  File "/usr/local/lib/python3.6/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python3.6/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "runner.py", line 102, in load
    return build_app(self.parsed_args)
  File "runner.py", line 115, in build_app
    model = load_model(pargs.modeldir)  # refers to ./model dir in pwd. generated by helper script also in this dir
  File "/usr/local/lib/python3.6/site-packages/acumos/wrapped.py", line 42, in load_model
    model = _load_model(f)
  File "/usr/local/lib/python3.6/site-packages/dill/dill.py", line 288, in load
    obj = pik.load()
  File "/usr/local/lib/python3.6/site-packages/dill/dill.py", line 546, in _load_type
    return _reverse_typemap[name]
KeyError: 'ClassType'
[2018-08-03 21:48:58 +0000] [11] [INFO] Worker exiting (pid: 11)
[2018-08-03 21:48:58 +0000] [10] [ERROR] Exception in worker process
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/gunicorn/arbiter.py", line 583, in spawn_worker
    worker.init_process()
  File "/usr/local/lib/python3.6/site-packages/gunicorn/workers/base.py", line 129, in init_process
    self.load_wsgi()
  File "/usr/local/lib/python3.6/site-packages/gunicorn/workers/base.py", line 138, in load_wsgi
    self.wsgi = self.app.wsgi()
  File "/usr/local/lib/python3.6/site-packages/gunicorn/app/base.py", line 67, in wsgi
    self.callable = self.load()
  File "runner.py", line 102, in load
    return build_app(self.parsed_args)
  File "runner.py", line 115, in build_app
    model = load_model(pargs.modeldir)  # refers to ./model dir in pwd. generated by helper script also in this dir
  File "/usr/local/lib/python3.6/site-packages/acumos/wrapped.py", line 42, in load_model
    model = _load_model(f)
  File "/usr/local/lib/python3.6/site-packages/dill/dill.py", line 288, in load
    obj = pik.load()
  File "/usr/local/lib/python3.6/site-packages/dill/dill.py", line 546, in _load_type
    return _reverse_typemap[name]
KeyError: 'ClassType'
[2018-08-03 21:48:58 +0000] [10] [INFO] Worker exiting (pid: 10)
[2018-08-03 21:48:58 +0000] [1] [INFO] Shutting down: Master
[2018-08-03 21:48:58 +0000] [1] [INFO] Reason: Worker failed to boot.

我只是猜测这个错误是由于内省缺少 .tf 文件引起的,但我可能完全错了。我还应该提到,我的 docker 容器适用于我构建的不需要外部文件的模型(e.i。一个简单的 a+b = c 类型模型)。

如果对此有任何帮助,那就太好了!谢谢!

Acumos 不直接支持添加任意文件类型依赖项,不幸的是它不会自动推断它们。需求机制用于 Python 依赖项。还有其他方法可以在不使用外部文件的情况下构建预训练的 Tensorflow 模型;查看 Acumos 开源存储库 (https://gerrit.acumos.org). If you load your model (and the contents of any external files, like .txt) into memory before dumping or pushing, the Python Acumos Client will properly serialize it, and that is the typical usage pattern. See the Tensorflow example here: https://github.com/acumos/acumos-python-client/blob/master/examples/tensorflow_example.py 中的一些模型。您可以反序列化 Tensorflow 模型,而不是从头开始构建模型。那么示例的其余部分应该仍然有效。 . 您可能会尝试的另一件事是在包含所需文件的子目录中创建一个包,并使用标准的 Requirements 机制将其包含在内。我相信 Acumos 客户端在创建代表您的模型的存档时只是将您在包目录中的所有内容打包。但请先尝试其他建议。