この文章ではCNN実装であるCaffeを用いて,特徴ベクトルの抽出やパラメータの学習を行うための方法について説明する.
以下の作業を行いたいのであれば,Caffeを用いることが望ましい.
- CNNを利用した画像の多クラス分類
- CNNによる特徴ベクトルの抽出
- CNNの転移学習
- Stacked Auto Encoder
from sklearn.datasets import load_iris | |
from sklearn.ensemble import RandomForestClassifier | |
import pandas as pd | |
import numpy as np | |
iris = load_iris() | |
df = pd.DataFrame(iris.data, columns=iris.feature_names) | |
df['is_train'] = np.random.uniform(0, 1, len(df)) <= .75 | |
df['species'] = pd.Factor(iris.target, iris.target_names) | |
df.head() |
import dask | |
import dask.array as da | |
import dask.dataframe as dd | |
import sparse | |
@dask.delayed(pure=True) | |
def corr_on_chunked(chunk1, chunk2, corr_thresh=0.9): | |
return sparse.COO.from_numpy((np.dot(chunk1, chunk2.T) > corr_thresh)) | |
def chunked_corr_sparse_dask(data, chunksize=5000, corr_thresh=0.9): |
N <- 15 | |
M <- 12 | |
K <- 3 | |
Wconc <- 100 | |
Hconc <- 5 | |
Winit <- structure(c(.056,.111,.056,.111,.056,.111,.056,.111,.056,.111,.056,.111,.111,.056,.111,.056,.111,.056,.111,.056,.111,.056,.111,.056,.063,.063,.125,.063,.063,.125,.063,.063,.125,.063,.063,.125 | |
), .Dim=c(12,3)) | |
X <- structure(c(.032,.032,.091,.032,.157,.264,.157,.139,.486,.257,.709,.934,.036,.036,.08,.036,.255,.192,.255,.1,.638,.171,1.228,.62,.039,.039,.226,.039,.119,.521,.119,.128,.809,.227,.475,1.537,.047,.047,.212,.047,.113,.589,.113,.242,.717,.458,.407,2.002,.02,.02,.058,.02,.07,.189,.07,.107,.251,.203,.293,.705,.033,.033,.062,.033,.128,.268,.128,.208,.325,.403,.549,1.142,.039,.039,.245,.039,.144,.516,.144,.081,.923,.128,.609,1.39,.05,.05,.189,.05,.326,.383,.326,.091,1.077,.136,1.55,1.024,.039,.039,.245,.039,.106,.548,.106,.112,.847,.194,.407,1.565,.023,.023,.134,.023,.072,.301,.072,.065,.486,.112,.291,.862,.04,.04,.145,.04,.205,.352,.205,.131,.726,.233,.938,1.107,.028,.028,.173,.028,.076,.397,.076,.093,.593,.164,.287,1.163,.028,.028,.058,.028,.14,.1 |
import warnings | |
warnings.filterwarnings('ignore') | |
import pymc3 as pm | |
from pymc3.distributions.dist_math import bound | |
import theano.tensor as tt | |
import theano | |
import numpy as np | |
np.random.seed(seed=32) |