כיצד xarvio Digital Farming Solutions מאיץ את הפיתוח שלה עם יכולות גיאו-מרחביות של Amazon SageMaker

צומת המקור: 1766079

זהו פוסט אורח שנכתב על ידי ג'וליאן בלאו, מדען נתונים ב-xarvio Digital Farming Solutions; BASF Digital Farming GmbH, ואנטוניו רודריגז, אדריכל פתרונות AI/ML מומחה ב-AWS

xarvio Digital Farming Solutions הוא מותג מבית BASF Digital Farming GmbH, המהווה חלק מחטיבת BASF Agricultural Solutions. xarvio Digital Farming Solutions מציעה מוצרי חקלאות דיגיטליים מדויקים כדי לעזור לחקלאים לייעל את ייצור היבולים. מוצרי xarvio, הזמינים ברחבי העולם, משתמשים בלמידת מכונה (ML), טכנולוגיית זיהוי תמונה ומודלים מתקדמים של יבול ומחלות, בשילוב עם נתונים מלוויינים ומכשירי תחנות מזג אוויר, כדי לספק המלצות אגרונומיות מדויקות ובזמן לניהול הצרכים של שדות בודדים. מוצרי xarvio מותאמים לתנאי החקלאות המקומיים, יכולים לנטר את שלבי הגדילה ולזהות מחלות ומזיקים. הם מגדילים את היעילות, חוסכים זמן, מפחיתים סיכונים ומספקים אמינות גבוהה יותר לתכנון וקבלת החלטות - כל זאת תוך כדי תרומה לחקלאות בת קיימא.

אנו עובדים עם נתונים גיאו-מרחביים שונים, כולל תמונות לוויין של האזורים שבהם נמצאים שדות המשתמשים שלנו, עבור חלק ממקרי השימוש שלנו. לכן, אנו משתמשים ומעבדים מאות קבצי תמונה גדולים מדי יום. בתחילה, היינו צריכים להשקיע הרבה עבודה ידנית ומאמץ כדי להטמיע, לעבד ולנתח את הנתונים הללו באמצעות כלים של צד שלישי, ספריות קוד פתוח או שירותי ענן למטרות כלליות. במקרים מסוימים, זה יכול לקחת עד חודשיים עד שנבנה את הצינורות עבור כל פרויקט ספציפי. כעת, על ידי ניצול היכולות הגיאו-מרחביות של אמזון SageMaker, צמצמנו את הזמן הזה לשבוע עד שבועיים בלבד.

חיסכון בזמן זה הוא תוצאה של אוטומציה של צינורות הנתונים הגיאוגרפיים כדי לספק את מקרי השימוש שלנו בצורה יעילה יותר, יחד עם שימוש ברכיבים מובנים לשימוש חוזר להאצת ושיפור פרויקטים דומים באזורים גיאוגרפיים אחרים, תוך יישום אותם שלבים מוכחים לשימוש אחר מקרים המבוססים על נתונים דומים.

בפוסט זה, אנו עוברים על מקרה שימוש לדוגמה כדי לתאר כמה מהטכניקות בהן אנו משתמשים בדרך כלל, ולהראות כיצד יישום אלה באמצעות פונקציונליות גיאו-מרחבית של SageMaker בשילוב עם תכונות אחרות של SageMaker מספק יתרונות מדידים. אנו כוללים גם דוגמאות קוד כדי שתוכל להתאים אותן למקרי השימוש הספציפיים שלך.

סקירה כללית של הפיתרון

פרויקט חישה מרחוק טיפוסי לפיתוח פתרונות חדשים דורש ניתוח צעד אחר צעד של תמונות שצולמו על ידי לוויינים אופטיים כגון זקיף or לנדסאט, בשילוב עם נתונים אחרים, כולל תחזיות מזג אוויר או מאפייני שטח ספציפיים. תמונות הלוויין מספקות לנו מידע רב ערך המשמש בפתרונות החקלאות הדיגיטליים שלנו כדי לעזור למשתמשים שלנו לבצע משימות שונות:

  • גילוי מוקדם של מחלות בתחומן
  • תכנון התזונה והטיפולים הנכונים ליישום
  • קבלת תובנות על מזג האוויר והמים לתכנון השקיה
  • חיזוי תפוקת יבול
  • ביצוע משימות ניהול יבול אחרות

