Azure Synapse Analytics を使用して宇宙飛行データを解析する

Azure Synapse Analytics
Azure AI サービス
Azure Computer Vision
Azure Batch
Azure Storage

このアーキテクチャは、Azure Synapse Analytics で地理空間ライブラリと AI モデルを使用することにより、宇宙飛行データを抽出、読み込み、変換、分析するエンドツーエンドの実装を示すために設計されています。 また、この記事では、地理空間固有の Azure Cognitive Services モデル、パートナーからの AI モデル、独自のデータの持ち込み、および Azure Synapse Analytics を使用する AI モデルを統合する方法についても説明します。 このドキュメントの対象読者は、地理空間のデータまたは宇宙飛行データの処理に関する中間スキル レベルを持つユーザーです。

このアーキテクチャの実装は、GitHub で入手できます。

Apache®、Apache Spark、Spark、Spark ロゴ、Apache Sedona、Apache Incubator、Apache Feather ロゴ、Apache インキュベーター プロジェクト ロゴは、米国やその他の国の Apache Software Foundation の登録商標または商標です。 これらのマークを使用することが、Apache Software Foundation による保証を意味するものではありません。

アーキテクチャ

地理空間処理の分析ソリューションを示す図。

このアーキテクチャの Visio ファイルをダウンロードします。

データフロー

以下のセクションでは、アーキテクチャの各ステージについて説明します。

データ インジェスト

宇宙飛行データは、エアバスNAIP/USDA (プラネタリ コンピューター API 経由)Maxar などのデータ ソースから取得されます。 データは Azure Data Lake Storage に取り込まれます。

Azure Synapse Analytics は、Web アクティビティ、Data Flow アクティビティ、カスタム アクティビティなど、さまざまなパイプラインとアクティビティを提供して、これらのソースに接続し、データを Data Lake Storage にコピーします。

Azure Synapse カスタム アクティビティは、仮想マシンの Azure Batch プールまたは Docker 互換コンテナーで、カスタマイズしたコード ロジックを実行します。

データの変換

データは処理され、アナリストや AI モデルが使用できる形式に変換されます。 GDAL、OGR、Rasterio、GeoPandas などの地理空間ライブラリを使用して変換を実行できます。

Azure Synapse Spark プールでは、これらのライブラリを構成および使用して、データ変換を実行できます。 Azure Batch プールを使用する Azure Synapse カスタム アクティビティを使用することもできます。

Azure Synapse ノートブックは、ライブ コード、視覚化、およびナレーション テキストを含むファイルを作成するための Web インターフェイスです。 ノートブックは、アイデアを検証し、変換を定義し、データから洞察を得てパイプラインを構築するための簡単な実験を行うのに適した場所です。 サンプル コードでは、GDAL ライブラリを Spark プールで使用してデータ変換を実行します。 詳細については、この記事の「サンプル コード」セクションを参照してください。

サンプル ソリューションでは、このデータ変換ステップからこのパイプラインを実装します。 このサンプルは、前述のデータ インジェスト方法によってデータが Data Lake Storage にコピーされることを前提に書かれています。 それは、ラスター データ処理のためのこのパイプラインの実装を示します。

AI モデルの分析と実行

Azure Synapse ノートブック環境は、AI モデルを分析して実行します。

Cognitive Services Custom Vision モデルなどのサービスを使用して開発され、独自の環境でトレーニングされ、Docker コンテナーとしてパッケージ化された AI モデルは、Azure Synapse 環境で利用できます。

Azure Synapse 環境では、物体検出、変更検出、土地分類などのさまざまな機能のためにパートナーから入手できる AI モデルを実行することもできます。 これらのモデルは、独自の環境でトレーニングされ、Docker コンテナーとしてパッケージ化されます。

Azure Synapse は、実行可能ファイルまたは Docker コンテナーとして Batch プールでコードを実行するカスタム アクティビティを介して、このような AI モデルを実行できます。 サンプル ソリューションでは、特定の地理空間領域で物体検出を行うために、Azure Synapse パイプラインの一部として Custom Vision AI モデルを実行する方法を示します。

