트레이딩을 위한 ONNX 학습 - 페이지 12

 

DJL 및 ONNX Runtime으로 고성능 모델 추론 솔루션 구축



DJL 및 ONNX Runtime으로 고성능 모델 추론 솔루션 구축

Deep Java Library(DJL)는 Java에 구축된 기계 학습 라이브러리로, 딥 러닝 라이브러리를 추상화하고 Apache MXNet, TensorFlow 및 PyTorch와 같은 여러 백엔드를 제공합니다. 이 라이브러리에는 다양한 작업을 위한 일련의 사전 훈련된 모델이 있으며 서비스 준비가 되어 있으며 메모리 사용을 제어하면서 최고의 성능을 보장하기 위해 엄격한 테스트를 거쳤습니다. 스피커는 또한 두 엔진을 함께 로드하는 하이브리드 엔진 개념을 도입하여 추론을 위해 엔진 간에 보다 원활한 전환을 제공합니다. 추가 개발에는 ARM 서버 지원, Android 장치에서 ONNX Runtime 실행, 에지 장치에 하이브리드 엔진 솔루션 제공이 포함됩니다.

  • 00:00:00 이 섹션에서 발표자는 DJL(Deep Java Library) 및 ONNX Runtime과의 통합을 소개합니다. 이 라이브러리는 Amazon 내부 및 외부 모두에서 기계 학습 사용 사례에 대해 우수한 성능을 발휘하는 것으로 입증되었습니다. DJL은 딥 러닝 라이브러리를 추상화하고 Apache MXNet, TensorFlow 및 PyTorch와 같은 여러 백엔드를 제공하는 Java 기반 기계 학습 라이브러리입니다. DJL에는 Hugging Face 및 Torch Hub의 인기 있는 모델을 포함하여 이미지 분류, 개체 감지, 감정 분석 및 동작 인식과 같은 작업을 위한 일련의 사전 훈련된 모델이 있습니다. DJL의 장점은 서비스 준비가 되어 있고 메모리 사용을 제어하면서 최고의 성능을 보장하기 위해 엄격한 테스트를 거쳤다는 것입니다. 연사는 또한 ONNX Runtime 및 DJL을 활용한 성공적인 고객 사용 사례를 공유하여 스레드 안전을 지원하지 않는 TensorFlow 및 PaddlePaddle과 같은 다른 딥 러닝 프레임워크에서 변환하는 경우에도 모델 추론 속도 및 멀티스레딩 추론의 상당한 개선을 보여줍니다. 멀티스레딩.

  • 00:05:00 이 섹션에서 발표자는 기본 제공 연산자가 부족하여 무차원 배열에 대해 Java에서 전처리 및 후처리를 수행하기 어려워 ONNX Runtime 사용자가 직면한 문제에 대해 논의합니다. 작업. 그들은 두 엔진을 동시에 함께 로드하여 추론을 위해 엔진 간에 보다 원활한 전환을 허용하는 하이브리드 엔진이라는 새로운 개념을 제안합니다. Deep Java Library는 사용자가 모델을 로드하는 방법을 정의할 수 있는 기준 클래스를 제공하고 변환기는 전처리 및 후처리를 수행하기 위한 추상화를 제공합니다. 또한 비용 효율적인 메모리 수집을 제공하기 위해 Java의 가비지 수집 시스템을 대체하는 트리형 아키텍처인 ND Manager를 소개합니다. 연사는 ARM 서버 지원, Android 장치에서 ONNX Runtime 실행, 에지 장치에 하이브리드 엔진 솔루션 제공과 같은 추가 개발에 대해 언급합니다.
Build your high-performance model inference solution with DJL and ONNX Runtime
Build your high-performance model inference solution with DJL and ONNX Runtime
  • 2022.07.13
  • www.youtube.com
In many companies, Java is the primary language for the teams to build up services. To have ONNX model onboard and integration, developers faced several tech...
 

[FlexFlow Bootcamp 2020] FlexFlow 프런트엔드 지원: TensorFlow Keras, PyTorch, ONNX 등



[FlexFlow Bootcamp 2020] FlexFlow 프런트엔드 지원: TensorFlow Keras, PyTorch, ONNX 등

비디오의 이 섹션에서 발표자는 TensorFlow Keras, PyTorch 및 ONNX를 지원하는 FlexFlow Python API에 대해 설명합니다. 모델 생성 및 훈련 과정에는 연산자를 모델에 추가하고, 모델을 컴파일하고, 데이터 로더를 생성하고, 맞춤 함수 또는 맞춤형 훈련 절차를 사용하여 모델을 초기화/훈련하는 과정이 포함됩니다. 연사는 또한 FlexFlow의 Keras 및 PyTorch 모델 지원과 ONNX 중간 표현을 통해 기존 모델을 가져오는 기능에 대해서도 논의합니다. 그러나 FlexFlow를 빌드하는 데 사용되는 라이브러리와 ONNX Python 패키지를 빌드하는 데 사용되는 라이브러리 간에 일관성을 유지하는 것이 중요합니다.

  • 00:00:00 비디오의 이 섹션에서 발표자는 FlexFlow의 프런트 엔드 지원, 특히 Python API를 소개합니다. FlexFlow 런타임은 Stanford University, NVIDIA 및 Los Alamos의 연구원이 개발한 작업 기반 프로그램 시스템인 Legion 런타임 위에 구축됩니다. Python API는 cffi 라이브러리를 통해 C++ API를 호출하며 Python API의 얇은 계층은 C++ API를 사용하는 것과 동일한 성능을 제공합니다. 그런 다음 발표자는 먼저 구성 파일을 만든 다음 NCHW 형식으로 입력 텐서를 만드는 것과 관련된 FlexFlow Python API로 모델을 만드는 단계에 대해 논의합니다. 또한 Keras 및 ONNX에 대한 지원을 소개합니다.

  • 00:05:00 비디오의 이 섹션에서 연사는 TensorFlow Keras, PyTorch 및 ONNX를 지원하는 FlexFlow Python API를 사용하여 모델을 만들고 교육하는 프로세스에 대해 설명합니다. 연사는 항상 입력 텐서를 취하고 출력 텐서를 반환하는 컨볼루션 2D 연산자와 같은 연산자를 모델에 추가하는 방법을 설명하는 것으로 시작합니다. 다음 단계는 텐서를 할당하고 병렬화 전략 및 모델 융합을 최적화하는 모델을 컴파일하는 것입니다. 그런 다음 데이터 로더가 생성되고 모델이 초기화되고 맞춤 함수 또는 사용자 지정 교육 절차를 사용하여 교육됩니다. 연사는 또한 Python과 C++ API 간의 유사점을 강조하고 요청 시 새 연산자를 구현할 수 있는 기능과 함께 FlexFlow에서 지원하는 연산자 목록을 제시합니다. 마지막으로 발표자는 FlexFlow의 Keras 및 PyTorch 모델 지원에 대해 논의하고 실습을 위해 예정된 데모를 제공합니다.

  • 00:10:00 이 섹션에서 연사는 특히 ONNX 중간 표현을 통해 기존 모델을 FlexFlow로 가져오는 방법에 대해 논의합니다. ONNX 패키지를 사용하면 PyTorch 또는 TensorFlow와 같은 다른 딥 러닝 프레임워크에서 모델을 내보내고 동일한 파일 이름을 사용하여 FlexFlow로 가져올 수 있습니다. 그러나 FlexFlow를 빌드하는 데 사용되는 라이브러리가 ONNX Python 패키지를 빌드하는 데 사용되는 라이브러리와 동일한지 확인하는 것이 중요합니다. ONNX 지원은 아직 진행 중이며 패치를 환영합니다.
[FlexFlow Bootcamp 2020] FlexFlow Front-End Supports: TensorFlow Keras, PyTorch, ONNX, and more
[FlexFlow Bootcamp 2020] FlexFlow Front-End Supports: TensorFlow Keras, PyTorch, ONNX, and more
  • 2020.12.15
  • www.youtube.com
We are excited to announce the first FlexFlow bootcamp, 9:00-13:00 PDT December 11th 2020. The bootcamp is designed for people interested in using FlexFlow t...
 

.NET, PyTorch 및 ONNX 런타임으로 기계 학습 학습



.NET, PyTorch 및 ONNX 런타임으로 기계 학습 학습

