ディープラーニングデータセットを管理するための新しいアプローチ

ディープラーニングデータセットを管理するための新しいアプローチ

ハブの紹介

Activeloop の Hub は、Numpy のような配列にデータを配置するオープンソースの Python パッケージです。 Tensorflow や PyTorch などのディープラーニング フレームワークとシームレスに統合され、GPU 処理とトレーニングを高速化します。 Hub API を使用して、データを更新、視覚化、機械学習パイプラインを作成できます。

Hub を使用すると、画像、音声、ビデオ、時系列データを保存し、すばやくアクセスできます。データは、GCS/S3 バケット、ローカル ストレージ、または Activeloop クラウドに保存できます。データは Pytorch モデルのトレーニングに直接使用できるため、データ パイプラインを構築する必要はありません。ハブは、データのバージョン管理、データセットの検索クエリ、分散ワークロードも提供します。

ハブは、数分でデータを作成してクラウドにプッシュできるため、非常に優れていると感じました。この記事では、Hub を使用してデータセットを作成および管理する方法について説明します。

  • Activeloopクラウド上のデータセットを初期化する
  • 画像の処理
  • データをクラウドにプッシュする
  • データのバージョン管理
  • データの視覚化

アクティブループストレージ

Activeloop は、オープンソースとプライベート データセットの両方に無料のストレージを提供します。紹介を通じて最大 200 GB の無料ストレージを獲得することもできます。 Activeloop のハブは Database for AI に接続されており、ラベルを使用してデータセットを視覚化できるほか、複雑な検索クエリを使用してデータを効率的に分析できます。このプラットフォームには、画像のセグメンテーション、分類、オブジェクト検出のための 100 を超えるデータセットも含まれています。

アカウントを作成するには、Activeloop Web サイトを使用するか、「!activeloop register」と入力してサインアップします。コマンドを実行すると、ユーザー名、パスワード、電子メールを追加するように求められます。アカウントの作成に成功したら、「!activeloop login」を使用してログインします。ローカルマシンから直接クラウド データセットを作成および管理できるようになりました。

Jupyter Notebook を使用する場合は「!」を使用し、それ以外の場合は CLI で ! なしでコマンドを直接追加します。

 ! アクティブループレジスタ
! アクティブループログイン- u - p

ハブデータセットを初期化する

このチュートリアルでは、(CC BY 4.0) ライセンスの Kaggle データセット Multi-class Weather を使用します。このデータセットには、天気の分類に基づいた「日の出」、「晴天」、「雨」、「曇り」の 4 つのフォルダーが含まれています。

まず、hub パッケージと kaggle パッケージをインストールする必要があります。 kaggle パッケージを使用すると、データセットを直接ダウンロードして解凍することができます。

 ! pip インストールhub kaggle
! kaggle データセットのダウンロード- d pratik2901 / マルチクラス- 天気- データセット
! マルチクラス- 天気- データセットを解凍する

次に、Activeloop クラウド上に HUB データセットを作成します。データセット関数は、新しいデータセットを作成したり、古いデータセットにアクセスしたりすることもできます。 AWS バケットアドレスを指定して、Amazon サーバー上にデータセットを作成することもできます。 Activeloop でデータセットを作成するには、ユーザー名とデータセット名を含む URL を渡す必要があります。

  hub : // <ユーザー名> / <データセット名> ”
輸入ハブ
ds = hub . dataset ( 'hub://kingabzpro/muticlass-weather-dataset' )

データ前処理

データをハブ形式に処理する前に、データを準備する必要があります。以下のコードは、フォルダー名を抽出し、「class_names」変数に保存します。 2 番目の部分では、データセット フォルダーで使用可能なファイルのリストを作成します。

 PIL インポート画像から
numpyをnp としてインポートする
インポートOS

dataset_folder = '/work/multiclass-weather-dataset/マルチクラス気象データセット'

class_names = os.listdir ( データセットフォルダ)

ファイルリスト= []
os.walk ( dataset_folder ) 内のdirpathdirnamesfilenames 場合:
ファイル名内のファイル名:
files_list . append ( os . path . join ( dirpath , filename ))

file_to_hub 関数は、ファイル名、データセット、クラス名の 3 つのパラメータを受け入れます。各画像からラベルを抽出し、整数に変換します。また、画像ファイルを Numpy のような配列に変換し、テンソルに追加します。このプロジェクトでは、ラベル用と画像データ用の 2 つのテンソルだけが必要です。

 @ ハブコンピューティング
def file_to_hub ( ファイル名サンプル出力クラス名):
## 最初の 2 つの引数は常に次の内容を含むデフォルトの引数です。
# 最初の引数は入力反復可能オブジェクトの要素です (リスト、データセット、配列など)
# 2番目の引数はデータセットのサンプルです
# その他の引数はオプションです

# ファイルに対応するラベル番号を見つける
label_text = os.path.basename ( os.path.dirname ( file_name ) )
label_num = クラス名.index ( label_text )

# 出力サンプルにラベルと画像を追加します
sample_out.labels.append(np.uint32(label_num)) サンプル出力. ラベル. 追加( np.uint32 ( label_num ))
sample_out.images.append (hub.read(file_name ) ) です
sample_out を返す

「png」圧縮と単純なラベル テンソルを使用して画像テンソルを作成しましょう。テンソルの名前が、file_to_hub 関数で指定したものと同じであることを確認してください。テンソルの詳細については、「API サマリー - ハブ 2.0: https://docs.activeloop.ai/api-basics#creating-tensors-and-adding-data」を参照してください。

