2019 年 6 月
June 2019
第 34 卷,第 6 期
Vol. 34, No. 6
本文章是由機器翻譯。
This article is translated by a machine.
With Stefano Tempesta
本文章中的,有兩個部分,導入了以原則為基礎的授權模型,在 ASP.NET Core 3 中,其目標是為了減少從基礎的使用者角色的授權邏輯。它會呈現根據生物特徵辨識的資訊,例如臉部或語音辨識此授權程序的特定範例。在此情況下,要了解建置有限制存取時偵測到未經授權的入侵。內建於 Azure Machine Learning 異常偵測服務會評估入侵的嚴重性。
There are two parts of this article that guide the original-based authorization model, which in ASP.NET Core 3 aims to reduce the logic of the authorization of user roles from the base. It presents specific examples of the authorization process that are based on bio-sensors, such as face or voice recognition. In this case, it is understood that the built-up restricted access detects an unauthorized invasion. The built-up Azure Machine Learning unusual detection service evaluates the severity of the invasion.
內容是非常安全的站台 — 把軍事區域中,或醫院中或資料中心。存取限於獲得授權的人員,但有一些限制。下列步驟描述在每一個人簽入建置的門強制執行安全性流程:
Access is limited to authorized persons, with some limitations. The following steps describe the security process that is enforced in the door that each person signs into the building:
- 要求存取建置 swipes 人員讀卡機門的傳遞其存取權。
- 相機偵測的動作,和擷取的臉部和內文的人;這應該會阻止列印照片,比方說,來誘騙僅臉部辨識相機使用。
- 讀卡機與數位相機會註冊為物聯網 (IoT) 裝置,並記錄的資料串流到 Azure IoT 中樞。
- Microsoft 認知服務會比較比對資料庫的人員存取建置權限的人員。
- 授權流程符合生物特徵辨識存取一次傳遞之人員的身分識別的 IoT 裝置所收集的資訊。
- Azure Machine Learning 服務會叫用來評估風險層級的存取要求,以及它是否未經授權的入侵。
- 授權是授與 ASP.NET Core Web API 檢查上一個步驟中所定義的設定檔所擁有的特定原則需求。
如果偵測到之人員的身分識別和存取階段之間不相符,就會立即封鎖網站的存取權。否則,流程會繼續檢查是否任何的下列異常已發生:
If the identity of the person detected does not match the access stage, access to the site will be blocked immediately. Otherwise, the process will continue to check whether any of the following anomalies have occurred:
- 非典型的存取權的建置頻率。
- 是否該人員已結束建置稍早 (查看)。
- 每日,允許存取的數目。
- 該人員是否在待命中。
- (您可能不想要存取限於 canteen,但強制執行更嚴格的原則,來存取伺服器的資料中心) 的建築的危險程度。
- 是否該人員將某人或某物以及其他。
- 過去的發生次數的類似存取同一個建築物的 typologies。
- 在過去,測量風險層級變更。
- 入侵偵測到在過去的數目。
異常偵測服務會在 Azure Machine Learning 中執行,並傳回一個分數,以存取為標準,差,很可能表示。分數以介於零和一,其中 0 是 「 沒有偵測到的風險 」,限; 的所有好、 完全信任而立即之一就是 「 紅色警示,「 封鎖存取 !每個構成的風險層級決定會被視為可接受的允許存取建置的任何值小於或等於零的臨界值。
Unusual detection services will run in Azure Machine Learning and return a score for access as standard, poor and likely to indicate. The score is between zero and one, of which zero is the "risk undetected" limit; one of all good, fully trusted and immediately is "Red Warning, " Block Access! Every constructed risk level decision will be considered to be any value less than or equal to zero in acceptable permitted access construction.
ASP.NET Core 提供簡單的授權宣告式的角色和豐富的以原則為基礎模型。授權需求,以表示和處理常式評估使用者的宣告,針對這些需求。用於授權使用者存取站台,我將說明如何產生自訂的原則需求和其授權的處理常式。如需有關在 ASP.NET Core 中的授權模型的詳細資訊,請參閱文件,網址bit.ly/2UYZaJh。
ASP.NET Core provides a simple grant-proclamation role and a rich principle-based model. Licensing needs, for example, represent and process a regular evaluation of user announcements. For access to the site, I will explain how to generate custom requirements and the regularity of authorization. For details about the authorization model in ASP.NET Core, please refer to the document at .
如前所述,自訂以原則為基礎的授權機制會依需求和 (通常) 的授權處理常式而組成。要了解建置的存取權授與包含叫用 API 解除鎖定,進入的門。IoT 裝置串流到 Azure IoT 中樞,進而又觸發驗證工作流程,藉由公佈的站台識別碼時,站台的唯一識別碼的生物識別資訊。Web API 的 POST 方法只會傳回 HTTP 代碼 200 與 JSON 訊息,使用者名稱和站台識別碼的授權是否成功。否則,會擲回預期的 HTTP 401 未經授權的存取錯誤程式碼。不過,為了讓我們:我一開始 Web API,特別是 ConfigureServices 方法,其中包含執行 ASP.NET Core 應用程式的指示來設定必要的服務之啟動類別。授權原則會新增的服務物件上呼叫 AddAuthorization; 方法。AddAuthorization 方法會接受必須擁有由 API 函式時叫用授權其執行的原則的集合。我需要只能有一個原則在此情況下,我稱之為 「 AuthorizedUser。 」 此原則,不過,有數個需求,以符合,其反映的人員,我想要確認的生物識別特徵: 臉部、 body 和語音。三個需求會分別表示由特定類別可實作 IAuthorizationRequirement 介面,如中所示**[圖 1**。列出時 AuthorizedUser 原則的需求,我也會指定所需的符合需求的信賴等級。如先前所述,介於 0 與 1 之間的這個值表示的識別對應的生物特徵辨識屬性的精確度。我會回到這稍後討論生物特徵辨識與認知服務時。
The IOT device flows to Azure Iot, which triggers the validation process, based on the unique biological knowledge of the station when it is identified by the public station. Web API's POST method is organized according to demand and (normally) authorization. Web API's POT method is designed to return only the HTTP code 200 and JSON's code 200 and JSON's code of access, and the user's name and station code of access have succeeded. The IOT device flows back into Azure Iot, and is designed to initiate and verify the process.
[圖 1 設定 Web API 中的授權需求
[Chart 1 Configure Licensing Needs in Web API]
AuthorizedUser 授權原則包含多個授權需求,而且所有的需求必須通過才能成功原則評估的順序。換句話說,多個加入至單一授權原則的授權需求視為 AND 為基礎。
In other words, many of the licensing needs that have been added to the single-licensing principles are based on AND.
我在解決方案中實作的三個原則需求是實作 IAuthorizationRequirement 介面的所有類別。這個介面是實際空的。也就是說,它並不要求任何方法的實作。我已藉由指定公用 ConfidenceScore 屬性來擷取預期的層級的辨識 API 應該符合考量這項要求成功的信心,一致地實作三個需求。FaceRecognitionRequirement 類別看起來像這樣:
The three principles that I have put in place in the solution are to implement all the categories of the IATHORITYRequirement interface. The interface is practical. That is, it does not require any way to do it. The API, which I have identified with the designation of the public use of ConfidenceScore attributes, should match the confidence of success in this requirement and make three needs in a coherent manner. FaceRecitionRequirement would look like this:
同樣地,主體及語音辨識的其他需求,分別中實作的 BodyRecognitionRequirement 和 VoiceRecognitionRequirement 類別。
Similarly, the main body and other needs of speech recognition are distinguished between BodyReconventionRequirement and VoiceRequirement.
若要執行的 Web API 動作的授權是透過 Authorize 屬性控制。簡單來說,請將 AuthorizeAttribute 套用到控制器或動作的限制存取,該控制站或任何已驗證使用者的動作。控制存取網站的 Web API 會公開單一的存取控制站,其中包含後置動作。如果指定的 「 AuthorizedUser 」 原則中的所有需求均都符合,授權這項動作:
To execute the Web API action, authorization is given through the Authorize attribute control. In short, apply the Authorize Attribute to the controller or action restricted access, the control station or any action that has been verified for the user. The Web API controlling access to the site will publish a single access control station containing a back action. If all requirements in the specified "AuthorizedUser" principle are met, the action is authorized:
每項需求由授權處理常式,如**[圖 2**,它會負責評估的原則需求。您可以選擇將單一的處理常式,如需所有需求或不同的處理常式,為每項需求。此第二種方法是更有彈性,因為它可讓您設定的授權需求,您可以輕鬆地設定啟動類別中的漸層。臉部、 body 和語音要求處理常式延伸 AuthorizationHandler < TRequirement > 抽象類別,其中 TRequirement 是要處理的需求。因為我想要評估三個需求,我必須撰寫擴充 AuthorizationHandler FaceRecognitionRequirement、 BodyRecognitionRequirement 和 VoiceRecognitionRequirement 每個自訂處理常式。具體來說,HandleRequirementAsync 方法,判斷是否符合授權需求。此方法,因為它是非同步的不會傳回真正的值,除非是用來表示工作已完成。處理授權叫用授權處理常式內容成功方法標示為 「 成功 」 的需求所組成。這實際上會驗證由 「 辨識器 」 物件,在內部使用認知服務 API (在下一節中詳述)。辨識執行的動作,使用 Recognize 方法時,所取得的已識別的人員名稱,並傳回值 (分數) 所表示的識別是多個 (趨近於值其中一個) 的信心層級或更少 (值愈接近零) 精確。API 設定中指定預期的層級。您可以調整此值,以任何臨界值是適用於您的解決方案。
Each need is dealt with in a regular way, such as ** [map 2**], which is responsible for evaluating the original needs. You can choose a single routine, if all needs or different ones are required, for each need. The second option is more robust, because it allows you to easily configure the incremental layers of the different types. Face, body and voice require that the usual extension of AuthoralHandler & & lt; TReequirement & gt; Abstract, where the needs are addressed. Because I want to evaluate three needs, I have to write an extension of AuthorizationHandler Face Recognition Requirement and ViiceRequirement, which are not used by the user.
[圖 2 的自訂授權處理常式
[Chart 2’s custom of self-licensing]
除了評估特定的需求,授權處理常式也會加入至目前使用者的身分識別宣告。建立身分識別時,它可能會指派一或多個受信任的合作對象所發出的宣告。宣告是代表主體的是名稱 / 值組。在此情況下,我要指派至內容中的使用者的身分識別宣告。此宣告然後擷取存取控制站的 Post 動作中,並作為 API 的回應的一部分傳回。
In addition to assessing specific needs, the authorized routine will be added to the current user's identification announcement. When creating identity recognition, it may assign one or more trusted partners to a declaration. The declaration is for the body's name/ value group. In this case, I will assign the user's identification declaration to the content. This announcement then retrieves the access control station's Post action and returns it as part of the API response.
若要啟用此自訂授權程序執行的最後一個步驟是註冊的 Web API 中的處理常式。在設定期間的服務集合中註冊處理常式:
The last step to enable this self-licensing process to be executed is the usual processing in registered Web API. Registering normal processing in regular service pools:
此程式碼會註冊每個需求處理常式為單一性,在 ASP.NET Core 中使用的內建的相依性插入 (DI) 架構。當應用程式啟動時,建立執行個體的處理常式將而且 DI 插入相關物件的已註冊的類別。
This code will register the built-in dependencies (DI) structure used in ASP.NET Core. When the application is activated, create the type of disposal normal for the individual to be executed and the DI to be inserted into the relevant object is registered.
解決方案會使用 Vision API 的 Azure 認知服務,來識別個人的臉部和主體。如需 API 認知服務和詳細資料的相關詳細資訊,請瀏覽bit.ly/2sxsqry。
The solution will use the Azure recognition service of Vision API to identify a person's face and body. For more detailed information about API recognition services and details, please visit data-linktype="external"bit.ly/2sxsqry.
視覺 API 提供臉部屬性偵測和臉部驗證。臉部偵測是指能夠偵測影像中的人臉。API 會傳回處理過的映像 」 中的臉部位置的矩形座標,並選擇性地,可以擷取一系列的臉部相關屬性,例如前端的姿勢、 性別、 年齡、 表情、 鬍子,和眼鏡。臉部驗證,相較之下,執行對個人的預先儲存的臉部偵測臉部的驗證。實際上,它會評估是否兩張臉部是屬於同一個人。這是我在此安全性專案中使用特定 API。若要開始,請將下列 NuGet 套件新增至您的 Visual Studio 方案:Microsoft.Azure.Cognitive-Services.Vision.Face 2.2.0-preview
Visual API provides facial attribute detection and face proof. Face detection refers to a person's face that can detect images. API returns the rectangular coordinates of the face position in the image processed "and chooses to capture a range of face-related properties, such as the position at the front, sex, age, emoticons, beards, and eyeglasses. Face-testing, in contrast, performs a pre-saved face-test test on a person. In fact, it evaluates whether two faces belong to the same person. This is the specific API that I use in this safety study. To start, please add the following Nuget package to your Visual Studio program:.Azure.Cognative-Services.Vision.Face 2.2.
.NET managed 的封裝處於預覽狀態,因此請確定您已勾選 「 包括發行前版本 」 選項時瀏覽 NuGet 中所示**[圖 3**。
The covers of.NET management are in preview status, so make sure you have checked the "including pre-distribution" option to view the ** [figure 3**] shown in NuGet.
[圖 3 的人臉識別 API 的 NuGet 套件
使用.NET 的套件,臉部偵測和辨識會直接。更廣泛地說,臉部辨識描述比較兩個不同的臉部,以判斷它們是類似的工作,或屬於同一個人。辨識作業大部分會使用中所列的資料結構**[圖 4**。
More broadly, facial recognition describes two different faces in order to determine whether they are similar jobs or belong to the same person. Most of the recognitions use the data structures listed ** [figure 4**].
圖 4 的資料結構的人臉識別 API
API for data structure 4
名稱 | 描述 |
DetectedFace | 這是臉部偵測作業擷取的單一字體表示法。建立後的 24 小時到期其識別碼。 |
PersistedFace | 當DetectedFace物件加入至群組 (例如 FaceList 或個人),它們會變成 PersistedFace 物件,其中可以隨時擷取,因此不會過期。 |
FaceList/LargeFaceList | 這是各種的份PersistedFace物件。A FaceList都有唯一的識別碼,名稱字串和 (選擇性) 使用者的資料字串。 |
人員 | 這是一份PersistedFace屬於同一個人的物件。它有一個唯一的識別碼,將名稱字串,並選擇性地使用者資料字串。 |
PersonGroup/LargePersonGroup | 這是各種的份人員物件。它有一個唯一的識別碼,將名稱字串,並選擇性地使用者資料字串。A PersonGroup必須接受訓練,然後用於辨識作業。 |
驗證作業會從清單中偵測到的臉部 face ID 接受映像 (DetectedFace 集合),並判斷是否張臉屬於同一個人藉由比較針對存留的臉部 (PersistedFace) 的集合識別碼。保存有唯一的識別碼和名稱,識別個人的臉部影像。(選擇性),以提升辨識效能 PersonGroup 中收集一群人員。基本上,人員是身分識別的基本單位,且將 person 物件可以註冊的一或多個已知的臉部。每一個人定義於特定的 PersonGroup 內 — 一堆人 — 和識別是針對 PersonGroup。安全性系統會建立一或多個 PersonGroup 物件,並與其建立關聯的人員。一旦建立群組時,必須訓練 PersonGroup 集合之前識別可以使用它來執行。此外,它已重新訓練之後新增或移除任何人,或如果任何人編輯其已註冊的臉部。訓練,即可 PersonGroup 訓練 API。使用用戶端程式庫時,這是只要 TrainPersonGroupAsync 方法的呼叫:
The verification industry will receive images of the face face (DetectedFace collection) from the list, and will determine whether the face belongs to one or more known faces that the same person can register with a comparison of the remaining face (PersistedFace). The only identity and name are saved, and the face image of a person is identified. (optional) to improve the effectiveness of the identification of a group of people. (Photo) To collect a group of people from the PeopleGroup.) Essentially, a group of people is the basic unit of identity, and one or more known faces that can be registered with the people.
訓練是非同步程序。此外,它不可能完成 TrainPersonGroupAsync 方法傳回時,即使。您可能需要使用 GetPersonGroupTrainingStatusAsync 方法查詢訓練狀態,直到它準備之前進行與臉部偵測或驗證。
Training is a non-sync program. Moreover, it is not possible to complete the TrainPersonGroupAsync method when it returns, even if it is. You may need to use the GetPersonGroupTrainingSatusAsync method to check the training status until it is ready for a facial detection or validation.
時執行臉部驗證、 人臉識別 API 會計算相似度的之間在群組內,所有臉部偵測的臉部,並傳回該測試表面最類似的借。這是透過用戶端程式庫的 IdentifyAsync 方法。所面臨的測試必須使用上述的步驟,來偵測和臉部識別碼會傳遞至第二個引數識別的 API。可辨識多個臉部識別碼,且結果將會包含所有身分識別的結果。根據預設,身分識別會傳回最符合所面臨的測試只能有一個人。如果您想,您可以指定選擇性參數 maxNumOfCandidatesReturned,以便識別傳回多個候選項目。中的程式碼**[圖 5**示範用來識別和驗證臉部的程序:
This is the IdentifyAsync method used in the client library. The tests must be conducted using the steps described above to detect and identify the face to the second API. Multiple face identifiers can be identified, and the results will include all identification results. According to the default, identification will be returned to the most appropriate test available. If you want, you can specify an optional reference to maxNumOfCandidatesReturned, so that you can see the API from the multi-optional ** [Chart 5** Instructions to identify and test the face:
[圖 5 臉部辨識程序
[Figure 5] Face recognition program
首先,您需要取得的用戶端物件的人臉識別 API,藉由傳遞您的訂用帳戶識別碼和 API 端點。您可以從您的 Azure 入口網站,您佈建的人臉識別 API 服務來取得這兩個值。然後,您會偵測任何可見影像,做為資料流傳遞至用戶端的臉部物件的 DetectWithStreamAsync 方法中的臉部。臉部物件實作人臉識別 API 偵測、 驗證的作業。從 [偵測到的表面,確保只有一個實際偵測到,並取得其識別碼,其已註冊的臉部集合中的所有授權的人可以存取該網站的唯一識別碼。IdentifyAsync 方法再執行內的 PersonGroup 偵測的臉部識別,並傳回一份最佳的相符項目或候選項目,依照信賴等級。第一個候選的人員識別碼,擷取人員名稱,最後會傳回至存取 Web API。為了滿足臉部授權需求。
First, you need to acquire user face recognition API by transmitting your custom account identification and API endpoints. You can get these values from your Azure portal, where you have created a human face recognition API service. Then you will detect any visible images that can be used as the only identifier in the face transfer to the client's face. IdentifyAsync method for the face recognition API detection, and verify it.
Azure 認知服務說話者辨識 API 提供演算法進行說話者驗證和說話者識別。語音都有獨特的特性,可用來識別個人,像指紋一樣。這篇文章中的安全性解決方案會使用語音做為存取控制的訊號該處主體指示對著麥克風註冊為 IoT 裝置的複雜密碼。就如同使用臉部辨識、 語音辨識也需要獲得授權的人員預先註冊。說話者 API 呼叫的已註冊的人員 」 設定檔 」。 說話者的語音說出特定片語,記錄時註冊設定檔,則會擷取許多功能,並辨識所選的語句。在一起,同時擷取的特點和所選語句表單唯一的語音簽章。在驗證期間,輸入的語音及語句比較針對註冊的語音簽章和片語時,才可以確認是否它們來自同一人,而且片語正確無誤。
Azure recognizes that API provides algorithms for speaking and speaking people to identify. Voicefuls have unique features that can be used to identify individuals, like fingerprints. The security solution in this article uses a voice as a signal for access control. The main instruction is that the microphone is registered as a complex code for the IOT device. It is like using face recognition, voice recognition, and the only voice signature of the selected statement that needs to be pre-registered by the authorized person.
查看程式碼實作,說話者 API 不會受益於臉部 API,例如 NuGet 中的 managed 封裝因此我要採用的方法是叫用 REST API 直接與 HTTP 用戶端要求和回應機制。第一個步驟是具現化 HttpClient 進行驗證和資料類型所需的參數:
View code implementation, API the Talker will not benefit from face API, for example, the managed seal in NuGet, so the way I'm going to use is to use REST API directly with the HTTP client request and responder system. The first step is the parameter required to present HttpClit for authentication and data type:
中的 Recognize 方法**[圖 6**幾個步驟,在開發的如下所示:取得音訊資料流,從站台 IoT 裝置之後, 它會嘗試找出該音訊,針對已註冊的設定檔的集合。識別會編碼 IdentifyAsync 方法中。這個非同步方法會準備包含音訊資料流和識別設定檔識別碼,並提交至特定端點的 POST 要求的多部分要求訊息。如果來自 API 的回應是 HTTP 代碼 202 (已接受),則傳回的值是在背景執行作業的 URI。這項作業,在已識別的 URI,會檢查所完成的 Recognize 方法每隔 100 毫秒。當它成功時,您已取得已識別的人員的設定檔識別碼。具有該識別碼,您可以繼續的音訊資料流,也就是最終的確認錄製的語音屬於識別人員驗證。這被實作在 VerifyAsync 方法中,運作方式類似 IdentifyAsync 方法不同之處在於它會傳回 VoiceVerificationResponse 物件,其中包含的人,因此其名稱的設定檔。驗證回應會包含信心層級,也會存取 Web API,以傳回與人臉識別 API 一樣。
The non-synchronous method ** [figure 6**], as shown by the development of the following: Acquires audio data stream, after which it will try to find the message from the IOT device. If the response from the API is HTTP code 202 (accepted), the return value will be in the background profile of the registered profile. The IdentifyAsync method will be coded. The non-sync method will contain audio data stream and recognition file identifiers, and will submit multiple parts of PIST requests for information to the particular endpoint. If the response from the API is HTTP code 202 (received), it will be in the background profile of URI. In the known URI, the Recognize method will be checked at 100 milliseconds. When it succeeds, it will also be in the profile of the identified user.
[圖 6 語音辨識
[figure 6 Voice recognition]
我想要新增幾個其他註解,了解此 API,指出如何與人臉識別 API。語音驗證 API 會傳回 JSON 物件,其中包含已辨識的片語、 信賴等級 (Low、 Normal 或 High) 及驗證操作 (接受或拒絕) 的整體結果:
I would like to add a few additional comments to this API, pointing out how to identify API with the human face. API will return a JSON object with a recognized phrase, belief level (Low, Normal or High) and a full (accepted or rejected) validation operation:
此物件會對應至 VoiceVerificationResponseC#類別的方便的在 VerifyAsync 方法中的作業,但其層級的信心,會以文字:
The object will deal with the convenient work in the VerifyAsync method that corresponds to VoiceVerificationResponseC#, but its level of confidence will be in text:
讓我指定一些數值信心列舉型別的,存取 Web API,相反地,將十進位值 (雙精度浮點資料類型) 必須介於 0 與 1:
Allow me to specify some value confidence tabs to access Web APIs and, on the contrary, to have a decimal value (double floating point data type) between 0 and 1:
我接著轉換這些值為 double,然後傳回給存取 Web API:
I then convert these values to double, and then return to access Web API:
這就是第一部分中,我所討論的整體站台存取安全性流程,並涵蓋使用自訂原則和需求的 ASP.NET Core Web API 中的授權機制的實作。我接著說明臉和語音辨識,其使用相關的認知服務 API,來限制的生物特徵辨識資訊為基礎的存取機制預先授權,或已註冊個人設定檔中。在這篇文章的第二個部分中,我要示範從 IoT 裝置作為要求存取,以及最終的確認或解除鎖定 (鎖定 !) 的存取媒體櫃門存取 api 的觸發點進行串流處理的資料。我也會說明 machine learning 為基礎的異常偵測服務會執行任何存取嘗試,來識別其風險。
This is the first part, where I discuss access to secure processes at the entire site, and covers the implementation of the licensing system in ASP.NET Core Web API, which uses custom rules and needs. I go on to explain face and voice recognition, which uses associated recognition services API, to limit bio-specific identification information as a pre-granting access to the basic system, or in registered personal profiles. In the second part of this article, I would like to demonstrate that IOT devices are used as a request for access and, ultimately, to confirm or remove locking (locking!), access media cabinets to access api triggers.
此初始方案一部分的原始程式碼位於 GitHub 上的bit.ly/2IXPZCo。
The original code for part of this initial program is on GitHub.
Stefano Tempesta是 Microsoft 區域經理、 MVP AI 及商務應用程式和區塊鏈委員會 (英文) 的成員。在國際 IT 研討會發表演說,包括 Microsoft Ignite 和 Tech Summit 發言,Tempesta 的興趣會延伸到區塊鏈和 AI 相關技術。他建立 Blogchain 空間 (blogchain.space),區塊鏈技術的相關部落格 MSDN Magazine 和 MS Dynamics 世界中,將寫入,並將發佈機器學習服務實驗,在 Azure AI 資源庫 (gallery.azure.ai)。
感謝下列 Microsoft 技術專家檢閱這篇文章:Barry Dorrans
Thank you for reading this article by Microsoft technologist Barry Dorrans.
注册有任何问题请添加 微信:MVIP619 拉你进入群
打开微信扫一扫
添加客服
进入交流群
发表评论