- android - RelativeLayout 背景可绘制重叠内容
- android - 如何链接 cpufeatures lib 以获取 native android 库?
- java - OnItemClickListener 不起作用,但 OnLongItemClickListener 在自定义 ListView 中起作用
- java - Android 文件转字符串
问题前言:我有一个存储在 MongoDB 中的用户创建的神经网络架构数据库(用我转编译为 Keras 模型的不同语言编写)。我的目标是采用这些架构,用它们创建一个 Keras 模型,然后使用 SageMaker 在云中训练它们。截至目前,我可以从 MongoDB 加载模型并将它们转译为 Keras,效果非常好。 但是,我无法使用 Python SDK 将这些动态创建的模型发送到 SageMaker。
有没有一种方法可以通过将估算器的 entry_point
属性指定为定义了这些模型对象的文件来在 SageMaker 中训练和部署这些 Keras 模型架构(即只是 Python Keras 模型对象)?
迄今为止的工作和代码示例截至目前,当模型架构在单独的文件中定义时,我可以创建训练作业并部署端点。在 SageMaker's GitHub. 上查看单独文件和部署/培训过程的示例
train-and-deploy-sagemaker.py
# Import Sagemaker Tensorflow
from sagemaker.tensorflow import TensorFlow
# Create an estimator object using the entry_point file entry_point.py
estimator = TensorFlow(entry_point='entry_point.py',
role=arn_role,
framework_version='1.12.0',
hyperparameters={...some hyperparams for the model...},
training_steps=1000,
evaluation_steps=100,
train_instance_count=4, train_instance_type='ml.p3.8xlarge')
# Start the training job to train the above estimator
estimator.fit(training_data_inputs)
# Deploy said estimator after training
predictor = estimator.deploy(initial_instance_count=1, instance_type='ml.m4.xlarge')
入口点.py
def keras_model_fn(hyperparameters):
"""keras_model_fn receives hyperparameters from the training job and returns a compiled keras model.
The model will be transformed into a TensorFlow Estimator before training and it will be saved in a
TensorFlow Serving SavedModel at the end of training.
Args:
hyperparameters: The hyperparameters passed to the SageMaker TrainingJob that runs your TensorFlow
training script.
Returns: A compiled Keras model
"""
model = Sequential()
... add layers ...
return model
def train_input_fn():
...
# other functions for inference and training, see link above
但是,有没有一种方法可以动态定义该架构? I.E 从 MongoDB 中获取预先编写的架构,然后将其转译为 entrypoint.py
中相同的 Sequential
Keras 模型?
潜在的想法和疑虑:
想法:只需从 MongoDB 中获取模型并在 entry_point
文件中进行转译。然后AWS需要的每个方法都可以引用编译后的模型对象。
问题:考虑到 AWS 将从该文件创建 VM 以在其云中运行代码,这种做法是否安全或最佳实践?此外,源随后存储在 S3 存储桶中,因此无论权限如何,这都可能带来另一个安全风险。此外,像 pymongo 这样的依赖项无法从 entry_point
文件中加载,这使得在不更改训练图像的情况下无法获取数据。
想法:在创建训练作业和部署实例的文件中执行提取和转译 - 上面的 train-and-deploy-sagemaker.py
。然后通过估计器中的 hyperparams 属性传递一些可以重建模型的代码——比如 Keras 模型 JSON。
问题:根据 AWS,超参数的长度只能是 256 个字符。
思路:根据需要包含的模型架构,动态生成entry_point
文件。
关注点: 许多问题,例如出于不必要的 I/O 原因不想在服务器上创建一次性文件,生成代码是困惑和不好的做法,必须有更好的方式。
想法:将entry_point
属性设为非外部文件,而是在创建估算器的文件中指定所需的方法。这表面上可以解决我所有的问题,但是......
问题:我在 SageMaker 文档中没有看到任何关于此的信息。尽管如此,这是最理想的。
如有任何帮助,我们将不胜感激并提前致谢!
最佳答案
请注意,为了简化您的训练脚本,您可以使用 SageMaker script mode而不是 entry_point.py。
source_dir (str): Path (absolute or relative) to a directory with any other training source code dependencies aside from tne entry point file (default: None). Structure within this directory will be preserved when training on SageMaker. If the directory points to S3, no code will be uploaded and the S3 location will be used instead.
dependencies (list[str]): A list of paths to directories (absolute or relative) with any additional libraries that will be exported to the container (default: []). The library folders will be copied to SageMaker in the same folder where the entrypoint is copied. If the
source_dir
points to S3, code will be uploaded and the S3 location will be used instead
希望对您有所帮助。
关于python - 使用 'entrypoint' 在 Sagemaker 中使用预先创建的 Keras 架构训练和部署模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55787726/
我在 *.sql 文件中得到了我的数据库转储(表、函数、触发器等)。此时我正在通过 jenkins 部署它们,通过传递执行 shell 命令: sudo -u postgres psql -d my_
我正在使用网络部署 API 来部署网络包(.zip 文件,由 MSDeploy.exe 创建)以编程方式将包发布到服务器(在发布包之前我们需要做一些其他事情这就是为什么我们不使用 MSDeploy.e
我们正在使用 Web Deploy 3 的(几乎完全未记录的)“公共(public) API”来创建我们网站的 .zip 包,然后将其同步到服务器: DeploymentBaseOptions des
将 clojure 应用程序制作成可执行文件的最简单方法是什么,例如 http://rawr.rubyforge.org/ ruby 吗? (exe 和 app 文件也是) 最佳答案 使用 leini
是否可以下载 Android 源代码并针对任何设备进行编译? 我想做的是尝试 GSM 代码部分并编译操作系统并将其部署到我的摩托罗拉手机上。 谢谢! 最佳答案 是的,但这很难,因为大多数手机不共享驱动
我正在考虑用 c/c++ 编写需要在大多数个人计算机上运行的 nbody 样式模拟。本质上是一个 O(n^2) 粒子模拟器。 因为这需要相当用户友好,所以我希望有 1 个不需要用户安装任何东西的 Wi
需要了解 kubernetes 部署中 kube_deployment_status_replicas 和 kube_deployment_spec_replicas 指标的区别 最佳答案 简而言之,
我正在尝试使用分类器部署 Maven Artifact 。由于我需要源代码和 JAR(我从 GWT 使用它),我想获得 artifact-version-classifier.jar 和 artifa
我设置部署以将我的项目代码与存储我的网站的 FTP 服务器上的项目同步。 但是,每次尝试同步时,我总是必须登录。 我什至检查了记住,但它不起作用! 我正在使用最新的 PhpStorm 2017.1.4
我在 Visual Studio 2008 中开发了一个 ASP.NET 网站。现在我想在其他机器上部署它。我怎样才能做到这一点??就像我们为 Windows 应用程序制作安装包一样,我们可以为 AS
将 QT 框架添加到我的 .app 包中 我正在关注 Qt 站点上关于部署的文档。 我创建了一个名为 HTTPClient.app 的应用程序 我在 Contents 下创建了 Framework 文
这个问题不太可能对任何 future 的访客有帮助;它只与一个小的地理区域、一个特定的时间点或一个非常狭窄的情况相关,通常不适用于互联网的全局受众。如需帮助使这个问题更广泛适用,visit the h
我正在研究改变我目前创建营销网站的策略。目前,我完全用 PHP 从头开始构建网站,使用一个简单的包含系统。所有代码(以及内容)都存储在文件(而不是数据库)中,允许我使用 Subversion 进行
我有一个长期运行的服务(在 while 1 循环中)并通过 GCloud pub/sub 处理有效负载,之后它将结果写入数据库。 该服务不需要监听任何端口。 Kind=Deployment 的声明性
似乎部署已停滞不前。我该如何进一步诊断? kubectl rollout status deployment/wordpress Waiting for rollout to finish: 2 ou
我正在Dart中使用前端的Angular和后端的Shelf构建一个客户端/服务器应用程序。当我执行pub build时,它会按预期生成Dart文件的javascript,但不会替换HTML文件中的Da
我在 Azure 部署中心的下拉列表中看不到我的所有 Github 组织存储库。 Azure 很久以前就已经被授权了,下拉列表正确地显示了所有的存储库,直到上周我在 DevOps 中玩游戏时,不得不再
我认为标题几乎说明了一切...对于 Deployd 来说是全新的,所以任何关于如何最好地实现这一点的指示都值得赞赏。 最佳答案 要获取用户创建的集合中的对象(我假设您使用的是 javascript 库
我有一个试图用于CD服务器的部署脚本,但是在编写bash脚本以完成一些所需的步骤(例如运行npm和迁移命令)时遇到了问题。 我将如何从该脚本进入容器bash,运行下面的命令,然后退出以完成对更改的提取
我想在使用 kubectl 时将参数传递给 Kubernetes 部署命令应用部署文件。 示例:在我的部署 .yaml 中,我有如下参数,我想在使用 kubectl apply - f .yaml 运
我是一名优秀的程序员,十分优秀!