Tensorflow: TensorFlowEstimator ์ปค์Šคํ…€ ๋ชจ๋ธ์— ๊ทธ๋ฆฌ๋“œ ๊ฒ€์ƒ‰ ๋งค๊ฐœ๋ณ€์ˆ˜ ์ „๋‹ฌ

์— ๋งŒ๋“  2016๋…„ 04์›” 20์ผ  ยท  3์ฝ”๋ฉ˜ํŠธ  ยท  ์ถœ์ฒ˜: tensorflow/tensorflow

GridSearchCV๋Š” ํ•˜์ดํผ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์ž๋™์œผ๋กœ ํ…Œ์ŠคํŠธํ•˜๊ณ  ์ตœ์ ํ™”ํ•˜๋Š” ์ข‹์€ ๋ฐฉ๋ฒ•์ž…๋‹ˆ๋‹ค. TensorFlowEstimator์™€ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜์—ฌ learning_rate, batch_size ๋“ฑ์„ ์ตœ์ ํ™”ํ•ฉ๋‹ˆ๋‹ค. ๋‚ด ์‚ฌ์šฉ์ž ์ง€์ • ๋ชจ๋ธ์˜ ๋‹ค๋ฅธ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ์‚ฌ์šฉ์ž ์ง€์ •ํ•˜๋Š” ๋ฐ ์‚ฌ์šฉํ•  ์ˆ˜๋„ ์žˆ๋‹ค๋ฉด ํฐ ๋„์›€์ด ๋  ๊ฒƒ์ž…๋‹ˆ๋‹ค.

์˜ˆ๋ฅผ ๋“ค์–ด convnet์ด ์žˆ๋Š” ์‚ฌ์šฉ์ž ์ง€์ • ๋ชจ๋ธ์ด ์žˆ๊ณ  ๋ณดํญ ๊ฐ’์„ ์ตœ์ ํ™”ํ•˜๋ ค๊ณ  ํ•œ๋‹ค๊ณ  ๊ฐ€์ •ํ•ด ๋ณด๊ฒ ์Šต๋‹ˆ๋‹ค. ์ด ์˜์‚ฌ ์ฝ”๋“œ ๋Š” ๋‚ด๊ฐ€ ๋‹ฌ์„ฑํ•˜๋ ค๋Š” ๊ฒƒ์„ ์„ค๋ช…ํ•ฉ๋‹ˆ๋‹ค.

๋ชจ๋ธ ํ•จ์ˆ˜์— ๋Œ€ํ•œ ์‚ฌ์šฉ์ž ์ง€์ • "params" ์ž…๋ ฅ์„ ์˜ˆ์ œ๋กœ ์‚ฌ์šฉํ–ˆ์œผ๋ฉฐ ์ด๊ฒƒ์ด ๋ฐ˜๋“œ์‹œ ์ด ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋Š” ์˜ฌ๋ฐ”๋ฅธ ๋ฐฉ๋ฒ•์ž„์„ ์˜๋ฏธํ•˜์ง€๋Š” ์•Š์Šต๋‹ˆ๋‹ค.

# My custom model. 
# Feature request: New params dict with values filled by GridSearchCV
def cnn_model(X, Y, params):
  stride = params['stride']
  ... custom model definition here ...

# Create the Convnet classifier
cnn_classifier = learn.TensorFlowEstimator(model_fn=cnn_model)

# Grid search on different stride values.
parameters = {'stride': [1, 2, 3],}
grid_searcher = GridSearchCV(cnn_classifier, parameters)
grid_searcher.fit(X, Y)

๊ฐ€์žฅ ์œ ์šฉํ•œ ๋Œ“๊ธ€

@ilblackdragon ์ด์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ชจ๋“  3 ๋Œ“๊ธ€

TODO ๋ชฉ๋ก์— ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜์ดํผ ๋งค๊ฐœ๋ณ€์ˆ˜๋ฅผ ๋ชจ๋ธ์— ์ „๋‹ฌํ•˜๋Š” ์ผ๋ฐ˜์ ์ธ ๋ฐฉ๋ฒ•์„ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ์•Œ์•„๋‚ด๋ ค๊ณ  ํ•ฉ๋‹ˆ๋‹ค.

@ilblackdragon ์ด์— ๋Œ€ํ•œ ์—…๋ฐ์ดํŠธ๊ฐ€ ์žˆ์Šต๋‹ˆ๊นŒ?

๋ชจ๋ธ ํ•จ์ˆ˜์— params ์ธ์ˆ˜๊ฐ€ ์žˆ์Šต๋‹ˆ๋‹ค. TensorFlowEstimator ๋Š” ๋” ์ด์ƒ ์‚ฌ์šฉ๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. params ์ธ์ˆ˜๋ฅผ ์‚ฌ์šฉํ•˜๋Š” Estimator ๋ฅผ ์‚ฌ์šฉํ•˜์„ธ์š”. ์ด๊ฒƒ์€ ์ง€๊ธˆ ์ž‘๋™ํ•ด์•ผ ํ•ฉ๋‹ˆ๋‹ค. ์ž‘๋™ํ•˜์ง€ ์•Š์œผ๋ฉด ๋‹ค์‹œ ์—ฌ์‹ญ์‹œ์˜ค.

์ด ํŽ˜์ด์ง€๊ฐ€ ๋„์›€์ด ๋˜์—ˆ๋‚˜์š”?
0 / 5 - 0 ๋“ฑ๊ธ‰