teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記

2018/09/22 08:57

投稿

tiitoi
tiitoi

スコア21960

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

誤字

2018/09/22 08:57

投稿

tiitoi
tiitoi

スコア21960

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(fit_transform)
79
+ data = fit_transform(features)
80
80
  ```
81
81
 
82
82
  ### ステップ4 学習する。