.NET, PyTorch 및 ONNX Runtime을 사용한 머신 러닝 학습에 대한 이 비디오에서 발표자는 ONNX Runtime을 소개하고 머신 러닝 모델을 교육하는 다양한 단계를 설명합니다. 또한 딥 러닝을 위해 .NET과 함께 ONNX 형식을 사용하는 방법을 시연하고 정확한 모델 예측을 위한 하이퍼파라미터 및 최적화 방법 이해의 중요성에 대해 논의합니다. 연사는 또한 ONNX 런타임을 사용하여 모델을 로드하고 예측을 수행하는 방법과 세션을 실행할 때 try-block으로 잠재적인 오류를 처리하는 방법을 보여줍니다. 또한 예측에서 AI의 불확실성을 보여주기 위해 비확실성 벡터의 사용에 대해 논의하고 사기 탐지 및 추천 시스템과 같이 AI가 사용되는 일부 산업에 대해 언급합니다.

  • 00:00:00 ".NET, PyTorch 및 ONNX 런타임으로 기계 학습 학습" 비디오의 이 섹션에서 호스트는 ONNX 런타임과 딥 러닝을 위해 .NET과 함께 사용할 수 있는 방법을 소개합니다. 그들은 모델이 훈련되면 다음 단계는 모델 파일을 프로젝트로 가져와 답을 얻는 것이라고 설명합니다. 그들은 숫자를 인식하는 예를 사용하고 Convolutional Neural Network 모델이 있는 Py Torch GitHub 저장소를 보여줍니다. 또한 기본 제공 기능을 통해 Python용 IDE로서 VS Code의 유용성을 강조합니다.

  • 00:05:00 이 섹션에서 연사는 테스트 데이터를 사용하여 기계 학습 모델을 교육하는 방법에 대해 설명하고 손잡이를 조정하는 가장 좋은 방법을 알아낸 후에는 모델을 저장하고 물을 끕니다. 그들은 이미지가 0에서 9까지만 있기 때문에 출력에 10개의 요소가 있다고 설명하면서 0에서 9까지의 숫자 이미지로 훈련한 모델의 예를 보여줍니다. 그들은 또한 예측된 결과와 실제 결과의 차이를 측정하는 손실 함수와 얼마나 많은 결과가 정확하고 잘못된지를 측정하는 정확도의 중요성을 강조합니다. 연사는 머신 러닝 알고리즘이 높은 정확도를 달성하기 위해서는 올바른 모델 모양, 학습률, 배치 크기, 에포크와 같은 하이퍼파라미터, 다양한 데이터 세트에 대한 테스트를 선택하는 것이 필수 단계라고 제안합니다.

  • 00:10:00 비디오의 이 섹션에서 연사는 "신경망용 PDF"로 설명되는 ONNX 형식의 사용에 대해 논의합니다. ONNX 파일 생성을 시연한 다음 ONNX 런타임을 사용하여 .NET 애플리케이션 내에서 사용하는 방법을 보여줍니다. 각 추론에 대해 파일을 다시 로드할 필요가 없도록 추론 세션 전역 변수의 사용에 대해 설명합니다. 모델의 최적화 방법과 하이퍼파라미터를 이해하는 것의 중요성도 부각됩니다. 마지막으로 모델 간의 크기 차이와 이것이 예측의 어려움에 미치는 영향에 대해 설명합니다.

  • 00:15:00 이 섹션에서 연사는 특히 컴퓨터 비전의 맥락에서 ONNX 런타임을 사용하여 모델을 로드하고 예측하는 방법을 설명합니다. 그들은 숫자 3을 그리고 그것을 28 x 28픽셀 이미지로 변환하는 예를 사용하여 시연합니다. 그런 다음 단일 플로트 배열을 만들고 255를 빼면서 모든 색상의 평균을 구합니다. 발표자는 또한 t의 텐서 사용에 대해 논의합니다. , 메모리에 대한 효율적인 인덱싱과 올바른 입력을 위한 이미지 정규화의 중요성을 위해 ONNX 런타임에서 사용하는 데이터 유형입니다. 또한 명명된 ONNX 값에서 텐서를 생성하는 방법과 세션을 실행할 때 try-block으로 잠재적인 오류를 처리하는 방법을 보여줍니다.

  • 00:20:00 이 섹션에서 연사는 기계 학습을 사용하여 숫자를 인식하는 데 PyTorch 및 .NET을 사용하는 프로세스를 시연합니다. 시스템은 숫자를 행렬로 식별하고 최적화 알고리즘을 사용하여 특정 숫자를 식별하도록 훈련됩니다. 이 시스템은 "모르겠습니다"라고 말할 수 있는 기능이 없으며 대신 익숙하지 않은 입력이 제공될 때 틀릴 수 있더라도 항상 최선의 답변을 제공할 것입니다. 최종 출력은 확률 벡터이며 사람이 읽을 수 있는 형식으로 변환됩니다.

  • 00:25:00 이 섹션에서 발표자는 불확실성 벡터를 사용하여 AI의 예측 불확실성을 표시하는 방법에 대해 논의합니다. 발표자는 이 기능이 이러한 불확실성 데이터 세트에서 훈련된 경우에만 사용할 수 있다고 언급합니다. 그런 다음 연사는 머신 러닝에서 훈련 단계와 추론 단계의 차이점과 ML.NET에서 어떻게 분리되는지 설명합니다. 연사는 또한 ONNX 형식이 .NET 애플리케이션에서 사용될 수 있으며 일반적으로 신경망 모델과 같은 더 복잡한 데이터 세트에 사용된다고 언급합니다. 마지막으로 발표자는 AI가 현재 사기 탐지 및 추천 시스템과 같은 다양한 산업에서 사용되고 있다고 언급합니다.
Learning Machine Learning with .NET, PyTorch and the ONNX Runtime
Learning Machine Learning with .NET, PyTorch and the ONNX Runtime
  • 2019.02.05
  • www.youtube.com
ONNX is a open format to represent deep learning models that is supported by various frameworks and tools. This format makes it easier to interoperate betwee...
 

ML.NET에서 ONNX 모델을 읽고 쓰는 방법



ML.NET에서 ONNX 모델을 읽고 쓰는 방법

비디오는 서로 다른 프레임워크 간에 기계 학습 모델을 교환할 수 있도록 Microsoft와 Facebook에서 만든 개방형 형식인 ONNX를 소개하는 것으로 시작합니다. 발표자는 오픈 소스 및 플랫폼 간 기계 학습 라이브러리인 ML.NET이 ONNX 모델을 지원하는 방법을 설명합니다. 그런 다음 비디오는 ONNX Runtime 패키지를 사용하여 ML.NET 모델을 만들고 ONNX 파일로 내보내는 방법을 보여줍니다. ONNX 모델이 생성되면 이 비디오는 이를 사용하여 ML.NET의 새 데이터에 대한 예측을 수행하는 방법을 설명합니다. 전반적으로 이 비디오는 기계 학습 애플리케이션을 위해 ML.NET과 함께 ONNX 모델을 사용하는 방법에 대한 포괄적인 가이드를 제공합니다.

How to Read and Write an ONNX Model in ML.NET
How to Read and Write an ONNX Model in ML.NET
  • 2019.07.07
  • www.youtube.com
This video goes over ONNX and how to read and write an ONNX model using ML.NET.Code - https://github.com/jwood803/MLNetExamples/blob/master/MLNetExamples/Onn...
 

ONNX를 사용하여 scikit-learn ML 모델을 ML.NET과 통합 - 실용적인 ML.NET 사용자 그룹 2022년 2월 18일



ONNX를 사용하여 scikit-learn ML 모델을 ML.NET과 통합 - 실용적인 ML.NET 사용자 그룹 2022년 2월 18일

