2016-08-23 2 views
0
def binaryClassify_DNN(units,steps,trainingFilePath,testingFilePath,modelPath): 

    # Data sets 

    # Load datasets. 
    training_set = tf.contrib.learn.datasets.base.load_csv(filename=trainingFilePath,target_dtype=np.float) 
    test_set = tf.contrib.learn.datasets.base.load_csv(filename=testingFilePath,target_dtype=np.float) 

    # Build 3 layer DNN with 10, 20, 10 units respectively. 
    classifier = tf.contrib.learn.DNNClassifier(hidden_units=units,n_classes=2,model_dir=modelPath,optimizer=tf.train.ProximalAdagradOptimizer(learning_rate=0.1)) 

    # Fit model. 
    classifier.fit(x=training_set.data, 
        y=training_set.target, 
        steps=steps) 

    # Evaluate accuracy. 
    accuracy_score = classifier.evaluate(x=test_set.data, 
             y=test_set.target)["accuracy"] 
    print('Accuracy: {0:f}'.format(accuracy_score)) 

Я закодированный выше источника мало изменился с https://www.tensorflow.org/versions/r0.10/tutorials/tflearn/index.html#tf-contrib-learn-quickstartчто размер партии Tensorflow при использовании API tf.contrib.learn.DNNClassifier высокого уровня

Как вы можете видеть, я не добавлял параметр для batch_size, который я могу добавить к classifier.fi()

Я попытался выполнить этот код, и казалось, что он зацикливается без размера партии. Я имею в виду, что это похоже на тренировку с полным размером данных вместо мини-партии.

Это правда?

Я хотел бы знать, что такое настройка по умолчанию для размера партии.

Заранее спасибо.

ответ

2

Я сожалею, я должен был выглядеть в исходный код, прежде чем отправлять

def fit(self, x=None, y=None, input_fn=None, steps=None, batch_size=None, 
     monitors=None, max_steps=None): 
"""Trains a model given training data `x` predictions and `y` targets. 

Args: 
    x: Matrix of shape [n_samples, n_features...]. Can be iterator that 
    returns arrays of features. The training input samples for fitting the 
    model. If set, `input_fn` must be `None`. 
    y: Vector or matrix [n_samples] or [n_samples, n_outputs]. Can be 
    iterator that returns array of targets. The training target values 
    (class labels in classification, real numbers in regression). If set, 
    `input_fn` must be `None`. 
    input_fn: Input function. If set, `x`, `y`, and `batch_size` must be 
    `None`. 
    steps: Number of steps for which to train model. If `None`, train forever. 
    If set, `max_steps` must be `None`. 
    batch_size: minibatch size to use on the input, defaults to first 
    dimension of `x`. Must be `None` if `input_fn` is provided. 
    monitors: List of `BaseMonitor` subclass instances. Used for callbacks 
    inside the training loop. 
    max_steps: Number of total steps for which to train model. If `None`, 
    train forever. If set, `steps` must be `None`. 

    Two calls to `fit(steps=100)` means 200 training 
    iterations. On the other hand, two calls to `fit(max_steps=100)` means 
    that the second call will not do any iteration since first call did 
    all 100 steps. 

Returns: 
    `self`, for chaining. 

Raises: 
    ValueError: If `x` or `y` are not `None` while `input_fn` is not `None`. 
    ValueError: If both `steps` and `max_steps` are not `None`. 
""" 

Как вы можете видеть, batch_size по умолчанию является первым измерение «х»

+0

Если вы не установите его, то это первое измерение x, но вы можете установить его с параметром и использовать его – jorgemf

Смежные вопросы