我已经在SageMaker上一起训练了模型和预处理。通过预处理,我的意思是我根据这个https://github.com/aws/sagemaker-python-sdk/blob/master/src/sagemaker/tensorflow/deploying_tensorflow_serving.rst添加了带有input_handler和output_handler函数的inference.py文件。
我工作得很好,但问题是每次我想要在预处理过程中改变一些东西时,我必须重新训练模型。有没有其他不需要再培训就能做到这一点的方法?
发布于 2020-01-13 03:06:19
经过训练的模型只是一个获取参数(输入向量)并返回输出(输出向量/值)的函数。如果您使用修改后的预处理更改了输入,则需要更改函数的实现。这意味着你需要重新训练你的模型。
重新训练您的模型是一个好习惯,即使您在预处理过程中不做任何更改,因为输入会随着时间的推移而变化。房价的经典例子是强调你的模型只适用于你训练过的数据。如果几年后市场发生了变化,你必须重新训练你的模型。
一些模型每天都在接受再培训。Amazon使训练模型变得很容易,但是调用SageMaker API并等待它完成。您可以自动构建新的Docker镜像(如果您更改了预处理),调用training API,然后调用deployment API to SageMaker to ECS/EKS或任何其他容器托管服务。
https://stackoverflow.com/questions/59678740
复制相似问题