SageMaker-讓自己的訓練上雲端

閱讀時間約 5 分鐘

一.引言

  上回練習了一個官方示例,但其中對於一些細節沒有練習到的感覺,這次我們實際將之前練習的風格轉換訓練推上去看看,看是否能體驗到更多細節。

二.事前規劃

  既然現在需要使用自己的資料,就得好好規劃,這次希望將成本壓制在免費方案的條件下(或是最低限度),大致需要符合以下內容 :

  • 訓練資料及相關產出資料不能超出S3中的5G免費額度
  • 程式碼及訓練相關檔案不能超過筆記本實例的5G限額
  • 訓練時使用 ml.m5.xlarge 執行個體且不超過50小時
  • 筆記本不能開啟超過250小時(*記得確實停止才不會算時間)

  再來因為筆記本一開就會計時,所以這次將在本機端修改完再一次上傳到筆記本,考慮到只有5G,這次就選擇 Vocus-StyleTransfer-V1 來練習,第一版本的風格轉換只需要兩張圖,且訓練上也不會太久,這次修改大致規劃成下列模式 :

StyleTransferV1 ┬ TrainImg
| ├​ Content.jpg
|​ └ Style.jpg
├ Utils
| ├ __init__.py
| └ common.py
├ VGG19PreTrain
| └ vgg19.pth
├ ResultImg
└ Transform.py

三.實際操作

  首先先上傳這些檔案到筆記本內

raw-image

  然後來處理啟動的部分,新增一個 Transform.ipynb,其中原本想要直接使用上傳到筆記本內的圖片,但嘗試後沒想到不行,只能透過S3容器,所以只能先將圖片先上傳到S3後,再指定對應路徑進行訓練。

import sagemaker
from sagemaker.pytorch import PyTorch

sagemaker_session = sagemaker.Session()
region = sagemaker_session.boto_region_name

bucket = sagemaker_session.default_bucket()
prefix = "sagemaker/StyleTransformV1"

role = sagemaker.get_execution_role()

style_path = 's3://S3-bucket-name/TrainImg/Style'
content_path = 's3://S3-bucket-name/TrainImg/Content'

estimator = PyTorch(
entry_point="Transform.py",
role=role,
py_version="py310",
framework_version="2.2.0",
instance_count=1,
instance_type="ml.m5.xlarge",
output_path="s3://S3-bucket-name/Result/",
hyperparameters={"num-steps": 150},
dependencies=['Utils','VGG19PreTrain']
)

estimator.fit({"content": content_path,
"style": style_path})

  並調整存圖從存本機改成上傳到S3

def save_image_to_s3(tensor, s3_bucket, s3_key):
# 將張量轉換為 PIL 圖片
image = tensor.cpu().clone()
image = image.squeeze(0)
image = unloader(image)

# 將圖片保存到內存中的 BytesIO 對象
buffer = io.BytesIO()
buffer.seek(0)

# 將圖片上傳到 S3
s3.upload_fileobj(buffer, s3_bucket, s3_key)

save_image_to_s3(model_output,'S3-bucket-name','Result/result.jpg')

  確認所有都沒問題後,即可使用Shift+Enter運行Transform.ipynb的整個區塊,S3儲存區便會產出結果圖,同樣相關程式碼於Github

raw-image

四.結語

  本次成功將之前的程式碼推上 SageMaker 進行訓練,對於基本使用有了一定的了解,實際用下來雖然在存儲上有著一定的規定,但在環境及訓練上相對都相對簡單,並且使用上邏輯也足夠清晰,接下來下篇應該會繼續探討 SageMaker 提供的其他功能,讓我們下篇再見。