이 비디오에서 발표자는 ONNX를 사용하여 Scikit-learn 기계 학습 모델과 .NET 에코시스템의 통합에 대해 설명합니다. 그들은 클라이언트 시스템을 위한 기계 학습 모델을 구축, 배포 및 테스트하는 방법에 대한 실제 사례로 디지털 마케팅 분야에서 리드 스코어링을 사용합니다. 발표자는 리드 스코어링 프로세스를 설명하고 마케팅 및 영업 팀의 효율성을 극대화하는 자동화 도구 구축의 중요성을 강조합니다. 발표자는 클라이언트 시스템용 기계 학습 모델을 배포하는 문제에 대해 논의하고 솔루션으로 ONNX를 소개합니다. ONNX를 사용하여 Scikit-learn ML 모델을 ML.NET과 통합하는 데 사용되는 도구, 패키지 및 기술에 대한 개요를 제공합니다. 연사는 Azure Functions를 사용하여 .NET 에코시스템과 통합하기 전에 로지스틱 회귀 모델을 빌드 및 직렬화하고, ONNX 형식으로 변환하고, ONNX 모델을 실행하는 방법을 보여줍니다. 전반적으로 이 비디오는 ONNX를 사용하여 Scikit-learn ML 모델을 .NET 에코시스템과 통합하려는 개발자를 위한 실용적인 가이드 역할을 합니다.

이 실용 ML.NET 사용자 그룹 세션에서 발표자는 ONNX 형식을 사용하여 Dot Net 에코시스템에 통합할 수 있는 리드 스코어링 ONNX 모델을 만드는 방법을 보여줍니다. 구현은 ML.NET과 병렬로 사용할 수 있으므로 ML.NET을 사용하여 기계 학습을 수행하는 동안 ONNX 런타임을 사용하여 ONNX 모델을 실행할 수 있습니다. 발표자는 사용된 기술, 라이브러리 및 ONNX 모델 구축을 위한 단계별 지침이 포함된 GitHub 리포지토리를 공유합니다. ONNX 형식을 사용하면 플랫폼 간 런타임 엔진이 가능하며 데이터 과학자와 애플리케이션 개발자 간의 격차를 해소하는 데 도움이 됩니다. 세션의 가치는 다른 알고리즘과 함께 사용할 수 있는 개념 증명 시스템의 실제 구현에 있습니다.

  • 00:00:00 이 섹션에서 연사는 Scikit-learn 기계 학습 모델을 .NET 에코시스템에 통합하는 주제를 소개하고 이를 수행하는 방법에 대한 실용적인 예를 보여줍니다. 또한 ONNX(Open Neural Network Exchange Format)와 그것이 .NET 에코시스템 내에서 모델을 배포하는 데 어떻게 도움이 되는지에 대해 논의합니다. 연사는 리드 스코어링 프로세스를 자동화하는 보완 도구를 개발하기 위해 비즈니스 도메인 지식을 사용하여 디지털 마케팅 분야에서 팀의 리드 스코어링 프로젝트를 소개합니다. 리드 점수 매기기 프로세스에 대한 간략한 개요를 제공하고 하루가 끝날 때 실행되는 시스템 구축의 중요성을 강조합니다.

  • 00:05:00 이 섹션에서 발표자는 리드 변환 프로세스와 리드 스코어링 및 생성 프로세스를 최적화하는 데 있어 머신 러닝의 필요성을 설명합니다. 연사는 디지털 마케팅 및 영업 팀에서 생성하는 빅 데이터의 중요성과 데이터에 대해 미리 결정된 구조화된 형식의 필요성을 강조합니다. 기계 학습을 사용하여 감독 방식을 채택하여 과거 데이터를 검색하고 리드 전환 프로세스를 개선할 수 있습니다. 자동화된 도구는 가장 중요한 기능을 식별하고 마케팅 전략을 미세 조정하여 더 많은 리드를 생성하는 등 데이터에서 통찰력을 제공하여 마케팅 및 영업 팀의 효율성을 극대화하는 것을 목표로 합니다. 프로토타입에는 기계 학습 모델을 적용하기 전에 다양한 소스에서 데이터를 검색하고 데이터 정리, 탐색적 데이터 분석 및 데이터 준비와 같은 기존 데이터 과학 기술을 구현하는 작업이 포함됩니다.

  • 00:10:00 비디오의 이 섹션에서 발표자는 데이터 통찰력을 생성하고 머신 러닝 모델을 구축하는 과정과 이러한 모델을 고객과 회사에서 사용할 수 있도록 배포하는 문제에 대해 논의합니다. 이 배포 문제에 대한 가능한 솔루션으로 ONNX(Open Neural Network Exchange)를 소개합니다. ONNX는 그래프 형식으로 모델을 나타내는 파일 형식이며 프레임워크에 구애받지 않습니다. 즉, 다른 기계 학습 도구와 프레임워크 간에 공유할 수 있습니다. ONNX 런타임은 모델을 대상 환경에 통합하기 위한 API 집합이며 플랫폼 간 고성능입니다. 발표자는 ONNX 웹 사이트 및 GitHub에 대한 자세한 정보 링크를 제공합니다.

  • 00:15:00 이 섹션에서 발표자는 기계 학습 모델이 Python과 같은 데이터 과학 도구를 사용하여 개발된 후 클라이언트 시스템에 통합하는 문제에 대해 논의합니다. 그들은 ONNX를 모델의 통합 형식으로 사용하도록 권장하고 .NET 에코시스템에서 모델을 가져오고, 읽고, 빌드하고, 배포하고, 테스트하는 방법을 시연합니다. 발표자는 또한 데이터 기반 마케팅을 위한 프로토타입을 구축하는 데 사용할 수 있는 공개적으로 사용 가능한 리드 점수 데이터 세트에 대해 언급합니다. 리드 스코어링 시나리오에 대한 회귀 및 분류를 포함하여 데이터 정리, 탐색적 데이터 분석, 감독된 기계 학습과 같은 기술에 대해 논의합니다. 목표는 마케팅 및 영업 팀의 효율성을 극대화하고 가장 잠재 고객에게 집중하여 성과를 높이는 데 도움을 주는 것입니다.

  • 00:20:00 비디오의 이 섹션에서 연사는 ONNX를 사용하여 scikit-learn ML 모델을 ML.NET과 통합하는 데 사용하는 도구 및 패키지에 대한 개요를 제공합니다. 그들은 Python 컴퓨팅에 Anaconda 배포판, Python 기반 scikit-learn 라이브러리로 모델을 구축하기 위해 Jupyter 노트북, ONNX 버전 1.9 및 ONNX 런타임 버전 181이 포함된 .NET 버전 6을 사용하고 있다고 언급합니다. 발표자는 데이터 세트에 대해 간략하게 설명합니다. 데이터 랭글링, 탐색적 데이터 분석 및 성능 평가 메트릭을 위해 사용하고 구현한 기술입니다. 그들은 또한 Lipliner 알고리즘을 사용하여 분류 목적으로 로지스틱 회귀를 사용하여 82% 이상의 정확도로 로지스틱 모델을 구축했다고 언급합니다.

  • 00:25:00 이 섹션에서 발표자는 리드 스코어링을 예측하기 위한 로지스틱 회귀 모델을 구축한 다음 이를 Python의 피클 라이브러리를 사용하여 직렬화하여 pkl 파일로 저장하는 프로세스에 대해 설명합니다. 이후 프리젠터는 모델을 테스트하기 위해 pkl 파일을 로드하고 결과는 테스트 세트에서 0.76의 정확도를 나타냅니다. 발표자는 모델을 scikit-learn에서 ONNX 형식으로 변환하는 방법을 시연합니다. 이는 모델을 Microsoft.NET 에코시스템에 배포하는 데 필요합니다. 이 섹션은 ONNX를 사용하여 scikit-learn 기계 학습 모델을 ML.NET과 통합하는 방법에 대한 실용적인 가이드 역할을 할 수 있습니다.

  • 00:30:00 이 섹션에서 발표자는 ONNX를 사용하여 scikit-learn ML 모델을 ML.NET과 통합하는 프로세스에 대해 설명합니다. 기계 학습을 구현하기 전에 ML.NET의 ONNX 변환기에서 지원하는 알고리즘 목록을 확인하고 SK2ONNX 지원 변환기를 가져오는 방법을 시연할 것을 제안합니다. 그런 다음 모델을 저장할 경로와 기능 수를 정의하고 입력 이름 지정에서 스키마의 중요성을 강조하고 흐름 텐서 유형으로 변환합니다. 마지막으로 이전에 정의한 모델 및 초기 유형을 사용하여 convert_sklearn 함수를 사용하여 ONNX 모델을 빌드하는 방법을 보여줍니다.

  • 00:35:00 이 섹션에서 발표자는 Python 기반 scikit-learn 기계 학습 모델을 ONNX 형식으로 저장하는 방법과 ONNX 런타임의 추론 세션을 사용하여 ONNX 모델을 실행하는 방법을 시연합니다. ONNX 모델의 입력 이름이 식별되며 서명 출력 이름은 이 데모에서 중요하지 않습니다. 또한, predict_proba 메소드를 사용하여 전환 여부의 확률을 추출하여 리드 스코어링 모델의 지표 및 특정 시나리오 가중치로 사용합니다.

  • 00:40:00 이 섹션에서 연사는 scikit-learn ML 모델, 특히 로지스틱 회귀 모델을 ONNX를 사용하여 .NET 에코시스템과 통합하기 위해 Visual Studio 2022에서 빈 솔루션을 만드는 것으로 시작합니다. 그런 다음 화자는 솔루션에서 Azure 함수를 만들고 .NET 6을 HTTP 트리거로 구현하기 위한 상용구 코드를 가져옵니다. 그들은 Insomnia를 사용하여 JSON 형식 입력 기능으로 새로운 요청을 생성하고 시스템 통합을 위해 구문 분석 및 사용됩니다. 발표자는 NuGet에서 Microsoft ML ONNX 런타임 패키지를 설치하고 입력 기능 집합을 설명하는 클래스를 만듭니다. 그런 다음 화자는 코드 스니펫을 사용하여 통합 프로세스의 속도를 높입니다.

  • 00:45:00 이 섹션에서 발표자는 ML 모델에 대한 입력으로 보내기 위해 JSON 변환기를 사용하여 API에서 요청 본문을 검색하고 역직렬화하는 방법에 대해 설명합니다. LLSlead 점수 매기기 모델 매개변수 클래스의 개체를 만들고 역직렬화된 요청 본문의 값을 여기에 할당합니다. 또한 입력 텐서를 구현하고 입력 데이터를 텐서의 TensorFlow 개체로 변환하여 추론 세션에 통합할 수 있도록 하는 것의 중요성을 설명합니다. 마지막으로 ONNX 런타임을 사용하여 추론 세션을 생성하고 세션 출력을 검색하여 ML 모델을 실행합니다.

  • 00:50:00 이 섹션에서 발표자는 ONNX를 사용하여 scikit-learn ML 모델을 ML.NET과 통합하는 방법을 보여주려고 시도하지만 Visual Studio에서 기술적인 문제에 직면합니다. 문제 해결을 시도한 후 발표자는 코드 스니펫을 보여주고 통합에 필요한 필수 패키지 및 입력 텐서에 대해 논의합니다. 좌절에도 불구하고 발표자는 시청자가 직접 액세스하고 시도할 수 있도록 데모에 사용된 기능 및 입력 기능 세트에 대한 링크를 제공할 수 있습니다.

  • 00:55:00 이 섹션에서 발표자는 ONNX를 사용하여 scikit-learn 기계 학습 모델을 ML.NET과 통합하는 방법을 보여줍니다. 먼저 예측-확률 구현에서 확률 출력을 풀고 변환 여부의 확률을 나타내는 long 및 float 값의 사전으로 변환하는 방법을 보여줍니다. 그런 다음 이러한 확률을 사용하여 전환된 리드 점수와 전환되지 않은 리드 점수를 얻어 Insomnia 메시지에 표시합니다. 마지막으로 Jupyter 노트북을 사용하여 테스트 세트의 레코드가 모델로 전송되는 방법을 보여주고 해당 출력 값 1을 검색하여 개인이 변환될 가능성이 있음을 나타냅니다.

  • 01:00:00 이 섹션에서 발표자는 ONNX(Open Neural Network Exchange) 형식을 사용하여 다른 프레임워크의 일부로 구현할 수 있는 리드 스코어링 ONNX 모델을 생성하는 방법을 보여줍니다. 발표자는 이것이 TensorFlow, Keras 및 Dot Net 타겟팅 프레임워크를 사용하여 수행될 수 있음을 보여줍니다. 발표자는 또한 결과 ONNX 모델을 기반으로 이 파일 형식을 Dot Net 에코시스템에 통합할 수 있었고 이후에 세션을 실행하고 결과를 검색할 수 있는 간단한 솔루션을 구축할 수 있었음을 보여줍니다. 또한 ONNX 형식을 사용하여 플랫폼 간 런타임 엔진을 허용하고 데이터 과학자와 애플리케이션 개발자 간의 격차를 해소하는 데 도움이 되는 방법에 대해서도 논의합니다. 발표자는 Dot Net 생태계 내에서 ONNX 모델 통합을 시작하는 데 필요한 노트북 문서 및 작업 영역이 포함된 GitHub의 코드 리포지토리를 공유합니다.

  • 01:05:00 이 섹션에서 발표자는 사용된 기술, 라이브러리 및 ONNX 모델 구축을 위한 단계별 지침이 포함된 GitHub 리포지토리를 공유합니다. 가장 중요한 부분은 ONNX 및 ONNX 런타임 패키지의 통합입니다. . 또한 발표자는 ML.NET을 사용하여 기계 학습을 수행하면서 ONNX 런타임을 사용하여 ONNX 모델을 실행할 수 있도록 구현을 ML.NET과 병렬로 사용할 수 있음을 강조합니다. 마지막으로 발표자는 참석자들의 인내심과 시간에 감사하며 세션의 가치는 다른 알고리즘과 함께 사용할 수 있는 개념 증명 시스템의 실제 구현에 있다고 언급합니다.