最後に、files_lists、ハブ データセット インスタンス「ds」、および class_names を指定して、file_to_hub 関数を実行します。データを変換してクラウドにプッシュする必要があるため、これには数分かかります。

 ds の場合:
ds .create_tensor ( 'images'htype = 'image'sample_compression = 'png' )
ds .create_tensor ( 'labels'htype = 'class_label'class_names = class_names )

file_to_hub ( クラス名= クラス名). eval ( ファイルリストdsnum_workers = 2 )

データの視覚化

このデータセットは現在、multiclass-weather-dataset で公開されています。タグを使用してデータセットを探索したり、説明を追加したりして、他のユーザーがライセンス情報やデータの配布について詳しく知ることができるようにすることができます。 Activeloop は視聴体験を向上させるために常に新しい機能を追加しています。

Python API を使用してデータセットにアクセスすることもできます。 PIL の Image 関数を使用して配列を画像に変換し、Jupyter ノートブックに表示します。

 画像.fromarray ( ds [ "images" ][ 0 ] .numpy ())

ラベルにアクセスするには、分類情報を含む class_names を使用し、ラベルを表示するには「labels」テンソルを使用します。

 class_names = ds [ "ラベル" ]. info . class_names
class_names [ ds [ "ラベル" ][ 0 ] .numpy () [ 0 ]]
>>> 「曇り」

提出する

Git や DVC など、異なるブランチを作成して異なるバージョンを管理することもできます。このセクションでは、class_names 情報を更新し、その情報を使用して送信を作成します。

 ds.labels.info.update ( class_names = class_names ) です

ds . commit ( "クラス名が追加されました" )
>>> '455ec7d2b49a36c14f3d80d0879369c4d0a70143'

ご覧のとおり、ログには、変更がマスター ブランチに正常にコミットされたことが示されています。バージョン管理の詳細については、「データセット バージョン管理 - Hub 2.0」を参照してください。

 log = ds.log ( )
- - - - - - - - - - - - - - -
ハブバージョンログ
- - - - - - - - - - - - - - -

現在のブランチ: main

コミット: 455ec7d2b49a36c14f3d80d0879369c4d0a70143 ( メイン)
著者: kingabzpro
時間: 2022 - 0 1 - 31 0 8 : 32 : 0 8
メッセージ: クラスが追加されました

Hub UI を使用してすべてのブランチとコミットを表示することもできます。

原題:ディープラーニングデータセットを管理する新しい方法、著者: Abid Ali Awan


<<:  量子コンピューティングとブロックチェーンの未来

>>:  AI投資から利益を得るための3つの鍵

ブログ    
ブログ    
ブログ    

推薦する

スマートカーの「ChatGPTモーメント」はどこまで進んでいるのでしょうか?

今年の「テクノロジー スプリング フェスティバル ガラ」CES で最も注目を集めたものは何かと聞かれ...

EasyDLコンピューティング機能:10種類以上のチップをサポートし、速度が数倍速く、ワンクリックで展開可能

科学研究、金融、小売から工業、農業まで、ますます多くの業界やビジネス シナリオで、効率の向上とコスト...

...

建物内の生体認証システム

新しい建物では、利用可能なリソースの最適化を最大限にしながら、セキュリティと有用かつ重要なデータを豊...

人工知能、ブロックチェーン技術などが医療分野を改善している

ヘルスケア業界の成長は驚異的ですが、欠点がないわけではありません。医師や研究者は、一般的な病気や珍し...

顔認識におけるコモンズの悲劇

現在、顔認識などの個人情報の所有権と保護に関する権威ある解釈や体系的な政策や法的規範は存在せず、商業...

それは単なるアルゴリズムとモデルですか?これらのポイントによりAIを徹底的に理解できる

現在、AIはデジタル変革においてより重要な役割を果たしています。デジタル変革プロセス全体は、「クラウ...

超強力なPytorchオペレーション! ! !

こんにちは、Xiaozhuangです!ここ数日、ディープラーニングに関するコンテンツをいくつか共有し...

10億の顔データが完全に削除されました! Facebookが顔認識ツールを廃止

[[434362]] 11月3日、Facebookは写真のタグ付けに顔認識機能を使うのをやめると発表...

MITの新しい水中ロボット!機械学習を使用して 18 時間でパトリック スターを作成する (ダニエラ ラスとの共著)

この記事はLeiphone.comから転載したものです。転載する場合は、Leiphone.com公式...

2021 年に注目すべき 27 の建設技術トレンド (パート 3)

テクノロジーは建設業界にかつてないほど大きな影響を与えています。クラウドベースのコラボレーションやデ...

ロボットインテリジェント把持システム:いくつかの主流ソリューション

ロボット学習における典型的な問題の 1 つは、分類、つまり乱雑に積み重なったアイテムの山から目的のア...

ChatGPTはどんどん怠惰になり、代わりにPUA人間を学習しました

GPT-4 が最近少し「怠惰」になっていることにお気づきでしょうか。現在、GPT-4 は常に特定のタ...

機械学習を予知保全に適用するにはどうすればよいでしょうか?

機械学習と産業用 IoT (IIoT) デバイスから収集されたデータを組み合わせることで、プロセスの...

アメリカの人工知能の簡単な分析

米国の人工知能戦略配置と発展パターンは、高度に体系化され、段階が明確であり、世界の人工知能発展の最新...