7會員
19內容數
AI、電腦視覺、圖像處理、AWS等等持續學習時的學習筆記,也包含一些心得,主要是幫助自己學習,若能同時幫助到不小心來到這裡的人,那也是好事一件 : )
留言0
查看全部
發表第一個留言支持創作者!
貓貓學習筆記 的其他內容
SageMaker是什麼?好用嗎?
閱讀時間約 4 分鐘
你可能也想看
【高訂】Yu Chen Chang張雨宸-Yara Shoemaker 2024春夏高級訂製服系列2024春夏高級訂製服系列時裝周模特兒名單中,台灣模特兒再添一位,那便是過去主要據點為米蘭的張雨宸YuChen Chang。
Thumbnail
avatar
艾克星貨鋪
2024-01-29
[條列式の讀書筆記-69] 我,跟自己拚了!:挪威最頂尖的心智訓練師讓你潛能發揮100%1.從今天起,微調生活習慣,長期下來,就能顯著地改善自己的表現。 2.如果你希望自己的表現能夠更上一層樓,就必須勇於跳出舒適區。 3.要隨時提醒自己,目標在哪裡,不然很容易又會被拉回舒適圈。 4.人們常常高估自己在一年內所能達到的,卻又低估自己在10年內可以取得的成效;換成較短時間也是,過度安
Thumbnail
avatar
7年級末段班的中年超男子|生活、反省、閱讀、投資經歷
2023-11-20
Amazon SageMaker Canvas 實作學習日記 (1)Amazon SageMaker Canvas 是一項無須程式碼機器學習 (ML) 服務,可以幫助商業分析師透過機器學習(ML)在幾分鐘內從數千個文件、圖像和文字行中產生見解。 可以隨時存取即用型模型,建立自訂文字和圖像分類模型以及先前支援的表格資料自訂模型,所有這些操作都無需具備機器學習經驗,也無
Thumbnail
avatar
西尼亞ming
2023-10-06
AWS SageMaker 開箱體驗前幾個禮拜,AWS 舉行 Startup Day Taiwan。想當然爾,最熱門的主題非生成式 AI (Generative AI) 莫屬。既然 AWS 有現成的工具,身為一名工程師,自然看看無妨,這篇文章算是新手開箱文,會說明如何部署一套基礎模型,並使用 AWS SDK 與其互動。
Thumbnail
avatar
Ken Chen
2023-07-25
沒有機器學習經驗的我嘗試了 Amazon SageMaker JumpStart 前言 我在工作中沒有什麼機會接觸到機器學習,學生時期也沒有學習過相關知識。 作為一個業餘小白,我對機器學習非常感興趣。在自學的過程中,我逐漸意識到利用機器學習可以做很多有趣的事情。 因此,我決定嘗試使用 AWS SageMaker JumpStart 來實驗文字生成式繪圖 AI ,以了解機
Thumbnail
avatar
西尼亞ming
2023-07-18
讓自己的努力被看見M對C說:「我和你工作時間比較久,我當然知道你付出多少努力,但我不是哪個有權讓你加薪的人,即使我替你爭取也可能有限,還不如讓有決定權的主管看見你的努力,讓你的努力轉化為價值,因為這樣才能有機會讓你的價格更高。」不是默默努力就會被看見,而是樣想辦法讓自己的努力被看見。
Thumbnail
avatar
Emma
2023-04-05
原子寫作📑03 - 3個簡單步驟,讓你找到真的對自己有效的資訊精華,讓每一次認真的資訊消化,都能學以致用這篇文章介紹給你,有效找到資訊精華的三個步驟:找出自己因資訊帶來的可能改變,具體化改變細節以學以致用,將「我的視角」轉為「作者視角」來消化資訊提取精華
Thumbnail
avatar
王啟樺
2023-01-07
選擇觀看 讓自己感受更開闊的靈性訊息當自己在觀看靈性訊息的時候,外面總會有很多門道,用靈性的說詞包裝成靈性高深的樣子,但實則卻不知道傳遞者背後的真正目的。
Thumbnail
avatar
小白羊兒的靈性之旅
2022-11-25
【書評】訊息龐雜的時代下,如何讓對話和思考持續下去?項飆《把自己作為方法》我們讀書,理解人類社會的規律,都一定要和自己這個人發生關係,否則搞藝術就是為了美,好像是一個服務工作,去取悅人。
Thumbnail
avatar
微讀
2021-05-18
艾狄安娜《白朗峰上的約定 The Sboemaker's Wife》生命中的悲傷都有其意義「這世上的女人從未意識到她們擁有的力量....我下一次再墜入愛河時,我 會張大眼睛做出聰明的選擇。我會先確定那個女孩愛我比我愛她多一些。 」西羅是在乎的,她從沒有給過他的暗戀相對的回應,可是,親眼看見她跟神父「在一起」,西羅心碎了,未來幾年都還是會隱隱作痛.....
Thumbnail
avatar
優雅下決心
2013-12-27