Integrating scikit-learn ML Models with ML.NET Using ONNX - Practical ML.NET User Group 02/18/2022
Integrating scikit-learn ML Models with ML.NET Using ONNX - Practical ML.NET User Group 02/18/2022
  • 2022.02.18
  • www.youtube.com
A look at the technical approach addressing the challenge of converting and deploying machine learning models from Python and Scikit-learn to the .NET ecosys...
 

ONNX 및 .NET을 사용한 기계 학습 모델 | .NET 컨퍼런스 2022



ONNX 및 .NET을 사용한 기계 학습 모델 | .NET 컨퍼런스 2022

.NET Conf 2022의 "ONNX 및 .NET을 사용한 기계 학습 모델" 비디오는 시청자에게 딥 러닝과 기존 프로그래밍의 차이점을 포함하여 AI 및 기계 학습의 개념을 소개합니다. 발표자는 Azure Machine Learning, PyTorch 및 ONNX에 대한 개요를 제공하고 Azure Machine Learning을 사용하여 ONNX 및 .NET으로 기계 학습 모델을 교육하는 파이프라인을 만드는 방법을 시연합니다. 또한 기계 학습 모델을 .NET Maui 애플리케이션에 통합하는 방법을 설명하고 모바일 장치용 ONNX 모델의 크기를 줄이는 기술에 대해 설명합니다. 이 섹션은 접근성에 대해 논의할 다음 연사인 Rory를 소개하는 것으로 끝납니다.

  • 00:00:00 동영상의 이 섹션에서는 Beatriz와 Henk가 AI와 머신 러닝, 그리고 이 둘의 차이점을 소개합니다. 그들은 기계 학습이 AI의 하위 집합이며 알고리즘으로 명시적으로 프로그래밍하지 않고도 데이터에서 학습할 수 있는 능력이 있다고 설명합니다. 대신 제공된 데이터를 기반으로 모델을 생성하여 예측이나 결정을 내리는 데 사용할 수 있습니다.

  • 00:05:00 이 섹션에서 연사는 기계 학습의 훈련 단계와 예측 단계의 차이점을 설명합니다. 예측 단계는 모델이나 알고리즘에 입력을 제공하고 답변 또는 예측을 생성하며 기존 프로그래밍으로 해결하기 어려운 복잡한 문제를 해결할 수 있는 기존 프로그래밍과 같이 작동합니다. 연사는 뇌에서 영감을 얻은 인공 신경망을 기반으로 하는 머신 러닝의 하위 집합인 딥 러닝에 대해서도 이야기합니다. 비디오에서 발표자가 제시하는 데모는 분류, 객체 감지 및 이미지 분할을 포함하는 시각적 세계를 해석하고 이해하도록 컴퓨터를 훈련시키는 인공 지능 분야인 컴퓨터 비전을 사용합니다. 마지막으로 연사는 하나의 작업에 대해 훈련된 모델이 다른 작업의 시작점으로 사용되어 모델 훈련 시간을 절약하는 전이 학습의 개념에 대해 논의합니다.

  • 00:10:00 이 섹션에서 발표자는 기계 학습 모델에 사용할 두 가지 프레임워크인 PyTorch 및 ONNX에 대한 개요를 제공합니다. PyTorch는 발표자가 이 데모에서 선호하는 오픈 소스 딥 러닝 프레임워크이며, ONNX는 AI 개발자가 다양한 프레임워크에서 모델을 사용할 수 있도록 하는 기계 학습 모델을 나타내기 위해 구축된 개방형 형식입니다. 그들은 ONNX를 통해 PyTorch를 사용하여 모델을 생성한 다음 ONNX에 저장할 수 있으므로 .NET MAUI 내에서 해당 모델을 읽을 수 있다고 설명합니다. 또한 실험, 데이터 저장소, 환경 및 모델 관리와 같은 핵심 요소와 함께 공동 기계 학습 워크로드를 지원하는 클라우드 서비스 세트를 포함하는 Azure 기계 학습을 소개합니다. 그들은 PyTorch에서 모델을 교육하고 모델 관리에 등록하여 다른 사람들이 선택한 소프트웨어에서 확인하고 사용할 수 있기 때문에 모델 관리가 그들의 이야기의 핵심이라고 설명합니다. 또한 데이터 원본, 데이터 세트를 사용하고 컴퓨팅 대상에서 실행할 수 있는 단계의 워크플로인 기계 학습 파이프라인에 대한 개요를 제공합니다.

  • 00:15:00 이 섹션에서는 연사가 Azure Machine Learning Designer를 사용하여 ONNX 및 .NET으로 기계 학습 모델을 교육하는 파이프라인을 만드는 방법에 대해 설명합니다. 첫 번째 단계는 Blob Storage에 저장된 데이터를 검토하는 것입니다. 그런 다음 디자이너를 사용하여 구성 요소를 캔버스로 끌어다 놓을 수 있는 새 파이프라인을 만듭니다. 선택한 구성 요소에는 PyTorch 모델, ONNX 변환기 및 모델 트레이너가 포함됩니다. 구성 요소가 정의되면 화자는 BumbleBee라는 Azure Machine Learning 컴퓨팅에서 파이프라인을 실행합니다. 교육 파일의 구성 요소 정의 및 코드의 기능을 보여줍니다.

  • 00:20:00 이 섹션에서 발표자는 ONNX 및 .NET을 사용하여 기계 학습 모델을 만들고 이를 .NET Maui 애플리케이션에 통합하는 방법을 보여줍니다. 이 모델은 Python 및 PyTorch와 함께 Azure Machine Learning을 사용하여 학습되었으며 ONNX 형식으로 변환되었습니다. 그런 다음 모델을 모델 관리에 등록하고 .NET 애플리케이션에서 사용했습니다. 발표자는 데이터 과학자가 자신이 선택한 언어로 작업하고 개발자가 자신의 언어로 애플리케이션을 구축할 수 있도록 하는 것의 중요성을 설명합니다. 프레젠테이션에 사용된 모든 샘플 코드는 제공된 링크와 기계 학습 및 AI 개발자 역할에 대해 자세히 알아볼 수 있는 기타 리소스에서 찾을 수 있습니다.

  • 00:25:00 비디오의 이 섹션에서 발표자는 ONNX 모델의 파일 크기와 모델을 더 작게 만들고 모바일에서 더 잘 작동하는 데 사용되는 기술에 대해 논의합니다. 그들은 일부 성능을 희생하는 것을 의미하더라도 모델의 크기를 줄이는 데 전념하는 거대한 기계 학습 영역이 있음을 강조합니다. 또한 모바일 앱에서 다양한 AI 모델을 사용하는 Seeing AI라는 프로젝트를 언급하며 시청자가 직접 확인해 보라고 제안합니다. 마지막으로 발표자는 접근성에 대해 논의할 다음 연사로 Rory를 소개합니다.
