4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

ABEJA Platform × icrawlerで機械学習用のデータを用意する

Last updated at Posted at 2019-06-30

はじめに

本記事は、以下の手順をまとめた記事です。

  • Webクローリングにより収集したデータをABEJA Platformに保存する

事前準備

Jupyter Notebookの起動

ABEJA Platformにて、ジョブ定義を作成して、ノートブックを立ち上げます。

icrawlerのインストール

Jupyter NotebookのTerminalでpip install icrawlerして、icrawlerをインストールします。

Webクローリングにより収集したデータをABEJA Platformに保存

準備が完了したら、ノートブックで以下のコードを実行します。

このコードでは、以下の2つのタスクを行っています。

  • Webクローリングにより、5種類の花(マーガレット、タンポポ、バラ、ヒマワリ、チューリップ)の画像データを収集
  • 収集したデータをABEJA Platformのデータレイクに保存

from pathlib import Path
from icrawler.builtin import GoogleImageCrawler
from abeja.datalake import Client as DatalakeClient
from abeja.datalake.storage_type import StorageType

# set credential
organization_id = 'XXXXXXXXXXXXX'
credential = {
    'user_id': 'user-XXXXXXXXXXXXX',
    'personal_access_token': 'XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX'
}
datalake_client = DatalakeClient(organization_id=organization_id, credential=credential)

# define channel name and description
name = 'flower-data-crawling'
description = 'created by my crawler'

# create DataLake channel
channel = datalake_client.channels.create(name, description, StorageType.DATALAKE.value)

# download images
keyword_list = [u'マーガレット', u'タンポポ', u'バラ', u'ヒマワリ, 'u'チューリップ']
max_num = 100
filters = {'type': 'photo'}
image_root_dir = Path('image')

for keyword in keyword_list:
    crawler = GoogleImageCrawler(storage={'root_dir': image_root_dir / keyword})
    crawler.crawl(keyword=keyword, max_num=max_num, filters=filters)
    # upload images
    channel.upload_dir(image_root_dir)

数分で、Crawling task done!が表示され、データ収集が完了しました。

データレイクに移動すると、先ほど指定した名前で、チャンネルが作成されています。

チャンネルの中身を確認すると、収集したデータが保存されています!

まとめ

本記事では、Webクローリングにより収集したデータをABEJA Platformに保存する手順をまとめました。ABEJA Platformには、アノテーションの機能があるため、その機能を使って保存したデータにラベル付けを行うことができます。詳細は、公式ドキュメントを参照ください :dog:

参考

Webクローリングで集めたデータを使い、このような機械学習モデルをつくることができます!

サンタクロースとサンタコスを見分けるDeep Learningモデルをサービス化してみた
https://tech-blog.abeja.asia/entry/santa-recognition-from-scratch

ABEJA Platformは、トライアルも提供しています。気になられた方は、是非、お気軽にお問い合わせください。また、フォーラムもありますので、是非、ご活用ください。

ABEJA Platformに関するお問い合わせ
https://abejainc.com/platform/ja/contact/

ABEJA Platform Forum
https://forums.abeja.io/

4
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?