分析後と視覚化

  • さらなる分析と視覚化のために、AI モデルの分析と実行からの出力は、Data Lake Storage、Azure Database for PostgreSQL などのデータベース対応データベース、または Azure Cosmos DB に格納できます。 このサンプル ソリューションでは、AI モデルの出力を変換し、Data Lake Storage と Azure Database for PostgreSQL に GeoJSON データとして格納する方法を示します。 そこから出力を取得してクエリを実行できます。
  • 視覚化のために、以下のことを行えます。
    • ArcGIS Desktop などのライセンス付きツールや、QGIS などのオープンソース ツールを使用できます。
    • Power BI を使用して、さまざまなデータ ソースから GeoJSON にアクセスし、地理情報システム (GIS) データを視覚化できます。
    • クライアント側の地理空間 JavaScript ベースのライブラリを使用して、Web アプリケーション内のデータを視覚化できます。

Components

データ ソース

データ インジェスト

  • Azure Synapse Analytics は、データ統合、エンタープライズ データウェア ハウス、およびビッグ データ分析が 1 つにまとめられた無制限の分析サービスです。 Azure Synapse には Azure Data Factory と同じデータ統合エンジンとエクスペリエンスが含まれているため、Azure Synapse から離れることなく、大規模な ETL パイプラインを作成できます。
  • Azure Data Lake Storage は、ビッグ データ分析専用で、Azure Blob Storage をベースに構築されたものです。
  • Azure Batch を使用すると、Azure で大量のバッチ コンピューティング ジョブを実行し、また、その実行量を調整できます。 Batch タスクは Batch プール内の仮想マシン (ノード) で直接実行できますが、タスクがノード上の Docker と互換性のあるコンテナーで実行されるように Batch プールを設定することもできます。
    • Azure Synapse カスタム アクティビティは、仮想マシンの Azure Batch プールまたは Docker コンテナーで、カスタマイズしたコード ロジックを実行します。
  • Azure Key Vault は、シークレット (トークン、パスワード、API のキーなど) を格納してアクセスを制御します。 また Key Vault は、暗号化キーを作成および制御し、セキュリティ証明書を管理します。

データの変換

次の地理空間ライブラリとパッケージは、一緒に変換に使用されます。 これらのライブラリとパッケージは、サーバーレス Spark プールにインストールされ、Azure Synapse ノートブックにアタッチされます。 ライブラリのインストールの詳細については、この記事の後半の「Azure Synapse Spark プールへの地理空間パッケージのインストール」を参照してください。

  • 地理空間ライブラリ
    • GDAL は、宇宙飛行データを操作するためのツールのライブラリです。 GDAL は、ラスター データ型とベクター データ型で動作します。 これは、宇宙飛行データを操作しているかどうかを把握するのに適したツールです。
    • Rasterio は、ラスター処理用のモジュールです。 これを使用して、Python で複数の異なるラスター形式の読み取りと書き込みを行うことができます。 Rasterio は GDAL に基づいています。 モジュールがインポートされると、Python によって、サポートされている形式を読み取るための既知のすべての GDAL ドライバーが自動的に登録されます。
    • GeoPandas は、Python で宇宙飛行データの操作を容易にするオープン ソース プロジェクトです。 GeoPandas は、Pandas で使用されるデータ型を拡張して、geometry 型に対する空間操作を可能にします。
    • Shapely は、平面フィーチャのセット理論分析と操作のための Python パッケージです。 これは、Python の ctypes モジュールを介して、広くデプロイされている GEOS ライブラリの関数を使用します。
    • pyproj はカートグラフィック変換を実行します。 これは PROJ を使用して、経度と緯度からネイティブ マップ プロジェクション x、y 座標へ、およびその逆に変換します。
  • Azure Batch を使用すると、Azure で大量のバッチ コンピューティング ジョブを実行し、また、その実行量を調整できます。
  • Azure Synapse ノートブックは、ライブ コード、視覚化、およびナレーション テキストを含むファイルを作成するための Web インターフェイスです。 Notebook アクティビティを使用して、既存の Azure Synapse ノートブックを Azure Synapse パイプラインに追加できます。
  • Apache Spark プールには、ライブラリを構成および使用してデータ変換を実行する機能が用意されています。 Spark ジョブ定義アクティビティを使用して、既存の Spark ジョブを Azure Synapse パイプラインに追加できます。