כדי להשיג מטרות אלו, הניתוחים שלנו דורשים בדרך כלל עיבוד מקדים של תמונות הלוויין בטכניקות שונות הנפוצות בתחום הגיאו-מרחבי.

כדי להדגים את היכולות של SageMaker geospatial, התנסנו בזיהוי שדות חקלאיים באמצעות מודלים של פילוח ML. בנוסף, בדקנו את המודלים הגיאו-מרחביים הקיימים של SageMaker ואת הפונקציונליות של הביאו את המודל שלך (BYOM) במשימות גיאו-מרחביות כגון שימוש בקרקע וסיווג כיסוי קרקע, או סיווג יבולים, שלעיתים קרובות דורשים טכניקות פילוח פנופטיות או סמנטיות כשלבים נוספים בתהליך.

בסעיפים הבאים, אנו עוברים על כמה דוגמאות כיצד לבצע את השלבים הללו עם יכולות גיאו-מרחביות של SageMaker. אתה יכול גם לעקוב אחר אלה במחברת לדוגמה מקצה לקצה הזמינה בהמשך מאגר GitHub.

כפי שהוזכר קודם לכן, בחרנו את מקרה השימוש בסיווג כיסוי הקרקע, הכולל זיהוי סוג הכיסוי הפיזי שיש לנו על אזור גיאוגרפי נתון על פני כדור הארץ, המאורגן על קבוצת מחלקות כולל צמחייה, מים או שלג. סיווג ברזולוציה גבוהה זה מאפשר לנו לזהות את הפרטים למיקום השדות וסביבתם בדיוק רב, אותם ניתן לשרשר מאוחר יותר עם ניתוחים נוספים כמו זיהוי שינויים בסיווג יבולים.

הגדרת לקוח

ראשית, נניח שיש לנו משתמשים עם גידולים גידולים באזור גיאוגרפי נתון שאנו יכולים לזהות בתוך מצולע של קואורדינטות גיאו-מרחביות. עבור פוסט זה, אנו מגדירים אזור לדוגמה מעל גרמניה. אנחנו יכולים גם להגדיר טווח זמן נתון, למשל בחודשים הראשונים של 2022. ראה את הקוד הבא:

### Coordinates for the polygon of your area of interest...
coordinates = [
    [9.181602157004177, 53.14038825707946],
    [9.181602157004177, 52.30629767547948],
    [10.587520893823973, 52.30629767547948],
    [10.587520893823973, 53.14038825707946],
    [9.181602157004177, 53.14038825707946],
]
### Time-range of interest...
time_start = "2022-01-01T12:00:00Z"
time_end = "2022-05-01T12:00:00Z"

בדוגמה שלנו, אנו עובדים עם ה-SDK הגיאוגרפי של SageMaker באמצעות אינטראקציה פרוגרמטית או קוד, מכיוון שאנו מעוניינים בבניית צינורות קוד שניתן לבצע אוטומטית עם השלבים השונים הנדרשים בתהליך שלנו. שים לב שאתה יכול לעבוד גם עם ממשק משתמש דרך ההרחבות הגרפיות המסופקות עם SageMaker geospatial in סטודיו SageMaker של אמזון אם אתה מעדיף גישה זו, כפי שמוצג בצילומי המסך הבאים. לגישה ל-Geospatial Studio UI, פתח את SageMaker Studio Launcher ובחר נהל משאבים גיאו-מרחביים. אתה יכול לבדוק פרטים נוספים בתיעוד ל התחל עם היכולות הגאו-מרחביות של Amazon SageMaker.

ראשי ממשק משתמש גיאו-מרחבי

רשימת משרות של ממשק משתמש גיאו-מרחבי

כאן אתה יכול ליצור, לנטר ולראות באופן גרפי את התוצאות של עבודות תצפית כדור הארץ (EOJs) שאתה מפעיל עם תכונות גיאו-מרחביות של SageMaker.

בחזרה לדוגמא שלנו, הצעד הראשון לאינטראקציה עם ה-SDK הגיאוגרפי של SageMaker הוא הגדרת הלקוח. נוכל לעשות זאת על ידי הקמת פגישה עם botocore הספריה:

import boto3
gsClient = boto3.client('sagemaker-geospatial')

מנקודה זו ואילך, אנו יכולים להשתמש בלקוח להפעלת כל EOJs של עניין.

השגת נתונים

