Эффективный пример реализации GPU-обучения простой прямой связи NN в TensorFlow? Может быть, с tf.data?

$keys = array_keys($arr['Cool Viski']);
$position = array_search('twoVal', $keys);
if (isset($keys[$position + 1])) {
    $keyAfterTwoVal = $keys[$position + 1];
}
3
задан Petahanks 18 January 2019 в 12:47
поделиться

1 ответ

Скорость может быть низкой, потому что:

  • Вы создаете заполнители. Используя numpy, мы вставляем данные в заполнители, и тем самым они преобразуются в тензоры графа.

Используя tf.data.Dataset, вы можете создать прямой конвейер, который заставляет данные напрямую перетекать в граф без использования заполнителей. Они быстрые, масштабируемые и имеют ряд функций, с которыми можно поиграть.

    with np.load("/var/data/training_data.npy") as data:
  features = data["features"]
  labels = data["labels"]
    # Assume that each row of `features` corresponds to the same row as `labels`.
    assert features.shape[0] == labels.shape[0]
    dataset = tf.data.Dataset.from_tensor_slices((features, labels))

Некоторые полезные функции:

dataset = dataset.shuffle(buffer_size=10000)
dataset = dataset.batch(32) # Creating batches
dataset = dataset.repeat(num_epochs) # repeat the dataset 'N' times
iterator = dataset.make_one_shot_iterator() # Create a iterator to retrieve batches of data

X, Y = iterator.get_next()

Здесь 32 - размер партии . В вашем случае

dataset = tf.data.Dataset.from_tensor_slices((data, targets))

Следовательно, нет необходимости в заполнителях. Прямой запуск,

session.run( train_op ) # no feed_dict!!
0
ответ дан Shubham Panchal 18 January 2019 в 12:47
поделиться
Другие вопросы по тегам:

Похожие вопросы: