# MANUFACIAを使ってみよう1
## MANUFACIAのワークフローを理解する
```{image} media/Manufacia_Workflow.png
:width: 800px
:name: img_manufacia_worklow
```
```{note}
1. CSVデータの場合、CSVフォーマットチェッカを利用します。詳細は[こちら](../csv_format_checker/index_1.html#what-is-csv-format-checker)をご覧ください。
2. タグの追加については[タグの設定](#set-tags)を参照してください。
```
## アカウントを選択する
用意されているアカウントのうち、利用するものを1つ選択します。
```{image} media/Account_Selection.png
:width: 800px
:name: img_account_selection
```
アカウントにラボが登録されていない場合には、以下の画面で【スタート】をクリックします。既に登録されている場合には、ラボ一覧が表示されます。
```{image} media/welcome.png
:width: 800px
:name: img_welcomme
```
```{caution}
一度アカウントを選択してラボを作成すると、ログアウトするまで選択されたアカウントが使用されます。
```
アカウントを切り替える場合は、ログアウトして再度アカウントを選択します。ログアウトするには、右上のアカウント名の右の矢印にポインタを合わせるとログアウトボタンが表示されるので、クリックします。
```{image} media/Account_LogOff.png
:width: 800px
:name: img_account_log_off
```
## ラボを作成する
ラボ名(必須)と、概要(任意)を入力します。
ラボ名が入力されると【次へ】のボタンが有効になります。記載漏れがないことを確認して【次へ】をクリックします。
```{image} media/Create_Lab.png
:width: 500px
:name: img_create_lab
```
画面が自動的に切り替わるので、ラボが作成されていることを確認します。
```{image} media/View_LabList.png
:width: 600px
:name: img_view_lab_list
```
以降、ラボを追加する場合は【+新規作成】をクリックして作成します。
```{image} media/Create_NewLab.png
:width: 600px
:name: img_create_new_lab
```
(register-assets)=
## アセットを登録する
### データファイルの選択
ラボの【アセット】をクリックします。
```{image} media/Create_Asset.png
:width: 600px
:name: img_create_assets
```
ここで新規アセットを追加していきます。以下の2つの方法から選択します。一つのアセットに対して両方のやり方を併用することも可能です。
- フォルダから新規作成
- ファイルから新規作成
#### フォルダから新規作成
【フォルダから新規作成】をクリックします。
```{image} media/Create_Asset_FromFolders.png
:width: 600px
:name: img_create_assets_from_folders
```
登録したいフォルダを、【フォルダをドラッグ&ドロップ】もしくは【フォルダを選択】から登録します。
ここでは例として、正常画像データが30ファイル入った「ok」フォルダをドラッグ&ドロップして登録します。
```{image} media/Create_Asset_FromFolders_DandD.png
:width: 800px
:name: img_create_assets_from_folders_DandD
```
画面が自動的に切り替わるので、ドラッグ&ドロップしたフォルダが、表示されていることを確認します。フォルダ名および、フォルダ内のファイル数が表示されています。
```{image} media/Create_Asset_FromFolders_OK.png
:width: 800px
:name: img_create_assets_from_folders_OK
```
```{caution}
一度プレビューが表示されたら、**次のファイルやフォルダをドラッグ&ドロップする前に、後述するタグ付けを正しく行い、【ファイルをアセットに追加】を押してアセットを追加してください**。
【ファイルをアセットに追加】を押さずに次のフォルダを追加してしまった場合には、新しいタブが開きます。そのタブを閉じてから、それまで作業をしていたタブに戻って【ファイルをアセットに追加】を押してください。
```
登録するファイルやフォルダの追加は、ファイルをアセットに追加後に繰り返し行えます。
#### ファイルから新規作成
【ファイルから新規作成】をクリックします。
```{image} media/Create_Asset_FromFiles.png
:width: 600px
:name: img_create_assets_from_files
```
ファイルをドラッグ&ドロップするか、ファイルを選択します。
ここでは例として、異常画像データ30ファイルをドラッグ&ドロップして登録します。複数ファイルをまとめて操作することも可能です。
```{image} media/Create_Asset_FromFiles_DandD.png
:width: 800px
:name: img_create_assets_from_files_DandD
```
新規アセットにドラッグ&ドロップしたファイルが表示されていることを確認します。ドラッグ&ドロップしたファイル数が表示されています。
```{image} media/Create_Asset_FromFiles_PNG.png
:width: 800px
:name: img_create_assets_from_files_PNG
```
一度プレビューが表示されたら、**次のファイルやフォルダをドラッグ&ドロップする前に、後述するタグ付けを正しく行い、【ファイルをアセットに追加】を押してアセットを追加してください**。
登録するファイルやフォルダの追加は、ファイルをアセットに追加後に繰り返し行えます。
```{tip}
ZIPファイルを使用することで、アセットのアップロードが少し速くなります。ZIPファイル内のフォルダ階層は全て無視され、全てのファイルが同じ階層となるように展開されます。
```
```{caution}
ZIPファイルは他のフォルダと一緒に選択できません。また、ZIPファイル名をクラス名として自動でタグ付けをすることはできませんので、タグ付けは手動でおこなってください。
```
```{hint}
Windows10のデフォルト設定でエクスプローラーを使ってZIPファイルを作成すると、エントリーがSHIFT-JISのエンコードで作成されるために中身を取得できず、MANUFACIA上で解凍できません。そのためにアセットのアップロードに失敗します。その際には以下のどれかで対応してください。
1. ファイル名に非ASCII文字(日本語文字)を使用しない。
2. ZIPの作成に、7-ZIPなどのUTF-8のエンコードが使えるツールを使用する。
3. Windows10のシステム設定(Windowsロケール)をUTF-8に変更する。**これによってその他のアプリケーションが影響を受けるある可能性があります**。
```
(set-tags)=
### タグの設定
#### タグの使い方
タグはアセットのまとまりの分類名です。アセットのまとまりは、【フォルダからアップロードの場合】はフォルダごと、【ファイルからアップロードの場合】は同時にアップロードしたファイルごとです。アセットのまとまりに対し、タグは複数設定できます。
ファイルを選択した直後は、そのファイルの一覧(画像の場合はサムネイル)が表示されています。
##### 自動的に付与されるタグ
ファイルの拡張子のタグは自動的に付与されます。
フォルダからドラッグアンドドロップでアップロードする場合は、フォルダ名がタグとして自動的に付与されます。
```{caution}
同じフォルダ名の異なるデータセットを追加する場合は、事前にフォルダ名を変更する必要があります。
```
#### タグの用途
タグには大きく分けて2つの用途があります。
- クラス分類用
>タグによってアセットをラベルに紐づけます。異常検知の場合は「正常」「異常」ラベルに紐づけるためのタグ、多クラス分類の場合は各クラス(ラベル)に紐づけるタグが必要となります。
>フォルダからアップロードする場合は、フォルダ名がタグとして自動的に付与されるため、事前にフォルダ名をタグとして利用できる名称にしておくことを推奨します。
- 学習用データと検証用データの分類用
>学習用データと検証用データを分類する方法は【アセットタグで分割】と【割合で分割】の2種類あります。[(「データを分割する」参照)](./index_3.html#split-data)
>【アセットタグで分割】を選択する場合には、「アセットの登録」(新規アセットを作成)時にタグを設定しておく必要があります。推奨するタグの設定方法は、あらかじめ用意されている「training」タグを学習データに、「test」タグを検証データに付与する方法です。
>アセットをフォルダから登録する場合は、事前にフォルダを学習データと検証データに分割しておく必要があります。
```{caution}
1. 教師なし学習では、異常データはデータセットを学習用と検証用に按分する際にも学習用には割り振られませんので、異常データに「training」のタグをつけると学習に失敗します。**「test」のみをタグ付けしてください**。
2. 同じ正常データのグループに「training」と「test」の両方のタグを付けると学習に失敗します。正常データを学習用と検証用に分けてアセット登録するか、**【割合で分割】の場合には正常データには「training」のみをタグ付けしてください**。
```
#### タグの設定の仕方
タグの色が濃くなっているものが設定されているタグとなります。
```{image} media/Create_Asset_TagPNG_ok.png
:width: 800px
:name: img_create_asset_tag_PNG_ok
```
任意のタグを追加する場合は【+】をクリックします。
```{image} media/Create_Asset_Create_NewTag.png
:width: 800px
:name: img_create_asset_create_new_tag
```
必要に応じて新規タグを作成し、【OK】をクリックします。
```{image} media/Create_Asset_Tag_sample.png
:width: 400px
:name: img_create_asset_tag_sample
```
```{important}
ファイルをアセットに追加した後からタグ付けを変更することはできません。
```
(examples-tag-settings)=
#### タグの設定例
あらかじめ用意されている「training」および「test」タグ以外のタグ名は任意で設定します。ここでは、アセットを「フォルダからアップロード」し、フォルダ名をタグ名として設定する例を示します。
**例1:異常検知のモデル生成で、学習データと検証データを「割合」で分割する場合**
| データの種類 | フォルダ名 | タグ設定 |
| :----------- | :--------- | :------- |
| 正常データ | ok | ok |
| 異常データ | ng | ng |
**例2:異常検知のモデル生成で、学習データと検証データを「アセットタグ」で分割する場合**
| 分類 | データの種類 | フォルダ名 | タグ設定
| :-------| :--------- | :----------- | :--------------------------|
| 学習用 | 正常データ
異常データ | ok
ng | ok, training**注**
ng, training**注** |
| 検証用 | 正常データ
異常データ | test_ok
test_ng | test_ok, test**注**
test_ng, test**注** |
**例3:多クラス(4クラス)のモデル生成で、学習データと検証データを「割合」で分割する場合**
| データの種類 | ラベル(任意) | フォルダ名 | タグ設定 |
| :----------- | :------------- | :--------- | :------- |
| クラス1 | data1 | data1 | data1 |
| クラス2 | data2 | data2 | data2 |
| クラス3 | data3 | data3 | data3 |
| クラス4 | data4 | data4 | data4 |
**例4:多クラス(4クラス)のモデル生成で、学習データと検証データを「アセットタグ」で分割する場合**
| 分類 | データの種類 | ラベル(任意)| フォルダ名 | タグ設定 |
| :---- | :---------- | :----------- | :-------- | :------- |
| 学習用 | クラス1
クラス2
クラス3
クラス4 | data1
data2
data3
data4 | data1
data2
data3
data4 | data1, training**注**
data2, training**注**
data3, training**注**
data4, training**注** |
| 検証用 | クラス1
クラス2
クラス3
クラス4 | data1
data2
data3
data4 | test_data1
test_data2
test_data3
test_data4 | test_data1, test**注**
test_data2, test**注**
test_data3, test**注**
test_data4, test**注** |
```{note}
「training」および「test」タグは、タグ設定画面であらかじめ用意されているものを選択します。
```
### ファイルをアセットに追加
所定のファイルグループに正しくタグ付けがされていることを確認した後、【ファイルをアセットに追加】をクリックします。
ここでは例として、「training」のタグをクリックしアセットに紐づけます。
```{image} media/Create_Asset_Tag_training.png
:width: 800px
:name: img_create_asset_tag_training
```
アップロードされた後、アセット一覧とタグに登録したデータが正しく反映されていることを確認します。アセット一覧の上にアセットに登録されている全てのタグが表示されますが、任意のタグをクリックして選択することで、そのタグに関連付けされたファイルだけが一覧に表示されます。複数タグを選択した場合には、その全てのタグに関連付けされたファイルが表示されます。
```{image} media/Create_Asset_Uploaded.png
:width: 800px
:name: img_create_asset_upload
```
```{tip}
アセット一覧では最大1000データまでが表示されます。現在登録されているアセット総数は、分母の数字を確認します。
```
他にも追加するアセットがある場合には【+アセットを追加】をクリックし、同様の操作を繰り返します。
```{image} media/Create_Asset_Add_Another_Asset.png
:width: 800px
:name: img_create_asset_add_another_asset
```
```{important}
CSVファイルをお使いの場合には、【ファイルをアセットに追加】を追加後、任意のアイコンをクリックしてヘッダー行を確認してください。
ヘッダー行が定義されていることと、ヘッダー行の文字列に空白がないことを確認してください。
このタイトル行の文字列は、読み込むファイルのカラムのデータが同じものであることを確認するために使われています。そのため、この文字列が定義されていないと学習時にエラーとなります。CSVフォーマットチェッカーを使うことで、欠けているヘッダー行を補ったり、ヘッダー文字を入れ替えたりすることが簡単に出来ます。詳しくは[CSVフォーマットチェッカーユーザーマニュアル](../csv_format_checker/index_1.html#what-is-csv-format-checker)をご覧ください。
```