עבור מקרה שימוש זה, אנו מתחילים באיסוף תמונות לוויין עבור האזור הגיאוגרפי הנתון שלנו. בהתאם למיקום העניין, עשוי להיות כיסוי תכוף יותר או פחות על ידי הלוויינים הזמינים, שהתמונות שלהם מאורגנות במה שמכונה בדרך כלל אוספי רסטר.

עם היכולות הגיאו-מרחביות של SageMaker, יש לך גישה ישירה למקורות נתונים באיכות גבוהה להשגת הנתונים הגיאו-מרחביים ישירות, כולל אלה מ חילופי נתונים AWS ו רישום נתונים פתוחים ב- AWS, בין היתר. אנו יכולים להפעיל את הפקודה הבאה כדי לרשום את אוספי הרסטר שכבר סופקו על ידי SageMaker:

list_raster_data_collections_resp = gsClient.list_raster_data_collections()

זה מחזיר את הפרטים עבור אוספי הרסטר השונים הזמינים, כולל החזרת פני השטח של Landsat C2L2 (SR), טמפרטורת פני השטח של Landsat C2L2 (ST), או ה-Sentinel 2A ו-2B. באופן נוח, התמונות ברמה 2A כבר עברו אופטימיזציה ל-Cloud GeoTIFFs (COG). ראה את הקוד הבא:

…
{'Name': 'Sentinel 2 L2A COGs',
  'Arn': 'arn:aws:sagemaker-geospatial:us-west-2:378778860802:raster-data-collection/public/nmqj48dcu3g7ayw8',
  'Type': 'PUBLIC',
  'Description': 'Sentinel-2a and Sentinel-2b imagery, processed to Level 2A (Surface Reflectance) and converted to Cloud-Optimized GeoTIFFs'
…

בואו ניקח את האחרון הזה כדוגמה שלנו, על ידי הגדרת שלנו data_collection_arn פרמטר לאוסף ARN של ה-Sentinel 2 L2A COGs.

אנו יכולים גם לחפש בתמונות הזמינות עבור מיקום גיאוגרפי נתון על ידי העברת הקואורדינטות של מצולע שהגדרנו כאזור העניין שלנו (AOI). זה מאפשר לך לדמיין את אריחי התמונה הזמינים המכסים את המצולע שאתה שולח עבור ה-AOI שצוין, כולל שירות אחסון פשוט של אמזון (Amazon S3) URIs עבור תמונות אלה. שים לב שתמונות לוויין מסופקות בדרך כלל בשונות להקות לפי אורך הגל של התצפית; נדון בזה יותר בהמשך הפוסט.

response = gsClient.search_raster_data_collection(**eoj_input_config, Arn=data_collection_arn)

הקוד הקודם מחזיר את S3 URIs עבור אריחי התמונה השונים הזמינים, שתוכל להמחיש ישירות עם כל ספרייה התואמת ל-GeoTIFFs כגון רסטריו. לדוגמה, בואו נדמיין שניים מהאריחים של תמונת צבע אמיתית (TCI).

…
'visual': {'Href': 'https://sentinel-cogs.s3.us-west-2.amazonaws.com/sentinel-s2-l2a-cogs/32/U/NC/2022/3/S2A_32UNC_20220325_0_L2A/TCI.tif'},
…

תמונת צבע אמיתית 1תמונת צבע אמיתית 2

טכניקות עיבוד

כמה מטכניקות העיבוד המקדים הנפוצות ביותר שאנו מיישמים כוללות הסרת ענן, פסיפס גיאוגרפי, סטטיסטיקה זמנית, מתמטיקה להקה או ערימה. כל התהליכים הללו יכולים להיעשות כעת ישירות באמצעות שימוש ב-EOJs ב- SageMaker, ללא צורך בביצוע קידוד ידני או שימוש בכלים מורכבים ויקרים של צד שלישי. זה הופך את בניית צינורות עיבוד הנתונים שלנו למהיר ב-50%. עם יכולות גיאו-מרחביות של SageMaker, אנו יכולים להריץ תהליכים אלו על סוגי קלט שונים. לדוגמה:

  • הפעל ישירות שאילתה עבור כל אחד מאוספי הרסטר הכלולים בשירות דרך ה RasterDataCollectionQuery פרמטר
  • העבר תמונות המאוחסנות באמזון S3 כקלט דרך ה- DataSourceConfig פרמטר
  • פשוט שרשרת את התוצאות של EOJ קודם דרך ה- PreviousEarthObservationJobArn פרמטר

גמישות זו מאפשרת לך לבנות כל סוג של צינור עיבוד שאתה צריך.

התרשים הבא ממחיש את התהליכים שאנו מכסים בדוגמה שלנו.

משימות עיבוד גיאו-מרחבי

בדוגמה שלנו, אנו משתמשים בשאילתת איסוף נתוני רסטר כקלט, עבורה אנו מעבירים את הקואורדינטות של ה-AOI וטווח הזמן של עניין. אנו גם מציינים אחוז מכיסוי ענן מקסימלי של 2%, מכיוון שאנו רוצים תצפיות ברורות וללא רעש של האזור הגיאוגרפי שלנו. ראה את הקוד הבא:

eoj_input_config = {
    "RasterDataCollectionQuery": {
        "RasterDataCollectionArn": data_collection_arn,
        "AreaOfInterest": {
            "AreaOfInterestGeometry": {"PolygonGeometry": {"Coordinates": [coordinates]}}
        },
        "TimeRangeFilter": {"StartTime": time_start, "EndTime": time_end},
        "PropertyFilters": {
            "Properties": [
                {"Property": {"EoCloudCover": {"LowerBound": 0, "UpperBound": 2}}}
            ]
        },
    }
}

למידע נוסף על תחביר שאילתות נתמך, עיין ב צור עבודת תצפית על כדור הארץ.

הסרת פערי עננים

תצפיות לווין לרוב פחות שימושיות בגלל כיסוי עננים גבוה. מילוי פערים בענן או הסרת ענן הוא תהליך של החלפת הפיקסלים העכורים מהתמונות, שניתן לעשות בשיטות שונות כדי להכין את הנתונים לשלבי עיבוד נוספים.

עם יכולות גיאו-מרחביות של SageMaker, אנו יכולים להשיג זאת על ידי ציון א CloudRemovalConfig פרמטר בתצורת העבודה שלנו.

eoj_config =  {
    'CloudRemovalConfig': {
        'AlgorithmName': 'INTERPOLATION',
        'InterpolationValue': '-9999'
    }
}

שימו לב שאנחנו משתמשים באלגוריתם אינטרפולציה עם ערך קבוע בדוגמה שלנו, אבל יש תצורות אחרות שנתמכות, כפי שהוסבר ב- צור עבודת תצפית על כדור הארץ תיעוד. האינטרפולציה מאפשרת לה להעריך ערך להחלפת הפיקסלים העכורים, על ידי התחשבות בפיקסלים שמסביב.

כעת נוכל להפעיל את ה-EOJ שלנו עם תצורות הקלט והתפקידים שלנו:

response = gsClient.start_earth_observation_job(
    Name =  'cloudremovaljob',
    ExecutionRoleArn = role,
    InputConfig = eoj_input_config,
    JobConfig = eoj_config,
)

עבודה זו נמשכת מספר דקות, בהתאם לאזור הקלט ופרמטרי העיבוד.

כאשר הוא הושלם, התוצאות של EOJ מאוחסנות במיקום בבעלות שירות, משם נוכל לייצא את התוצאות לאמזון S3, או לשרשר אותן כקלט עבור EOJ אחר. בדוגמה שלנו, אנו מייצאים את התוצאות לאמזון S3 על ידי הפעלת הקוד הבא:

response = gsClient.export_earth_observation_job(
    Arn = cr_eoj_arn,
    ExecutionRoleArn = role,
    OutputConfig = {
        'S3Data': {
            'S3Uri': f's3://{bucket}/{prefix}/cloud_removal/',
            'KmsKeyId': ''
        }
    }
)

כעת אנו יכולים לדמיין את התמונות המתקבלות המאוחסנות במיקום ה-Amazon S3 המצוין שלנו עבור הרצועות הספקטרליות הבודדות. לדוגמה, בואו נבדוק שתיים מתמונות הרצועה הכחולה שהוחזרו.

לחלופין, אתה יכול גם לבדוק את תוצאות ה-EOJ באופן גרפי על ידי שימוש בהרחבות גיאו-מרחביות הזמינות בסטודיו, כפי שמוצג בצילומי המסך הבאים.

ממשק משתמש להסרת ענן 1   ממשק משתמש להסרת ענן 2

סטטיסטיקה זמנית

כיוון שהלוויינים מסתובבים ברציפות סביב כדור הארץ, התמונות של אזור גיאוגרפי נתון של עניין נלקחות במסגרות זמן ספציפיות עם תדירות זמני ספציפית, כגון יומי, כל 5 ימים או שבועיים, תלוי בלוויין. תהליך הסטטיסטיקה הזמנית מאפשר לנו לשלב תצפיות שונות שצולמו בזמנים שונים כדי לייצר תצוגה מצטברת, כגון ממוצע שנתי, או הממוצע של כל התצפיות בטווח זמן מסוים, עבור האזור הנתון.

עם יכולות גיאו-מרחביות של SageMaker, אנו יכולים לעשות זאת על ידי הגדרת ה TemporalStatisticsConfig פָּרָמֶטֶר. בדוגמה שלנו, אנו משיגים את הצבירה הממוצעת השנתית עבור רצועת האינפרא אדום הקרובה (NIR), מכיוון שרצועה זו יכולה לחשוף הבדלי צפיפות הצמחייה מתחת לראש החופות:

eoj_config =  {
    'TemporalStatisticsConfig': {
        'GroupBy': 'YEARLY',
        'Statistics': ['MEAN'],
        'TargetBands': ['nir']
    }
}

לאחר מספר דקות הפעלת EOJ עם תצורה זו, נוכל לייצא את התוצאות לאמזון S3 כדי לקבל תמונות כמו הדוגמאות הבאות, שבהן נוכל לצפות בצפיפות הצמחייה השונה המיוצגת בעוצמות צבע שונות. שימו לב שה- EOJ יכול לייצר תמונות מרובות כאריחים, בהתאם לנתוני הלוויין הזמינים עבור טווח הזמן והקואורדינטות שצוינו.

סטטיסטיקה זמנית 1סטטיסטיקה זמנית 2

מתמטיקה להקה

לווייני תצפית על כדור הארץ נועדו לזהות אור באורכי גל שונים, שחלקם אינם נראים לעין האנושית. כל טווח מכיל פסים ספציפיים של ספקטרום האור באורכי גל שונים, אשר בשילוב עם אריתמטיקה יכולים לייצר תמונות עם מידע עשיר על מאפייני השדה כגון בריאות הצמחייה, טמפרטורה או נוכחות של עננים, בין רבים אחרים. זה מבוצע בתהליך הנקרא בדרך כלל מתמטיקה להקה או אריתמטיקה להקה.

עם יכולות גיאו-מרחביות של SageMaker, אנו יכולים להפעיל זאת על ידי הגדרת ה BandMathConfig פָּרָמֶטֶר. לדוגמה, בואו נשיג את תמונות אינדקס הלחות על ידי הפעלת הקוד הבא:

eoj_config =  {
    'BandMathConfig': {
        'CustomIndices': {
            'Operations': [
                {
                    'Name': 'moisture',
                    'Equation': '(nir08 - swir16) / (nir08 + swir16)'
                }
            ]
        }
    }
}

לאחר מספר דקות הפעלת EOJ עם התצורה הזו, נוכל לייצא את התוצאות ולקבל תמונות, כמו שתי הדוגמאות הבאות.

מדד לחות 1מדד לחות 2אגדת מדד הלחות

הערמה

בדומה למתמטיקה של להקות, תהליך שילוב הלהקות יחד להפקת תמונות מורכבות מהלהקות המקוריות נקרא Stacking. לדוגמה, נוכל לערום את רצועות האור האדום, הכחול והירוק של תמונת לוויין כדי לייצר את תמונת הצבע האמיתית של ה-AOI.

עם יכולות גיאו-מרחביות של SageMaker, אנו יכולים לעשות זאת על ידי הגדרת ה StackConfig פָּרָמֶטֶר. בואו נערום את רצועות ה-RGB לפי הדוגמה הקודמת עם הפקודה הבאה:

eoj_config =  {
    'StackConfig': {
        'OutputResolution': {
            'Predefined': 'HIGHEST'
        },
        'TargetBands': ['red', 'green', 'blue']
    }
}

לאחר מספר דקות הפעלת EOJ עם התצורה הזו, נוכל לייצא את התוצאות ולקבל תמונות.

ערימת TCI 1ערימת TCI 2

מודלים של פילוח סמנטי

כחלק מהעבודה שלנו, אנו משתמשים בדרך כלל במודלים של ML כדי להפעיל מסקנות על התמונות המעובדות מראש, כגון זיהוי אזורים מעוננים או סיווג סוג הקרקע בכל אזור של התמונות.

עם יכולות גיאו-מרחביות של SageMaker, אתה יכול לעשות זאת על ידי הסתמכות על דגמי הפילוח המובנים.

עבור הדוגמה שלנו, הבה נשתמש במודל פילוח כיסוי הקרקע על ידי ציון ה LandCoverSegmentationConfig פָּרָמֶטֶר. זה מפעיל מסקנות על הקלט באמצעות המודל המובנה, ללא צורך באימון או אירוח של תשתית כלשהי ב- SageMaker:

response = gsClient.start_earth_observation_job(
    Name =  'landcovermodeljob',
    ExecutionRoleArn = role,
    InputConfig = eoj_input_config,
    JobConfig = {
        'LandCoverSegmentationConfig': {},
    },
)

לאחר מספר דקות הפעלת עבודה עם התצורה הזו, נוכל לייצא את התוצאות ולקבל תמונות.

כיסוי קרקע 1כיסוי קרקע 2כיסוי קרקע 3כיסוי קרקע 4

בדוגמאות הקודמות, כל פיקסל בתמונות מתאים למחלקת סוג קרקע, כפי שמוצג במקרא הבא.

אגדת כיסוי קרקע

זה מאפשר לנו לזהות ישירות את סוגי האזורים הספציפיים בסצנה כמו צמחייה או מים, ולספק תובנות חשובות לניתוחים נוספים.

הביאו דגם משלכם עם SageMaker

אם המודלים הגיאו-מרחביים המתקדמים שסופקו עם SageMaker אינם מספיקים למקרה השימוש שלנו, נוכל גם לשרשר את התוצאות של כל אחד משלבי העיבוד המקדים שהוצגו עד כה עם כל דגם מותאם אישית שהוכנס ל- SageMaker לצורך הסקה, כפי שהוסבר בזה מצב סקריפט של SageMaker דוגמא. אנחנו יכולים לעשות זאת עם כל אחד ממצבי ההסקה הנתמכים ב- SageMaker, כולל סינכרוני עם נקודות קצה של SageMaker בזמן אמת, אסינכרוני עם נקודות קצה אסינכרוניות של SageMaker, אצווה או לא מקוון עם טרנספורמציות אצווה של SageMaker, וללא שרתים עם מסקנות ללא שרת של SageMaker. תוכל לבדוק פרטים נוספים על מצבים אלה ב- פרוס מודלים להסקת מסקנות תיעוד. התרשים הבא ממחיש את זרימת העבודה ברמה גבוהה.

אפשרויות זרימת מסקנות

לדוגמא שלנו, נניח שהכנסנו שני מודלים לביצוע סיווג כיסוי קרקע וסיווג סוג יבול.

אנחנו רק צריכים להצביע על חפץ המודל המאומן שלנו, בדוגמה שלנו מודל PyTorch, בדומה לקוד הבא:

from sagemaker.pytorch import PyTorchModel
import datetime

model = PyTorchModel(
    name=model_name, ### Set a model name
    model_data=MODEL_S3_PATH, ### Location of the custom model in S3
    role=role,
    entry_point='inference.py', ### Your inference entry-point script
    source_dir='code', ### Folder with any dependencies
    image_uri=image_uri, ### URI for your AWS DLC or custom container
    env={
        'TS_MAX_REQUEST_SIZE': '100000000',
        'TS_MAX_RESPONSE_SIZE': '100000000',
        'TS_DEFAULT_RESPONSE_TIMEOUT': '1000',
    }, ### Optional – Set environment variables for max size and timeout
)

predictor = model.deploy(
    initial_instance_count = 1, ### Your number of instances
    instance_type = 'ml.g4dn.8xlarge', ### Your instance type
    async_inference_config=sagemaker.async_inference.AsyncInferenceConfig(
        output_path=f"s3://{bucket}/{prefix}/output",
        max_concurrent_invocations_per_instance=2,
    ), ### Optional – Async config if using SageMaker Async Endpoints
)

predictor.predict(data) ### Your images for inference

זה מאפשר לך להשיג את התמונות המתקבלות לאחר מסקנות, בהתאם לדגם שבו אתה משתמש.

בדוגמה שלנו, בעת הפעלת פילוח כיסוי קרקע מותאם אישית, המודל מייצר תמונות דומות לתמונות הבאות, שבהן אנו משווים את תמונות הקלט והניבוי עם האגדה התואמת לה.

פילוח כיסוי קרקע 1  פילוח כיסוי קרקע 2. אגדת פילוח כיסוי קרקע

להלן דוגמה נוספת למודל סיווג יבול, שבו אנו מראים את ההשוואה בין תוצאות הפילוח הפנופטיות והסמנטי המקוריות שהתקבלו, עם האגדה המתאימה לה.

סיווג יבול

אוטומציה של צינורות גיאו-מרחביים

לבסוף, אנו יכולים גם להפוך את השלבים הקודמים לאוטומטיים על ידי בניית צינורות עיבוד נתונים גיאו-מרחביים וצינורות מסקנות צינורות SageMaker של אמזון. אנו פשוט משרשרים כל שלב עיבוד מוקדם הנדרש באמצעות השימוש ב למבדה סטפס ו שלבי התקשרות חזרה בצינורות. לדוגמה, אתה יכול גם להוסיף שלב מסקנות סופי באמצעות Transform Step, או ישירות דרך שילוב אחר של Lambda Steps ו-Callback Steps, להפעלת EOJ עם אחד מדגמי הפילוח הסמנטי המובנים בתכונות גיאו-מרחביות של SageMaker.

שים לב שאנו משתמשים בשלבי Lambda ו-Callback Steps ב-Pipelines מכיוון שה-EOJs הם אסינכרוניים, כך ששלב מסוג זה מאפשר לנו לעקוב אחר הרצה של עבודת העיבוד ולחדש את ה-pipeline כשהיא תושלם באמצעות הודעות ב- שירות תורים פשוט של אמזון (אמזון SQS) תור.

צינור גיאו-מרחבי

אתה יכול לבדוק את המחברת ב- מאגר GitHub לדוגמא מפורטת של קוד זה.

כעת אנו יכולים לדמיין את הדיאגרמה של הצינור הגיאו-מרחבי שלנו דרך Studio ולנטר את הריצות ב-Pipelines, כפי שמוצג בצילום המסך הבא.

UI Pipeline Geospatial

סיכום

בפוסט זה הצגנו סיכום של התהליכים שיישמנו עם יכולות גיאו-מרחביות של SageMaker לבניית צינורות נתונים גיאו-מרחביים עבור המוצרים המתקדמים שלנו מ-xarvio Digital Farming Solutions. השימוש ב- SageMaker geospatial הגדיל את היעילות של העבודה הגיאו-מרחבית שלנו ביותר מ-50%, באמצעות שימוש בממשקי API מובנים מראש שמאיצים ומפשטים את שלבי העיבוד המוקדם והמודלים שלנו עבור ML.

כשלב הבא, אנו משלבים דגמים נוספים מהקטלוג שלנו ל- SageMaker כדי להמשיך באוטומציה של צינורות הפתרונות שלנו, ונמשיך להשתמש בתכונות גיאו-מרחביות נוספות של SageMaker ככל שהשירות יתפתח.

אנו ממליצים לך לנסות את היכולות הגאו-מרחביות של SageMaker על ידי התאמת המחברת לדוגמה מקצה לקצה שסופקה בפוסט זה, וללמוד עוד על השירות ב מהן יכולות גיאו-מרחביות של Amazon SageMaker?.


על הכותבים

ג'וליאן בלאוג'וליאן בלאו הוא מדען נתונים ב-BASF Digital Farming GmbH, הממוקמת בקלן, גרמניה. הוא מפתח פתרונות דיגיטליים לחקלאות, העונים על הצרכים של בסיס הלקוחות הגלובלי של BASF על ידי שימוש בנתונים גיאו-מרחביים ולמידת מכונה. מחוץ לעבודה, הוא נהנה לטייל ולהיות בחוץ עם חברים ובני משפחה.

אנטוניו רודריגסאנטוניו רודריגס הוא ארכיטקט פתרונות מומחה לבינה מלאכותית ולמידת מכונה בשירותי האינטרנט של אמזון, שבסיסו מספרד. הוא עוזר לחברות בכל הגדלים לפתור את האתגרים שלהן באמצעות חדשנות, ויוצר הזדמנויות עסקיות חדשות עם שירותי AWS Cloud ו-AI/ML. מלבד העבודה, הוא אוהב לבלות עם משפחתו ולעשות ספורט עם חבריו.

בול זמן:

עוד מ למידת מכונות AWS