Machine learning models with ONNX and .NET | .NET Conf 2022
Machine learning models with ONNX and .NET | .NET Conf 2022
  • 2022.11.14
  • www.youtube.com
Most machine learning models are trained in Python using frameworks like PyTorch and TensorFlow. You might expect that an application that runs the trained m...
 

.NET Live에서 - ONNX, C# .... 및 Pokemon을 사용하여 ML 모델 운영!



.NET Live에서 - ONNX, C# .... 및 Pokemon을 사용하여 ML 모델 운영!

이 On.NET Live 비디오에서 호스트는 ONNX로 기계 학습 모델 운영에 대해 논의하고 특별 게스트로 Cassie Kozyrkov를 초대합니다. Kozyrkov는 멘토링의 중요성을 강조하고 ONNX를 데이터 과학자와 소프트웨어 엔지니어 간의 격차를 해소하는 방법으로 사용하는 방법에 대해 논의합니다. 대화는 자연어 처리를 사용하여 기계 학습 모델을 만드는 것부터 데이터 변환의 중요성부터 보이지 않는 데이터로 테스트하고 Azure Functions를 통해 모델을 배포하는 것까지 다양한 주제를 다룹니다. 연사는 Azure Machine Learning과 ONNX 및 기계 학습 모델을 보다 광범위하게 탐색하는 데 관심이 있는 사람들이 사용할 수 있는 리소스에 대해서도 논의합니다.

