基于 Amazon SageMaker 构建细粒度情感分析应用【附部署视频】

深度学习
PyTorch
云上探索实验室
0
0
| 作者: CSDN 博主 Leona na | | | --- | --- | ![1.png](https://dev-media.amazoncloud.cn/19fdd4b6ff254f399955c2189a4ca29a_1.png "1.png") # 基于 Amazon SageMaker 构建细粒度情感分析应用【附部署视频】 > Amazon SageMaker 是亚马逊云计算(Amazon Web Service)的一项完全托管的机器学习平台服务,算法工程师和数据科学家可以基于此平台快速构建、训练和部署机器学习 (ML) 模型,而无需关注底层资源的管理和运维工作。它作为一个工具集,提供了用于机器学习的端到端的所有组件,包括数据标记、数据处理、算法设计、模型训练、训练调试、超参调优、模型部署、模型监控等,使得机器学习变得更 ## 基于 Amazon SageMaker 构建细粒度情感分析应用 基于 Amazon SageMaker 构建细粒度情感分析应用 ## [](https://devpress.csdn.net/aws-c/644646adb4541e244e4f9681.html)一、创建 Sagemaker Notebook 实例 输入名称、选择实例类型、配置磁盘大小,具体如下图 ![2.png](https://dev-media.amazoncloud.cn/d4b0fc64285f4597a1099db492825d2c_2.png "2.png") 创建角色 ![3.png](https://dev-media.amazoncloud.cn/b9c8c2205704432bac51692fa412c8cb_3.png "3.png") 创建实例 ![4.png](https://dev-media.amazoncloud.cn/e882d771ea0b4c71acf04367a9bd4e6c_4.png "4.png") 打开 jupyter ![5.png](https://dev-media.amazoncloud.cn/0a5e497a55ac4654868a8c8cb87f72b3_5.png "5.png") 打开 terminal 终端 ![6.png](https://dev-media.amazoncloud.cn/ba87e29224714d0ab6c0b9302f3e64ca_6.png "6.png") ## 二、下载 GAS-SageMaker 数据 ``` cd ~/SageMaker git clone https://github.com/HaoranLv/GAS-SageMaker.git ``` 在 Jupyter Notebook 中打开 gabsa.ipynb 逐行运行。 ![7.png](https://dev-media.amazoncloud.cn/d4f06bbb03064d4b9e30fff0892b9a10_7.png "7.png") 注意事项参考这位博主: [th0ma](https://blog.csdn.net/weixin\_41466565?type=blog\&login=from_csdn?trk=cndc-detail)\ 博主原文链接在这里:[亚马逊云科技【云上探索实验室】使用 Amazon SageMaker 构建机器学习应用、构建细粒度情感分析应用、基于 Stable Diffusion 模型,快速搭建你的第一个 AIGC 应用](https://blog.csdn.net/weixin\_41466565/article/details/129782175?spm=1001.2014.3001.5502\&login=from_csdn?trk=cndc-detail)\ 注意:这里使用我的代码可以正确部署。\ 引入依赖并进行权限配置 ``` import sagemaker as sage from time import gmtime, strftime from sagemaker import get_execution_role from sagemaker.pytorch import PyTorch ``` 执行代码图片补充: ![8.png](https://dev-media.amazoncloud.cn/ee9fe2afa8784e1383f7127c4f3a02fb_8.png "8.png") 将处理好的数据上传到 S3 ``` WORK_DIRECTORY = "./data" # S3 prefix prefix = "demo" sess = sage.Session() role = sage.get_execution_role() data_location = sess.upload_data(WORK_DIRECTORY, key_prefix=prefix) ``` 执行代码图片补充: ![9.png](https://dev-media.amazoncloud.cn/00cd1db2688f4266b65db0cff602310a_9.png "9.png") 定义超参数,实验使用 Huggingface hub 公开的 T5-base 预训练参数进行初始化\ **这里把 “num_train_epochs”:“30” ,修改为 2 ,加快训练时间防止额外扣费** ``` hyperparameters = { "task" : "tasd", "dataset" : "rest15", "model_name_or_path" : "t5-base", "paradigm": "extraction", "eval_batch_size" :"16", "train_batch_size" :"2", "learning_rate" :"3e-4", "num_train_epochs":"2", "n_gpu": "1" } ``` 执行代码图片补充: ![10.png](https://dev-media.amazoncloud.cn/bdc72853ec5c41b5ab7a2d3132da56ac_10.png "10.png") 实例化 estimator,由于代码使用 Pytorch 框架,故这里直接使用 SageMaker 预置的 Pytorch 容器 ``` entry_point = 'finetune.py' source_dir = './' git_config = None framework_version = '1.7.1' py_version='py36' instance_type='ml.p3.2xlarge' instance_count=1 estimator = PyTorch( entry_point = entry_point, source_dir = source_dir, git_config = git_config, role = role, debugger_hook_config=False, hyperparameters = hyperparameters, framework_version = framework_version, py_version = py_version, instance_type = instance_type, instance_count = instance_count ) ``` 执行代码图片补充: ![11.png](https://dev-media.amazoncloud.cn/57f088a5d23d4dd9a8e5eb8ce04b3395_11.png "11.png") 启动模型训练 ``` inputs = {'tasd': data_location+'/tasd/'} response = estimator.fit(inputs) ``` 执行代码图片补充: ![12.png](https://dev-media.amazoncloud.cn/0a57bbb0c66d4f1db55c26f95c547838_12.png "12.png") 可以在 S3 存储桶找到训练的模型,点击复制 S3 URL ![13.png](https://dev-media.amazoncloud.cn/2123007e60b84179b38827c84e09552f_13.png "13.png") **完成训练后,把下面代码中的 s3://sagemaker-ap-southeast-1-116572824542/pytorch-training-2022-05-28-10-05-39-029/output/model.tar.gz 替换为刚刚复制的 S3 中的存储桶地址** ``` import sagemaker instance_type = 'ml.m5.4xlarge' role = sagemaker.get_execution_role() from sagemaker.pytorch.model import PyTorchModel pytorch_model = PyTorchModel(model_data='s3://sagemaker-ap-southeast-1-116572824542/pytorch-training-2022-05-28-10-05-39-029/output/model.tar.gz', role=role, entry_point='inference.py', source_dir='./', framework_version='1.7.1', py_version='py36' ) # TODO set model_server_workers=1 to avoid torchhub bug ``` 开始训练 ``` predictor = pytorch_model.deploy(instance_type=instance_type, initial_instance_count=1 ``` 执行代码图片补充: ![14.png](https://dev-media.amazoncloud.cn/e788d4d979fc48338f4491c04ca0935d_14.png "14.png") 这时可以查看终端节点-可以看到端点 ![15.png](https://dev-media.amazoncloud.cn/648702c39c794184b7fb850f8202de0b_15.png "15.png") 点击名称,可以看到监控状态 ![16.png](https://dev-media.amazoncloud.cn/16365b1af8534bfdb3e8012b4648b207_16.png "16.png")
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭
contact-us