分析と AI モデリング

  • Azure Synapse は機械学習機能を提供します。
  • Azure Batch を使用すると、Azure で大量のバッチ コンピューティング ジョブを実行し、また、その実行量を調整できます。 このソリューションでは、Azure Synapse カスタム アクティビティを使用して、Azure Batch プールで Docker ベースの AI モデルを実行します。
  • Azure Cognitive Services には、アプリにビジョンを埋め込む機能が用意されています。 Cognitive Services のコンポーネントである Custom Vision を使用して、特定のドメインの最先端のコンピューター ビジョン画像分析をカスタマイズして埋め込むことができます。
  • 独自の AI モデルや、blackshark.ai などの Microsoft パートナー AI モデルを使用することもできます。

分析後と視覚化

  • Azure Database for PostgreSQL は、ハイパースケール ワークロード向けに設計されたフルマネージドのリレーショナル データベース サービスです。 これは PostGIS 拡張機能を使用して、宇宙飛行データをサポートします。
  • Azure Cosmos DB は、GeoJSON で表現された地理空間ポイント データのインデックスとクエリをサポートしています。
  • Power BI は、レポートとダッシュボードを作成するための対話型データ視覚化ツールです。 Esri の ArcGIS マップから、宇宙飛行データに関する分析情報を取得できます。
  • QGIS は地理空間情報を作成、編集、視覚化、分析、公開するための無料のオープンソース GIS です。
  • ArcGIS Desktop は、Esri によって提供されるライセンス製品です。 これを使用して、地理情報の作成、分析、管理、共有を行うことができます。

代替

Azure Synapse から呼び出せるコンテナ化された AI モデルを実行する場合、Azure Kubernetes ServiceAzure Container Instances、または Azure Container Apps を使用できます。

Azure Databricks には、分析パイプラインをホストするための代替手段が用意されています。

Azure HDInsight の Spark には、Apache Spark 環境で地理空間ライブラリを使用するための代替手段が用意されています。

宇宙飛行データの処理に使用できるいくつかの代替ライブラリとフレームワークを次に示します。

  • Apache Sedona (旧称 GeoSpark) は、大規模な空間データを処理するためのクラスター コンピューティング システムです。 Sedona は、Spark と Spark SQL を、すぐに使用できる Spatial Resilient Distributed Datasets と、マシン間で大規模な空間データを効率的に読み込み、処理、分析する SpatialSQL を使用して拡張します。
  • Dask for Python は、既存の Python エコシステムをスケーリングする並列コンピューティング ライブラリです。

シナリオの詳細

宇宙飛行データ収集はますます一般的になっています。 人工知能を適用するためには、機械学習のためにデータの保存されたアーカイブが必要です。 宇宙飛行データの解析のためのクラウドベースのソリューションをビルドする必要性は、企業や政府がより情報に基づいたビジネスと戦術的な意思決定を推進できるようにするために、より重要になっています。

考えられるユース ケース

このソリューションは、航空宇宙および航空機業界に最適です。 次のようなシナリオに対処します。

  • ラスター データの取り込みと処理
  • 事前トレーニング済みの AI モデルによる物体検出
  • AI モデルによる陸塊の分類
  • AI モデルによる環境の変化の監視
  • 前処理された画像セットから派生したデータセット
  • ベクトルの視覚化/小領域の消費
  • ベクトル データのフィルター処理とデータ間結合

考慮事項

これらの考慮事項は、ワークロードの品質向上に使用できる一連の基本原則である Azure Well-Architected Framework の要素を組み込んでいます。 詳細については、「Microsoft Azure Well-Architected Framework」を参照してください。

オペレーショナル エクセレンス

ソース管理に Git を使用して共同作業する場合、Synapse Studio を使用して、ワークスペースを Git リポジトリ、Azure DevOps、または GitHub に関連付けることができます。 詳細については、「Synapse Studio でのソース管理」を参照してください。

  • Azure Synapse ワークスペースでは、CI/CD を使用して、すべてのエンティティをある環境 (開発、テスト、運用) から別の環境に移動します。
  • Azure DevOps のリリース パイプラインと GitHub Actions を使用して、複数の環境への Azure Synapse ワークスペースのデプロイを自動化することができます。

パフォーマンス

  • Azure Synapse では、Apache Spark 3.1.2 がサポートされています。これは、従来品よりも高いパフォーマンスを発揮します。
  • Spark プールのスケーリングとノード サイズについては、「Azure Synapse Analytics の Spark プール」を参照してください。
  • Azure Batch を使用すると、Azure Synapse カスタム アクティビティで送信された変換に対して本質的に並列にスケールアウトできます。 Azure Batch では、AI モデルの実行に使用できる特殊な GPU 最適化 VM サイズがサポートされています。