On.NET Live 비디오에서는 ONNX, C# 및 (재미를 위해) Pokemon을 사용하여 ML 모델을 운영하는 방법에 대해 설명합니다. 첫 번째 발표자는 다양한 프레임워크에서 모델을 저장하고 로드할 수 있는 기계 학습 형식인 ONNX와 .NET을 사용하여 모델을 운영하는 방법에 대해 이야기합니다. 두 번째 발표자는 ML.NET을 사용하여 Pokemon 이미지 분류자를 만들고 배포를 위해 운영할 수 있는 방법을 보여줍니다. 전반적으로 비디오는 ONNX 및 C#을 사용하여 기계 학습 모델을 운영하는 방법에 대한 훌륭한 개요를 제공합니다.

  • 00:00:00 비디오의 이 섹션에서 호스트는 Onnx 및 아마도 Pokémon과 함께 기계 학습에 대해 논의할 특별 게스트인 Cassie를 소개합니다. 대화에는 Cassie와 팀이 사람들이 새로운 개발 기술을 배우고 경력 전환자에게 권한을 부여하는 데 도움을 주기 위해 개최한 .NET Conf 및 Start Dev Change와 같은 다가오는 컨퍼런스에 대한 발표도 포함됩니다. 컨퍼런스는 개인이 열정을 찾고 경력 변화를 추구하도록 돕기 위해 다양한 기술 분야를 다루었습니다.

  • 00:05:00 이 섹션에서 Cassie Kozyrkov는 멘토십의 중요성과 사람들이 Start Dev Change와 같은 이니셔티브에 참여해야 하는 필요성에 대해 이야기합니다. 특히 팬데믹으로 인해 사람들이 어려움을 겪고 있는 이 시기에 말입니다. 그런 다음 기계 학습 모델을 저장하고 다양한 환경에 배포하기 위한 개방형 형식인 ONNX에 대해 설명합니다. Cassie는 ONNX를 사용하면 특히 부서 간에 단절이 있는 경우 데이터 과학자가 수행하는 작업과 소프트웨어 엔지니어가 수행하는 작업을 쉽게 연결할 수 있다고 설명합니다. ONNX를 사용하면 프로젝트에 가장 적합한 방식으로 모델을 배포할 수 있는 DevOps 측에 모델을 전달할 수 있으며 C#, C++ 및 Python을 비롯한 다양한 애플리케이션에서 사용할 수 있습니다.

  • 00:10:00 이 섹션에서 발표자는 자연어 처리를 사용하여 와인 설명에서 데이터를 가져오고 이를 사용하여 와인의 다양성, 점수 값 및 가격 범위를 예측하는 기계 학습 모델을 구축하는 방법을 설명합니다. 그들은 와인 마술사의 방대한 데이터 라이브러리를 사용하고 다양한 기능으로 모델을 구축한다고 언급합니다. 이 모델은 Python으로 생성되고 Jupyter Notebook 내에서 학습됩니다. 발표자는 또한 Pandas가 데이터를 조작하는 데 어떻게 사용되는지 설명하고 데이터 세트에서 가장 일반적인 단어를 보여주는 단어 구름을 보여줍니다.

  • 00:15:00 이 섹션에서는 연사가 기계 학습에 대한 다양한 접근 방식과 주어진 작업에 적합한 방법을 선택하는 방법에 대해 설명합니다. 딥 러닝에는 더 많은 계층과 신경망이 필요하므로 기존 머신 러닝과 딥 러닝의 차이점을 설명합니다. 발표자는 고전적인 머신 러닝 라이브러리인 scikit-learn으로 시작하고 다양한 알고리즘을 실험하여 무엇이 가장 잘 작동하는지 확인할 것을 권장합니다. 또한 텍스트 데이터를 처리할 때 데이터 변환 및 토큰화의 중요성과 모델 크기와 모델 정확도의 균형을 맞추는 방법에 대해서도 논의합니다.

  • 00:20:00 이 섹션에서는 연사가 데이터 정리 및 기능 추출과 같은 모델을 실제로 교육하기 전에 기계 학습에 필요한 데이터 처리에 대해 논의합니다. 모델을 실제 프로덕션 데이터에 적용할 때 결과가 다를 수 있으므로 보이지 않는 데이터로 테스트하는 것의 중요성과 정확성에만 의존하지 않도록 주의해야 한다고 강조합니다. 발표자는 또한 배포 단계로 이동하기 전에 데이터 파이프라인을 설정하고 로지스틱 회귀 모델을 사용하여 기계 학습 모델을 생성하는 방법을 시연합니다.

  • 00:25:00 이 섹션에서 발표자는 사용된 자연 언어 처리 모델과 이에 사용된 scikit-learn 라이브러리의 일부인 CountVectorizer 알고리즘에 대해 논의합니다. 비디오에 표시된 파이프라인에는 CountVectorizer 및 로지스틱 회귀 모델이 포함됩니다. 작성자는 ONNX 런타임을 사용하여 모델을 내보내고 ONNX 파일로 저장하는 방법을 설명합니다. 그들은 배포되는 하드웨어를 고려하여 상당한 속도 이점을 제공하는 런타임의 더 나은 성능에 대해 계속 논의합니다.

  • 00:30:00 이 섹션에서는 발표자가 모델 배포 및 추론 프로세스에 대해 논의합니다. 그들은 모델을 배포하는 것이 주어진 상황에 적합한 아키텍처와 프로젝트를 고려하는 것과 관련이 있다고 언급합니다. 이는 Azure 기계 학습을 사용하는 것부터 컨테이너 리소스 또는 Azure 기능과 같은 서버리스 제품에 이르기까지 다양할 수 있습니다. 모델과 코드를 클라우드에 업로드해야 하며, 이 특별한 경우에는 모델이 Blob 스토리지에 저장된 다음 함수에서 사용됩니다. 또한 발표자는 추론 프로세스를 더 빠르게 하기 위해 데이터 캐싱의 중요성에 대해 언급하고 사전 및 추론 세션이 함수에서 모델을 실행하기 위해 작동하는 방식을 설명합니다. 데이터 유형을 이해하는 것이 필요하지만 성공적으로 실행하기 위해 모델이 어떻게 생성되었는지 이해할 필요는 없습니다.

  • 00:35:00 아닙니다. 이 섹션에서 발표자는 ONNX로 기계 학습 모델을 운영하는 프로세스와 데이터 과학자의 도움 없이 이를 수행할 수 있는 방법에 대해 설명합니다. 그들은 입력 형식을 이해하고 텐서를 만드는 것의 중요성을 강조하고 모델 결과를 원하는 형식으로 캐스팅하는 과정도 설명합니다. 연사는 모델 출력에 도달하는 데 필요한 계층의 단순화 필요성과 더 나은 결과를 위해 데이터를 정리하고 버킷화하는 방법에 대해 언급합니다. 또한 모델 재교육을 위한 메트릭 및 피드백 수집 가능성에 대해서도 다룹니다.

  • 00:40:00 이 섹션에서 연사는 기계 학습 모델이 예측에서 작동하는 방식을 테스트하고 이해하는 것의 중요성에 대해 논의합니다. 그들은 단위 테스트를 만들고 자동화된 테스트를 일반 개발 프로세스에 통합한다는 아이디어를 제시합니다. 또한 모델의 예측과 관련된 잠재적인 문제를 식별하는 데 도움이 될 수 있는 모델 해석 가능성을 위해 Azure Machine Learning에서 사용할 수 있는 도구를 언급합니다. 마지막으로 Visual Studio Code의 확장을 통해 HTTP 트리거 내에서 모델을 배포하는 방법을 다룹니다.

  • 00:45:00 이 섹션에서는 발표자가 기계 학습을 사용하여 만들고 Azure에 배포한 재미있는 와인 시음 게임에 대해 논의합니다. 그들은 웹 사이트에 대한 링크를 공유하고 Winemag의 소믈리에 설명을 사용하여 모델을 훈련한 방법과 Azure 기능을 사용하여 모델을 Azure에 배포하는 방법에 대해 이야기합니다. 또한 클라우드 컴퓨팅, GPU 가속 및 모델 버전 관리를 위한 도구를 포함하여 엔터프라이즈 기계 학습에 이상적인 Azure 기계 학습의 광범위한 사용에 대해 논의합니다. 그럼에도 불구하고 엔드포인트에 배포할 필요가 없는 경우가 여전히 있을 수 있으며 Azure 기계 학습은 이러한 단순성을 허용합니다.

  • 00:50:00 이 섹션에서는 연사가 모델을 만들고 엔드포인트를 통해 사용하는 것 이상의 Azure Machine Learning의 다양한 기능에 대해 설명합니다. 실험 워크벤치, 모델 버전 관리 및 컴퓨팅, 기계 학습 모델의 생성 및 배포에서 데이터 과학자와 개발자 간의 협업을 가능하게 하는 DevOps 플러그인을 강조합니다. 그들은 또한 도구의 지속적으로 진화하는 특성에 대해 언급하고 사용자가 한동안 보지 않았다면 다시 방문할 것을 권장합니다. 발표자는 ONNX를 C#과 함께 사용하고 Azure Functions를 통해 배포하는 방법에 대해 자세히 알아보는 데 관심이 있는 사람들을 위해 GitHub 리포지토리 및 블로그 게시물에 대한 링크를 제공합니다.

  • 00:55:00 이 섹션에서는 연사가 ONNX 및 기계 학습 모델 전반에 관심이 있는 사람들이 사용할 수 있는 다양한 리소스에 대해 논의합니다. 그들은 ONNX에서 제공하는 자습서 및 예제 노트북을 확인하고 Github에서 오픈 소스 코드를 탐색할 것을 권장합니다. 또한 Custom Vision과 같은 도구를 사용하여 광범위한 코드 없이도 컴퓨터 비전 모델을 생성하는 방법에 대해 간략하게 설명합니다. 마지막으로 그들은 미래에 포켓몬 탐지 모델을 만드는 것에 대해 농담을 하고 더 많은 기계 학습 발표를 위해 11월에 열리는 .NET Conf를 확인하도록 권장합니다.
On .NET Live - Operationalizing ML models with ONNX, C# .... and Pokemon!
On .NET Live - Operationalizing ML models with ONNX, C# .... and Pokemon!
  • 2020.10.29
  • www.youtube.com
ONNX defines a common set of operators and a common file format to enable AI developers to use models with a variety of frameworks, tools, runtimes, and comp...
 

기계 학습 커뮤니티 스탠드업 - PyTorch ONNX를 사용한 딥 러닝



기계 학습 커뮤니티 스탠드업 - PyTorch 및 ONNX를 사용한 딥 러닝

