質問編集履歴

3

2018/05/31 13:20

投稿

trafalbad
trafalbad

スコア303

test CHANGED
@@ -1 +1 @@
1
- PCAの次元削減でのコードの間違いについて
1
+ カラー画像にPCAのる方法について
test CHANGED
@@ -1,8 +1,6 @@
1
- PCAで次元削減を行いたいのですが、削減後の画像のshapeがおかしいで
1
+ PCAで次元削減を行いたいのですが、事例を見てもmnistのようなモノクロ画像の例しかでてきませゆ。カラー画像のような(h,w,3)の画像をPCAに適用するにはどんな形にreshapeすれば良しょうか?
2
2
 
3
- なぜ50になるように削減しているのに(3,3)なのでしょうか?
4
3
 
5
- ご教授お願いします
6
4
 
7
5
 
8
6
 

2

追記

2018/05/31 13:20

投稿

trafalbad
trafalbad

スコア303

test CHANGED
File without changes
test CHANGED
@@ -1,6 +1,6 @@
1
1
  PCAで次元削減を行いたいのですが、削減後の画像のshapeがおかしいです
2
2
 
3
- なぜ50になるように削減しているのに(3,3)のでしょうか?
3
+ なぜ50になるように削減しているのに(3,3)のでしょうか?
4
4
 
5
5
  ご教授お願いします
6
6
 

1

変更

2018/05/31 06:40

投稿

trafalbad
trafalbad

スコア303

test CHANGED
@@ -1 +1 @@
1
- AWSS3から画像をEC2上jupyter最速で読み込ませる方法
1
+ PCAの次元削減でのコードの間違いついて
test CHANGED
@@ -1,17 +1,67 @@
1
- EC2jupyter上(p2インスタンス)CNNを動かためS3にある大量の画像をTFRecordに保存する必要ありま
1
+ PCAで次元削減を行いたいのです削減後の画像のshapeがおかしいで
2
+
3
+ なぜ50になるように削減しているのに(3,3)ののでしょうか?
4
+
5
+ ご教授お願いします
2
6
 
3
7
 
4
8
 
9
+ ```python
10
+
5
- そこで質問なのですが
11
+ import cv2
12
+
13
+ import scipy.misc
14
+
15
+ import os
16
+
17
+ import sys
18
+
19
+ import matplotlib.pyplot as plt
20
+
21
+ from sklearn.decomposition import PCA
6
22
 
7
23
 
8
24
 
25
+
26
+
27
+ a_path='/Users/adidas'
28
+
9
- 質問1、S3の画像をEC2のjupyter上でTFrecordに保存するためには、ベストな手法は何でしょうか?
29
+ ad = [cv2.imread(a_path+'/'+i) for i in os.listdir(a_path)]
10
30
 
11
31
 
12
32
 
13
- 質問2、S3の画像はurlから取得するのでしょうか?それとも直接、EC2上にlinuxコマンド等でアップロードする方法が一般的でしょうか?もっとも早く取得できる方法を教えてください
33
+ ad_img=[cv2.resize(i,(150,150)) for i in ad if i is not None]
34
+
35
+ # 次元削減ようにreshape
36
+
37
+ ad=np.reshape(van_img, (12129,3,150*150))
14
38
 
15
39
 
16
40
 
41
+ # 次元削減実行
42
+
43
+ pca = PCA(n_components=50,svd_solver='full')
44
+
45
+ pca.fit(ad[1])
46
+
47
+ x = pca.fit_transform(img)
48
+
49
+ print(x.shape)
50
+
51
+
52
+
53
+ >>>(3, 3)
54
+
55
+
56
+
57
+
58
+
59
+
60
+
61
+ pca.fit(ad[1])
62
+
63
+ >>>PCA(copy=True, iterated_power='auto', n_components=50, random_state=None,
64
+
17
- 参考になる情報、意見等なんでも大丈夫ですのでご教授いただけないでしょうか?
65
+ svd_solver='full', tol=0.0, whiten=False)
66
+
67
+ ```