[信頼性]

信頼性により、顧客に確約したことをアプリケーションで確実に満たせるようにします。 詳細については、「信頼性の重要な要素の概要」を参照してください。

SLA 情報については、Azure Synapse SLA を参照してください。

セキュリティ

セキュリティは、重要なデータやシステムの意図的な攻撃や悪用に対する保証を提供します。 詳細については、「セキュリティの重要な要素の概要」を参照してください。

セキュリティのベスト プラクティスについては、次の記事を参照してください。

コスト最適化

コストの最適化とは、不要な費用を削減し、運用効率を向上させる方法を検討することです。 詳しくは、コスト最適化の柱の概要に関する記事をご覧ください。

以下のリソースは、価格とコストの最適化に関する情報を提供します。

注意

パートナー AI モデルの価格とライセンス条項については、パートナーのドキュメントを参照してください。

このシナリオのデプロイ

サンプル ソリューションの Bicep デプロイを使用できます。 このデプロイを開始するには、次の 手順を参照してください。

デプロイされたサンプル ソリューションのアーキテクチャを示す図。

このアーキテクチャの Visio ファイルをダウンロードします。

制限事項

このアーキテクチャは、Azure Synapse を使用するエンド ツー エンドのジオプロセシングおよび分析ソリューションを示しています。 このサンプル実装は、対象となる中小規模の領域と、ラスター データの限られた同時ジオプロセシングを対象とします。

サンプル コード

次の手順では、Synapse ノートブックを使用して、Azure Data Lake Storage に格納されているラスター データの読み取り、書き込み、および変換の適用方法について説明します。 変換を示すことに留まらず、Synapse ノートブックでのライブラリの使用をさらに示すことが目的です。

前提条件