"머신 러닝 커뮤니티 스탠드업 - PyTorch 및 ONNX를 사용한 딥 러닝" 비디오는 머신 러닝, PyTorch 및 ONNX와 관련된 다양한 주제를 다룹니다. 한 섹션에서는 과적합과 드롭아웃 및 교차 검증을 사용하여 신경망에서 과적합을 방지하는 방법을 다룹니다. 호스트는 또한 다양한 커뮤니티 기반 기계 학습 프로젝트와 기계 학습과 함께 .NET 사용에 대한 예정된 이벤트를 강조합니다. 이 비디오는 컴퓨터 비전 및 자연어 처리에 사용되는 인기 기계 학습 라이브러리인 PyTorch를 토치 비전 및 변환과 같은 다양한 내장 모듈과 함께 소개합니다. 연사는 기계 학습 모델을 나타내는 ONNX 형식과 여러 언어로 추론 및 학습을 실행하기 위한 런타임을 설명합니다. 또한 이 자습서에서는 PyTorch의 모델 동물원에서 미리 빌드된 모델을 사용하는 방법에 대해 설명하고 Jupyter 노트북 및 Anaconda를 사용하여 Python 패키지 및 환경을 디버깅하고 관리하는 방법을 다룹니다. 또한 이 자습서에서는 모델의 성능을 향상시키기 위해 ONNX 런타임과 함께 사용할 수 있는 ONNX를 사용하여 PyTorch 모델을 교육하고 내보내는 방법에 대해 자세히 다룹니다.

