回答編集履歴
2
追記
answer
CHANGED
@@ -89,4 +89,28 @@
|
|
89
89
|
|
90
90
|
1. 画像から特徴量抽出
|
91
91
|
2. PCA で次元削減
|
92
|
-
3. 学習したモデルに流す。
|
92
|
+
3. 学習したモデルに流す。
|
93
|
+
|
94
|
+
----
|
95
|
+
|
96
|
+
## 追加の質問について
|
97
|
+
|
98
|
+
```
|
99
|
+
1. 学習済みのモデルなければいけない
|
100
|
+
```
|
101
|
+
|
102
|
+
今回のメルカリの記事はディープラーニングで End-to-End で分類モデルを学習するという話でなく、学習済みのモデルを使って特徴量を抽出して、次元圧縮して、分類に利用するって話ですよね。
|
103
|
+
だから、学習済みモデルを使っています。
|
104
|
+
|
105
|
+
学習済みモデルを使うメリットについては [過去の質問](https://teratail.com/questions/147018) を参考にしてください。
|
106
|
+
|
107
|
+
```
|
108
|
+
2. tfrecordの場合は次元削減できないので、numpyの画像を使うしかない
|
109
|
+
の2つは絶対条件なのでしょうか?
|
110
|
+
```
|
111
|
+
|
112
|
+
tfrecord にこだわる理由はなにかあるのでしょうか?
|
113
|
+
tfrecord は Tensorflow でデータセットを扱う際に protocol buffer 形式で画像やラベルなど必要なデータをまとめたファイルフォーマットです。なので、元の画像があれば、わざわざ tf-recoard 形式にしなくてもそれを numpy として読み込んめばいいかと思います。
|
114
|
+
もちろん、protocol buffer は複数のデータを構造体のように固めただけなのでそこからデータ取り出すこともできます。
|
115
|
+
|
116
|
+
ちなみに sklearn の PCA で次元削減することと Deep Learning ライブラリで画像の特徴を抽出することは直接は関係ないので、そこは切り分けて考えてください。
|
1
誤字
answer
CHANGED
@@ -47,8 +47,8 @@
|
|
47
47
|
以下の例は1枚の特徴マップを取り出す例です。
|
48
48
|
|
49
49
|
```python
|
50
|
+
import numpy as np
|
50
51
|
from PIL import Image
|
51
|
-
import numpy as np
|
52
52
|
|
53
53
|
input_h, input_w = model.input_shape[1:3]
|
54
54
|
img = Image.open('dog.jpg') # RGB 形式で読み込むこと
|
@@ -76,7 +76,7 @@
|
|
76
76
|
pca.fit(features)
|
77
77
|
|
78
78
|
# 主成分分析の結果に基づき、次元削減する。
|
79
|
-
data= fit_transform(
|
79
|
+
data = fit_transform(features)
|
80
80
|
```
|
81
81
|
|
82
82
|
### ステップ4 学習する。
|