Snowflake ML용 Python APIs¶
snowflake-ml-python
Python 패키지는 다양한 Snowflake ML 워크플로 구성 요소에 연결되는 Python APIs를 제공하며, 자체 모델 구축 및 훈련을 위한 APIs도 포함되어 있습니다. 이러한 APIs는 개인 워크스테이션에서 즐겨 사용하는 Python IDE, Snowsight 워크시트 또는 Snowflake Notebook에서 사용할 수 있습니다.
팁
이 라이브러리를 사용한 엔드투엔드 워크플로 예시는 Snowpark ML을 사용한 머신 러닝 소개 섹션을 참조하십시오.
Snowflake Notebooks에서 Snowflake ML 사용하기¶
Snowflake Notebooks 는 데이터 작업을 위한 사용하기 쉬운 노트북 인터페이스를 제공하며 Python, SQL, Markdown을 혼합합니다. 노트북에서 Snowflake ML 기능을 사용하려면 노트북 상단의 Packages 메뉴를 사용해 Anaconda 패키지 snowflake-ml-python
을 선택합니다.
Notebooks은 CPU 및 GPU 런타임 옵션을 모두 지원합니다. 많은 종류의 모델에 GPU가 필요하거나 GPU의 이점을 누릴 수 있습니다.
중요
snowflake-ml-python
패키지와 해당 종속성은 조직의 패키지 정책 에 의해 허용되어야 합니다.
Snowsight 워크시트에서 Snowflake ML 사용하기¶
Snowsight Worksheets 는 Python 코드를 실행하기 위한 강력하고 다양한 메서드를 제공합니다. 워크시트에서 Snowflake ML 기능을 사용하려면 워크시트 상단의 Packages 메뉴를 사용해 Anaconda 패키지 snowflake-ml-python
을 선택합니다.
중요
snowflake-ml-python
패키지와 해당 종속성은 조직의 패키지 정책 에 의해 허용되어야 합니다.
로컬에서 Snowflake ML 사용하기¶
자체 워크스테이션 또는 Snowflake 외부에서 개발하려면 snowflake-ml-python
패키지를 설치해야 합니다. 모든 Snowflake ML 특징은 단일 패키지 snowflake-ml-python
에 제공됩니다. 패키지는 Snowflake conda 채널에서 conda
명령을 사용하여 설치하거나 Python 패키지 인덱스(PyPI)에서 pip
를 사용하여 설치할 수 있습니다. Conda가 기본 설정되어 있습니다.
Snowflake conda 채널에서 설치하기¶
Snowflake ML 을 설치할 conda 환경을 만듭니다. 기존 환경을 사용하려면 이 단계를 건너뛰십시오.
conda create --name snowpark-ml
Conda 환경을 활성화합니다.
conda activate snowflake-ml
Snowflake conda 채널에서
snowflake-ml-python
설치conda install --override-channels --channel https://repo.anaconda.com/pkgs/snowflake/ snowflake-ml-python
팁
가능하면 항상 Snowflake ML 에서 검증된 패키지를 받을 수 있도록 Snowflake conda 채널에서 패키지를 설치하십시오.
PyPI에서 설치하기¶
Python 패키지 인덱스(PyPI)에서 표준 Python 패키지 관리자 pip
를 사용하여 snowflake-ml-python
을 설치할 수 있습니다.
경고
conda 환경을 사용하는 경우 이 설치 프로시저를 사용하지 마십시오. 대신 conda 명령 을 사용하십시오.
Python 가상 환경을 만들고 활성화합니다.
python3 -m virtualenv venv source venv/bin/activate
snowflake-ml-python
패키지 설치:python -m pip install snowflake-ml-python
선택적 종속성 설치하기¶
일부 API에는 snowflake-ml-python
의 종속성으로 설치되지 않은 종속성이 필요합니다. 기본적으로 scikit-learn이 설치되어 있습니다. lightgbm, xgboost, keras, pytorch 등과 같은 다른 패키지는 선택적 종속성입니다.
snowflake.ml.modeling.lightgbm
모듈을 사용할 계획이라면 lightgbm을 설치하십시오. 다음 명령을 사용하여 conda 환경을 활성화하고 Snowflake conda 채널에서 lightgbm을 설치하십시오.
conda activate snowflake-ml
conda install --override-channels --channel https://repo.anaconda.com/pkgs/snowflake/ lightgbm
다음 명령을 사용하여 가상 환경을 활성화하고 pip
를 사용하여 lightgbm을 설치합니다.
source venv/bin/activate
python -m pip install 'snowflake-ml-python[lightgbm]'
Snowpark Python 설정하기¶
Snowpark Python은 snowflake-ml-python
의 종속성이며 자동으로 함께 설치됩니다. Snowpark Python이 시스템에 아직 설정되어 있지 않은 경우 추가 구성 단계를 수행해야 할 수 있습니다. Snowpark Python 설정 지침은 Snowpark Python을 위한 개발 환경 설정하기 섹션을 참조하십시오.
Snowflake에 연결하기¶
Python에서 Snowflake ML 기능을 사용하기 전에 Snowpark Session
오브젝트를 사용하여 Snowflake에 연결합니다. 세션을 생성하기 위한 구성 설정을 가져오려면 snowflake.ml.utils.connection_params
모듈에서 SnowflakeLoginOptions
함수를 사용하십시오. 이 함수는 SnowSQL 구성 파일 에 명명된 연결 또는 사용자가 설정한 환경 변수에서 연결 설정을 읽을 수 있습니다. 이 함수는 연결 생성에 사용할 수 있는 이러한 매개 변수가 포함된 사전을 반환합니다.
다음 예에서는 SnowSQL 구성 파일에 있는 명명된 연결 myaccount
에서 연결 매개 변수를 읽습니다. Snowpark Python 세션을 생성하려면 Session
클래스에 대한 빌더를 생성하고 연결 정보를 빌더의 configs
메서드에 전달하십시오.
from snowflake.snowpark import Session
from snowflake.ml.utils import connection_params
params = connection_params.SnowflakeLoginOptions("myaccount")
sp_session = Session.builder.configs(params).create()
이제 세션을 필요로 하는 모든 사용자에게 세션을 전달할 수 있습니다.
팁
Python용 Snowflake Connector터 연결에서 Snowpark Python 세션을 생성하려면 연결 오브젝트를 세션 빌더에 전달합니다. 여기서 connection
은 Python 연결용 Snowflake 커넥터입니다.
session = Session.builder.configs({"connection": connection}).create()
웨어하우스 지정하기¶
모델 학습이나 추론과 같은 많은 Snowflake ML 특징은 Snowflake 웨어하우스에서 코드를 실행합니다. 이러한 작업은 연결하는 데 사용하는 세션에서 지정한 웨어하우스에서 실행됩니다. 예를 들어, SnowSQL 구성 파일 의 명명된 연결에서 세션을 생성하는 경우 명명된 구성에서 warehousename
매개 변수를 사용하여 웨어하우스를 지정할 수 있습니다.
구성에 아직 존재하지 않는 경우 여기에 표시된 대로 Session
오브젝트를 생성할 때 웨어하우스 설정을 추가할 수 있습니다.
from snowflake.snowpark import Session
from snowflake.ml.utils import connection_params
# Get named connection from SnowSQL configuration file
params = connection_params.SnowflakeLoginOptions(connection_name="my_connection")
# Add warehouse name for model method calls if it's not already present
if "warehouse" not in params:
params["warehouse"] = "mlwarehouse"
sp_session = Session.builder.configs(params).create()
세션에 지정된 웨어하우스가 없거나 다른 웨어하우스를 사용하려면 세션의 use_warehouse
메서드를 호출하여 웨어하우스를 지정합니다.
sp_session.use_warehouse("mlwarehouse")
API 참조¶
Snowflake ML API 참조 에는 공개적으로 출시된 모든 기능에 대한 설명서가 포함됩니다. 대화형 Python 세션에서 Python의 help
함수를 사용하여 모든 API에 대한 자세한 API 설명서를 얻을 수도 있습니다. 예:
from snowflake.ml.modeling.preprocessing import OneHotEncoder
help(OneHotEncoder)