이 비디오는 또한 기계 학습 및 딥 러닝과 관련된 다양한 주제에 대해 설명합니다. 발표자는 Xamarin에서 이미지 처리를 위해 SkiaSharp를 사용하는 방법과 크기로 인한 온디바이스 모델의 한계에 대해 이야기하지만 온디바이스 모델을 사용하는 이점에 주목합니다. 또한 Andrew Ng Coursera 클래스와 같은 기계 학습 이론 학습을 위한 다양한 리소스와 도구 및 라이브러리를 사용하여 기계 학습 모델을 만드는 방법에 대한 고급 정보를 제공하는 응용 기계 학습 클래스를 제안합니다. 기계 학습에 대해 학습하고 학습을 자신의 업무에 통합할 때 목표를 갖는 것의 중요성도 언급됩니다. 마지막으로 발표자는 청중이 관심을 가질만한 향후 콘텐츠를 암시합니다.

  • 00:00:00 이 섹션에서는 호스트가 PyTorch 및 ONNX에 대해 논의할 ONNX 런타임 팀의 Microsoft 수석 프로그램 관리자인 Cassie Breviu를 게스트로 소개합니다. 그들은 PyTorch와 같은 라이브러리와 함께 .NET을 사용하는 것에 관한 이전 스트림의 주제를 간략하게 요약합니다. 주요 주제를 탐구하기 전에 호스트는 드롭아웃부터 시작하여 기계 학습 개념에 대해 이야기하는 새로운 세그먼트를 소개합니다. 드롭아웃은 신경망에서 과적합을 방지하는 방법으로, 훈련 중에 일부 노드를 무작위로 삭제하여 달성됩니다.

  • 00:05:00 비디오의 이 섹션에서는 호스트가 오버피팅과 드롭아웃 및 교차 검증을 사용하여 기계 학습 모델의 문제를 해결하는 데 어떻게 도움이 되는지에 대해 논의합니다. 그들은 트레이닝 세트에서 100% 정확도를 얻는 것이 항상 좋은 것은 아니며 실제 데이터에서 성능 저하로 이어질 수 있다고 언급합니다. 그들은 시험을 위해 공부하고 답 뒤에 있는 개념을 이해하지 못한 채 답을 암기하는 것에 비유합니다. 그런 다음 호스트는 커뮤니티 링크로 이동하고 AutoML 및 Model Builder를 사용하여 서버리스 기계 학습 솔루션, 감정 분석 애플리케이션 구축, Azure를 사용하여 이미지 분류 모델 교육을 포함하여 커뮤니티 내에서 여러 프로젝트 및 프레젠테이션을 언급합니다. 이러한 프로젝트는 사용자가 AI 솔루션을 보다 효율적으로 구축하고 배포할 수 있도록 지원하는 것을 목표로 합니다.

  • 00:10:00 이 섹션에서 연사는 Azure를 사용하여 이미지 분류 모델을 교육하는 방법에 대한 자습서와 YOLO v5 모델에서 ONNX 런타임 및 개체 감지를 사용하는 데모에 대해 이야기합니다. 그들은 또한 머신 러닝에 대한 Let's Learn .NET Focus on Machine Learning 이벤트를 포함하여 머신 러닝 및 .NET에 대한 예정된 여러 이벤트에 대해 언급합니다. 이 이벤트에서는 참가자들이 이번 달 말에 나올 학습 모듈을 살펴봅니다. 그런 다음 Jupiter 노트북과 유사한 노트북 사용을 허용하는 Visual Studio의 새로운 기능과 이를 통해 사용자가 로우 코드 UI에서 코딩, 기계 학습 및 심층 학습으로 리버스 엔지니어링할 수 있는 방법에 대해 논의합니다. 마지막으로 그들은 노트북이 사용자 가이드 및 예제의 표준 형식이 되어 사용자가 위키 페이지나 다른 마크다운 파일을 읽는 대신 노트북 파일을 다운로드하여 코드 셀을 실행하고 API 사용 방법을 배울 수 있기를 바랍니다.

  • 00:15:00 이 섹션에서는 연사가 Microsoft Learn 및 ML.NET에 적용된 다양한 업데이트 및 개선 사항에 대해 논의합니다. 그들은 웹 UI를 통해 액세스할 수 있는 대화형 노트북 지원을 언급하여 Python 로컬 환경을 구성하는 방법을 모르는 사람들이 쉽게 사용할 수 있도록 합니다. 또한 사용자가 맞춤형 신경망을 생성하고 ONNX 런타임과 밀접하게 통합하여 딥 러닝 모델 사용 경험을 개선할 수 있는 Torch Sharp 라이브러리를 강조합니다. 또한 이름 인식, 동적 데이터 입력, 출력 및 시계열 예측에 대한 계획과 함께 ML.NET 내에서 윤리적이고 책임 있는 AI에 중점을 둡니다. 전반적으로 연사는 사용자 피드백의 중요성을 강조하고 개선을 위한 제안을 제공하도록 권장합니다.

  • 00:20:00 비디오의 이 섹션에서 발표자는 특히 사용되는 다양한 도구 및 라이브러리 측면에서 기계 학습 모델을 구축할 때 개발 흐름이 변경될 수 있는 방법에 대해 논의합니다. 그들은 전통적인 프로그래밍을 기계 학습과 비교하며 후자의 경우 데이터를 알고리즘에 입력하여 모델을 생성한 다음 추론에 사용한다고 설명합니다. 이어서 연사는 오픈 소스 기계 학습 라이브러리인 PyTorch와 신경망 기능 및 데이터 유틸리티를 비롯한 다양한 구성 요소를 소개합니다. 또한 TensorFlow 및 scikit-learn과 같은 다른 라이브러리와 Jupyter 노트북 및 VS Code와 같은 도구를 다룹니다.

  • 00:25:00 이 섹션에서 발표자는 컴퓨터 비전 및 자연어 처리에서 일반적으로 사용되는 인기 있는 기계 학습 라이브러리인 PyTorch에 대한 개요를 제공합니다. 라이브러리에는 컴퓨터 비전을 위한 토치 비전, 오디오 데이터를 위한 토치 오디오, 자연어 처리를 위한 토치 텍스트와 같은 여러 모듈이 포함되어 있습니다. 데이터는 머신 러닝의 근간이므로 모듈은 데이터 세트, 데이터 로더, 변환과 같은 전처리 기능을 제공하여 모델에서 훈련할 데이터를 준비합니다. 발표자는 PyTorch에 대한 대화형 자습서를 사용하여 라이브러리 및 해당 기능에 대해 자세히 알아볼 것을 권장합니다. 또한 기계 학습 모델을 나타내기 위해 구축된 개방형 형식인 ONNX와 여러 언어로 추론 및 교육을 지원하는 플랫폼 간 배포 도구인 ONNX 런타임을 소개합니다.

  • 00:30:00 이 섹션에서는 발표자가 Blazor에서 ONNX 모델을 사용하는 방법에 대해 논의하고 Cassie는 아직 시도하지 않았다고 인정합니다. 또한 PyTorch, Scikit-learn 또는 TensorFlow와 같은 라이브러리를 사용하여 모델을 ONNX 형식으로 변환하는 방법에 대해서도 이야기합니다. ONNX 모델을 사용하는 것은 간단합니다. ONNX 런타임 라이브러리를 가져오고 추론 세션을 만들고 입력 데이터를 전달하여 결과를 얻기만 하면 됩니다. 다른 언어에 비해 Python이 강력한 것으로 간주되기 때문에 다른 언어로 데이터를 조작하는 데 어려움이 있습니다. 연사들은 또한 도움이 될 수 있는 샘플 코드와 함께 추론에 사용할 수 있는 사전 구축된 모델이 있는 모델 동물원에 대해 언급합니다.

  • 00:35:00 이 섹션에서는 화자가 Convolutional Neural Network(CNN)의 일종인 fast rcnn을 사용한 객체 세분화에 중점을 두고 PyTorch의 모델 동물원에서 사전 구축된 모델을 사용하는 방법에 대해 설명합니다. 연사는 또한 텐서로 작업하고 NumPy를 사용하여 텐서를 조작하는 방법에 대해 간략히 언급하면서 PyTorch가 텐서를 효율적으로 조작하는 방법을 배우기 위한 대화형 노트북을 제공한다고 언급합니다. 또한 발표자는 PyTorch의 데이터 세트는 오픈 소스 저장소에서 다운로드하는 'torchvision.datasets'를 사용하여 얻는다고 언급합니다.

  • 00:40:00 비디오의 이 섹션에서 발표자는 PyTorch의 오픈 소스 특성에 대해 논의하여 사용 중인 코드 및 다양한 Blob 저장소 위치에 액세스할 수 있습니다. 그들은 PyTorch의 문서가 액세스할 수 있는 모든 사용 가능한 데이터 세트를 나열하는 방법을 강조합니다. 데이터 세트는 다양한 오픈 소스 데이터 세트의 래퍼일 뿐입니다. 연사는 오픈 소스 데이터 세트 사용의 법적 의미와 소스에서 가져와도 되는 것과 호스팅해서는 안 되는 것을 강조합니다. 이 동영상에서는 데이터 세트 및 데이터 로더, 유효성 검사를 위한 테스트 데이터, 사용자 지정 데이터 세트 생성에 대해서도 설명합니다. 마지막으로 데이터를 텐서로 변환하고 알고리즘을 통해 처리하기 위해 변환과 데이터 조작의 중요성에 대해 간략하게 다룹니다.

  • 00:45:00 이 섹션에서 발표자는 Python 패키지 및 환경을 관리하는 데 사용하는 도구에 대해 이야기합니다. 그는 다양한 기계 학습 라이브러리를 위해 다양한 사전 구성된 패키지를 빠르게 활성화하고 사용할 수 있는 Windows 터미널에 추가한 도구인 Anaconda를 강조합니다. 계속해서 더 많은 도구, Intellisense 및 클라우드 컴퓨터를 사용하여 더 큰 GPU가 필요한 모델을 실행할 수 있는 기능을 제공하는 VS Code에서 Jupyter 노트북을 사용하는 방법을 보여줍니다. 마지막으로 그는 .NET 환경을 선호하는 사람들을 위해 Anaconda 실행 덕분에 Jupiter Notebook 환경을 직접 설치할 수 있다고 지적합니다.

  • 00:50:00 이 섹션에서 발표자는 사용자가 필요한 패키지를 설치하고 원하는 도구를 사용할 수 있는 Azure Machine Learning Studio의 PyTorch를 사용한 Jupyter Notebook 환경에 대해 설명합니다. 연사는 Azure Machine Learning Studio 및 PyTorch 웹 사이트에서 제공되는 PyTorch용 빠른 시작 가이드를 간략하게 다룬 다음 논의를 ONNX로 전환합니다. 너무 깊이 파고들지 않고 스피커는 모델을 교육하는 데 필요한 모델 아키텍처, 손실 함수 및 옵티마이저에 대한 간략한 개요를 제공합니다. 발표자는 또한 Copilot과 사용자를 위한 의견 작성 기능에 대해 간단히 언급합니다.

  • 00:55:00 이 섹션에서는 연사가 ONNX를 사용하여 PyTorch 딥 러닝 모델을 교육하고 내보내는 방법을 설명합니다. 모델을 훈련시키려면 사용자는 에포크 수와 검증 데이터를 설정해야 과적합을 방지하기 위해 테스트 데이터와 달라야 합니다. 스피커는 각 배치를 반복하면서 각 에포크에서 모델의 손실 그래프를 보여주고 훈련이 완료되면 장치에 텐서를 보내는 기능을 사용하여 모델을 ONNX 형식으로 내보낼 수 있습니다. 내보낸 모델은 더 나은 성능을 위해 입력 텐서 및 최적화된 그래프 최적화와 함께 ONNX 런타임을 사용하여 추론을 실행하는 데 사용할 수 있습니다. 발표자는 곧 출시될 ONNX 런타임에 대한 Xamarin 지원도 시연합니다.

  • 01:00:00 이 섹션에서는 발표자가 Xamarin에서 이미지 처리를 위해 SkiaSharp를 사용하는 방법과 ONNX 런타임을 사용하여 데이터를 처리하는 방법에 대해 설명합니다. 그들은 크기 때문에 온디바이스 모델 사용의 한계를 언급하지만 온디바이스 모델을 갖는 이점에 주목합니다. 연사들은 또한 Xamarin의 아키텍처와 스캐폴딩을 생성하는 방법에 대해 간략하게 다룹니다. 토론은 C# 개발자와 AI 세계 간의 더 많은 협업을 원한다는 언급과 머신 러닝 또는 딥 러닝 질문이 있는 사람이 Twitter에서 Cassidy Williams 또는 ONNX 런타임 Twitter 핸들에 답변을 문의할 수 있는 방법에 대한 언급으로 끝납니다.

  • 01:05:00 이 섹션에서는 발표자가 기계 학습 이론 학습에 관심이 있는 사람들을 위한 리소스에 대해 논의합니다. 그들은 딥 러닝 모델의 비하인드 스토리 작업을 탐구하는 Andrew Ng가 가르치는 코스라 수업을 수강할 것을 제안합니다. 그들은 기계 학습에 접근하는 두 가지 방법, 즉 응용 방법과 이론 방법이 있음을 경고합니다. 다른 리소스로는 기계 학습 모델을 만들기 위해 도구와 라이브러리를 사용하는 방법에 대한 높은 수준의 정보를 제공하는 Coursera의 응용 기계 학습 클래스와 좀 더 심도 있고 수학의 일부를 다루는 PyTorch 학습 경로가 있습니다. 또한 발표자들은 앞으로 몇 주 안에 열릴 ML.Net용 해커톤에 대해 언급합니다.

  • 01:10:00 이 섹션에서 연사는 기계 학습 및 딥 러닝에 대해 학습할 때 목표를 갖는 것의 중요성에 대해 논의합니다. 온라인에서 사용할 수 있는 무료 리소스가 많이 있지만 어디서부터 시작해야 할지 결정하기가 어려울 수 있습니다. 연사는 컴퓨터 비전 모델 교육과 같은 목표 설정 및 해당 목표에 맞는 리소스 찾기를 제안합니다. 해커톤이나 프로젝트 스프린트를 사용하여 새로운 것을 시도하는 것과 같이 학습을 업무에 통합하는 것도 도움이 될 수 있습니다. 화자는 또한 목표를 달성할 때까지 중단하지 않고 어려운 부분을 계속 밀고 나가는 것이 중요하다고 언급합니다. 마지막으로 발표자는 청중이 관심을 가질만한 향후 콘텐츠를 암시합니다.
Machine Learning Community Standup - Deep Learning with PyTorch & ONNX
Machine Learning Community Standup - Deep Learning with PyTorch & ONNX
  • 2021.10.13
  • www.youtube.com
Join us to learn how to get started building deep learning models with PyTorch & ONNX. Community Links: https://www.theurlist.com/mlnet-standup-2021-10-13Fea...
 
Object-Detection Yolov7, ML.NET onnx model
Object-Detection Yolov7, ML.NET onnx model
  • 2023.01.13
  • www.youtube.com
Github:https://github.com/ptiszai/Object-Detection-yolov7-ML.NET-onnx
 
Implement Yolo3 Real-time using C#
Implement Yolo3 Real-time using C#
  • 2021.05.29
  • www.youtube.com
Using Alturos & OpenCvSharp run Object Detection Real-time#yolo #objectdetection #csharp #windowsLink source: https://github.com/duonghb53/YoloOnCSharpGPU