Instructions

  • ラスター データから情報を出力します。

    from osgeo import gdal
    gdal.UseExceptions()
    access_key = TokenLibrary.getSecret('<key-vault-name>','<secret-name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCOUNT', '<storage_account_name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCESS_KEY', access_key)
    dataset_info = gdal.Info('/vsiadls/aoa/input/sample_image.tiff')  #/vsiadls/<container_name>/path/to/image
    print(dataset_info)
    

    注意

    /vsiadls/ は、Azure Data Lake Storage ファイル システムで使用できる主にパブリックでないファイルを、その場でランダムに読み取るファイル システム ハンドラーです。 ファイル全体を事前にダウンロードする必要はありません。 /vsiadls/ は、/vsiaz/ と似ています。 認証には同じ構成オプションが使用されます。 /vsiaz/ とは異なり、/vsiadls/ では実際のディレクトリ管理と Unix スタイルの ACL サポートが提供されます。 一部の機能では、Azure Storage で階層サポートを有効にする必要があります。 詳細については、/vsiadls/ のドキュメントを参照してください。

    Driver: GTiff/GeoTIFF
    Files: /vsiadls/naip/input/sample_image.tiff
    Size is 6634, 7565
    Coordinate System is:
    PROJCRS["NAD83 / UTM zone 16N",
        BASEGEOGCRS["NAD83",
            DATUM["North American Datum 1983",
                ELLIPSOID["GRS 1980",6378137,298.257222101,
                    LENGTHUNIT["metre",1]]],
            PRIMEM["Greenwich",0,
                ANGLEUNIT["degree",0.0174532925199433]],
            ID["EPSG",4269]],
        CONVERSION["UTM zone 16N",
            METHOD["Transverse Mercator",
                ID["EPSG",9807]],
            PARAMETER["Latitude of natural origin",0,
                ANGLEUNIT["degree",0.0174532925199433],
                ID["EPSG",8801]],
            PARAMETER["Longitude of natural origin",-87,
                ANGLEUNIT["degree",0.0174532925199433],
                ID["EPSG",8802]],
            PARAMETER["Scale factor at natural origin",0.9996,
                SCALEUNIT["unity",1],
                ID["EPSG",8805]],
            PARAMETER["False easting",500000,
                LENGTHUNIT["metre",1],
                ID["EPSG",8806]],
            PARAMETER["False northing",0,
                LENGTHUNIT["metre",1],
                ID["EPSG",8807]]],
        CS[Cartesian,2],
            AXIS["(E)",east,
                ORDER[1],
                LENGTHUNIT["metre",1]],
            AXIS["(N)",north,
                ORDER[2],
                LENGTHUNIT["metre",1]],
        USAGE[
            SCOPE["Engineering survey, topographic mapping."],
            AREA["North America - between 90°W and 84°W - onshore and offshore. Canada - Manitoba; Nunavut; Ontario. United States (USA) - Alabama; Arkansas; Florida; Georgia; Indiana; Illinois; Kentucky; Louisiana; Michigan; Minnesota; Mississippi; Missouri; North Carolina; Ohio; Tennessee; Wisconsin."],
            BBOX[23.97,-90,84,-84]],
        ID["EPSG",26916]]
    Data axis to CRS axis mapping: 1,2
    Origin = (427820.000000000000000,3395510.000000000000000)
    Pixel Size = (1.000000000000000,-1.000000000000000)
    Metadata:
      AREA_OR_POINT=Area
    Image Structure Metadata:
      COMPRESSION=DEFLATE
      INTERLEAVE=PIXEL
      LAYOUT=COG
      PREDICTOR=2
    Corner Coordinates:
    Upper Left  (  427820.000, 3395510.000) ( 87d45'13.12"W, 30d41'24.67"N)
    Lower Left  (  427820.000, 3387945.000) ( 87d45'11.21"W, 30d37'18.94"N)
    Upper Right (  434454.000, 3395510.000) ( 87d41' 3.77"W, 30d41'26.05"N)
    Lower Right (  434454.000, 3387945.000) ( 87d41' 2.04"W, 30d37'20.32"N)
    Center      (  431137.000, 3391727.500) ( 87d43' 7.54"W, 30d39'22.51"N)
    Band 1 Block=512x512 Type=Byte, ColorInterp=Red
      Overviews: 3317x3782, 1658x1891, 829x945, 414x472
    Band 2 Block=512x512 Type=Byte, ColorInterp=Green
      Overviews: 3317x3782, 1658x1891, 829x945, 414x472
    Band 3 Block=512x512 Type=Byte, ColorInterp=Blue
      Overviews: 3317x3782, 1658x1891, 829x945, 414x472
    Band 4 Block=512x512 Type=Byte, ColorInterp=Undefined
      Overviews: 3317x3782, 1658x1891, 829x945, 414x472
    
  • GDAL を使用して GeoTiff を PNG に変換する:

    from osgeo import gdal
    gdal.UseExceptions()
    access_key = TokenLibrary.getSecret('<key-vault-name>','<secret-name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCOUNT', '<storage_account_name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCESS_KEY', access_key)
    tiff_in = "/vsiadls/aoa/input/sample_image.tiff" #/vsiadls/<container_name>/path/to/image
    png_out = "/vsiadls/aoa/input/sample_image.png" #/vsiadls/<container_name>/path/to/image
    options = gdal.TranslateOptions(format='PNG')
    gdal.Translate(png_out, tiff_in, options=options)
    
  • GeoTiff イメージを Azure Data Lake Storage に格納します。

    データをクラウドに格納する方法と、ファイル ハンドラー /vsiaz/ および /vsiadls/ がシーケンシャル書き込みのみをサポートするという理由により、mssparkutils パッケージで使用できるファイル マウント機能を使用します。 出力がマウント場所に書き込まれたら、次のサンプル変換に示すように Azure Data Lake Storage にコピーします。

    import shutil
    import sys
    from osgeo import gdal
    from notebookutils import mssparkutils
    
    mssparkutils.fs.mount(
        "abfss://<container_name>@<storage_account_name>.dfs.core.windows.net",
        "/<mount_path>",
        {"linkedService":"<linked_service_name>"}
    )
    
    access_key = TokenLibrary.getSecret('<key-vault-name>','<secret-name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCOUNT', '<storage_account_name>')
    gdal.SetConfigOption('AZURE_STORAGE_ACCESS_KEY', access_key)
    
    options = gdal.WarpOptions(options=['tr'], xRes=1000, yRes=1000)
    gdal.Warp('dst_img.tiff', '/vsiadls/<container_name>/path/to/src_img.tiff', options=options)
    
    jobId = mssparkutils.env.getJobId()
    
    shutil.copy("dst_img.tiff", f"/synfs/{jobId}/<mount_path>/path/to/dst_img.tiff")
    

    Azure Synapse では、リンク サービスの 1 つとして Azure Data Lake Storage を追加できます。 手順については、「リンク サービス」を参照してください。

サンプル ソリューション

このアーキテクチャの実装は、GitHub で入手できます。

この図は、サンプル ソリューションの手順を示しています。

サンプル ソリューションの手順を示す図。

このアーキテクチャの Visio ファイルをダウンロードします。

注意

データは、宇宙飛行データ ソースからプルされ、Azure Data Lake Storage にコピーされます。 データ インジェストは、参照実装の一部ではありません。

  1. Azure Synapse パイプラインは、Azure Data Lake Storage から宇宙飛行データを読み取ります。
  2. データは、Azure Synapse ノートブックの GDAL ライブラリで処理されます。
  3. 処理されたデータは、Azure Data Lake Storage に保存されます。
  4. 処理されたデータは Azure Data Lake Storage から読み取られ、Azure Synapse カスタム アクティビティによって AI モデル Custom Vision 物体検出に渡されます。 カスタム アクティビティでは、Azure Batch プールを使用して物体検出モデルを実行します。
  5. 物体検出モデルは、検出されたオブジェクトと境界ボックスの一覧を出力します。
  6. 検出されたオブジェクトは GeoJSON に変換され、Azure Data Lake Storage に格納されます。
  7. GeoJSON データは Azure Data Lake Storage から読み取られ、PostgreSQL データベースに格納されます。
  8. データは PostgreSQL データベースから読み取られます。 それは、ArcGIS Pro、QGIS、Power BI などのツールでさらに視覚化できます。

Azure Synapse Spark プールに地理空間パッケージをインストールする

パッケージ管理機能を使用して、Azure Synapse Spark プールにパッケージをインストールする必要があります。 詳細については、「Azure Synapse パッケージ管理」を参照してください。

Azure Synapse で宇宙飛行データのワークロードをサポートするには、GDALRasterioGeoPandas などのライブラリが必要です。 これらのライブラリは、YAML ファイルを使用してサーバーレス Apache Spark プールにインストールできます。 Anaconda ライブラリは、Spark プールに事前インストールされています。

前提条件

Instructions

  1. environment.yml ファイルでは、次のライブラリとパッケージを使用できます。 このファイルを使用して、Spark プールにライブラリをインストールすることをお勧めします。 YAML ではインデントとして使用できるのはスペースだけなので、以下のコンテンツをコピーする場合にはタブがないことを確認してください。

    name: aoi-env
    channels:
      - conda-forge
      - defaults
    dependencies:
      - azure-storage-file-datalake
      - gdal=3.3.0
      - libgdal
      - pip>=20.1.1
      - pyproj
      - shapely
      - pip:
        - rasterio
        - geopandas
    

    注意

    GDAL は、Azure Data Lake Storage に仮想ファイル システム /vsiadls/ を使用します。 この機能は GDAL v3.3.0 以降で使用できます。 バージョン 3.3.0 以降を必ず使用してください。

  2. https://web.azuresynapse.net にアクセスし、ワークスペースにサインインします。

  3. ナビゲーション ウィンドウで [管理] を選択し、[Apache Spark プール] を選択します。

  4. Spark プールの省略記号ボタン (...) を選択して、[パッケージ] を選択します。 ローカルから environment.yml ファイルをアップロードし、パッケージ設定を適用します。

  5. インストールが完了すると、ポータルの通知セクションから通知が表示されます。 次の手順を実行して、インストールの進行状況を追跡することもできます。

    1. [監視] タブで、Spark アプリケーションの一覧に移動します。
    2. プールの更新プログラムに対応する SystemReservedJob-LibraryManagement リンクを選択します。
    3. ドライバー ログを表示します。
  6. 次のコードを実行して、ライブラリの正しいバージョンがインストールされていることを確認します。 Conda がインストールするプレインストール済みのライブラリも一覧表示されます。

    import pkg_resources
    for d in pkg_resources.working_set:
       print(d)
    

詳細については、「パッケージの管理」を参照してください。

共同作成者

この記事は、Microsoft によって更新および保守されています。 当初の寄稿者は以下のとおりです。

プリンシパルの作成者:

追加の共同作成者:

次の手順