我正在尝试将 LinearClassifier 与具有衰减学习率的 GradientDescentOptimizer 一起使用。
我的代码:
def main():
# load data
features = np.load('data/feature_data.npz')
tx = features['arr_0']
y = features['arr_1']
## Prepare logistic regression
n_point, n_feat = tx.shape
# Input functions
def get_input_fn_from_numpy(tx, y, num_epochs=None, shuffle=True):
# Preprocess data
return tf.estimator.inputs.numpy_input_fn(
x={"x":tx},
y=y,
num_epochs=num_epochs,
shuffle=shuffle,
batch_size=128
)
cols_label = "x"
feature_cols = [tf.contrib.layers.real_valued_column(cols_label)]
my_input_fn_train = get_input_fn_from_numpy(tx, y)
model_dir = 'data/tmp/' + datetime.datetime.now().strftime("%m-%d_%H:%M:%S")
global_step = tf.Variable(0, trainable=False)
learning_rate=tf.train.exponential_decay(0.001*np.ones((20,1), dtype=np.float32), global_step, 10000, 0.95, staircase=False)
regressor = tf.contrib.learn.LinearClassifier(feature_columns=feature_cols,
model_dir=model_dir,
optimizer=tf.train.GradientDescentOptimizer(learning_rate=learning_rate))
regressor.fit(input_fn=get_input_fn_from_numpy(tx_train, y_train), steps=100000) …Run Code Online (Sandbox Code Playgroud) tensorflow ×1