in src/main/python/deeplearning/train_boston.py [0:0]
def train(dataframe, env):
crim = tf.feature_column.numeric_column('crim', dtype=tf.float64, shape=())
zn = tf.feature_column.numeric_column('zn', dtype=tf.float64, shape=())
indus = tf.feature_column.numeric_column('indus', dtype=tf.float64, shape=())
chas = tf.feature_column.numeric_column('chas', dtype=tf.int64, shape=())
nox = tf.feature_column.numeric_column('nox', dtype=tf.float64, shape=())
rm = tf.feature_column.numeric_column('rm', dtype=tf.float64, shape=())
age = tf.feature_column.numeric_column('age', dtype=tf.float64, shape=())
dis = tf.feature_column.numeric_column('dis', dtype=tf.float64, shape=())
rad = tf.feature_column.numeric_column('rad', dtype=tf.int64, shape=())
tax = tf.feature_column.numeric_column('tax', dtype=tf.int64, shape=())
ptratio = tf.feature_column.numeric_column('ptratio', dtype=tf.float64, shape=())
black = tf.feature_column.numeric_column('black', dtype=tf.float64, shape=())
lstat = tf.feature_column.numeric_column('lstat', dtype=tf.float64, shape=())
feature_cols = [crim, zn, indus, chas, nox, rm, age, dis, rad, tax, ptratio, black, lstat]
feature_names = ['ID','crim', 'zn', 'indus', 'chas', 'nox', 'rm', 'age', 'dis', 'rad', 'tax', 'ptratio', 'black',
'lstat']
label_name = 'medv'
dict = {}
index = 0
for i in feature_names:
dict[i] = index
index+=1
def train_input():
feature_dict = {}
for i in feature_names[1:]:
feature_dict[i] = dataframe.get(i)
_dataset = tf.data.Dataset.from_tensor_slices((feature_dict, dataframe.get(label_name)))
dataset = _dataset.batch(32)
return dataset
ps = tf.contrib.distribute.ParameterServerStrategy()
config = tf.estimator.RunConfig(train_distribute=ps, eval_distribute=ps)
estimator = tf.estimator.LinearRegressor(feature_columns=feature_cols, model_dir='hdfs://emr-header-1:9000/boston', config=config)
train_spec = tf.estimator.TrainSpec(input_fn=train_input, max_steps=100)
eval_spec = tf.estimator.EvalSpec(input_fn=train_input, start_delay_secs=0, throttle_secs=10,steps=10)
tf.estimator.train_and_evaluate(estimator, train_spec, eval_spec)