«Количество глобальных шагов не увеличивается при переходе с одного GPU на несколько GPU» - PullRequest
0 голосов
/ 17 июня 2019

Попытка увеличить количество глобальных шагов для повышения производительности модели

  1. Для обучения модели с использованием tf.estimator и попытка увеличить глобальный шаг с помощью нескольких графических процессоров.
    Для DNNClassifierприменяются следующие конфигурации как для одного, так и для нескольких графических процессоров [без графического процессора: 2]
 tf.estimator.DNNClassifier(
      model_dir=model_output,
      config=config,
      feature_columns=deep_columns,
     hidden_units=[1024, 512, 256],
    optimizer=lambda: tf.AdamOptimizer(
        learning_rate=tf.exponential_decay(
            learning_rate=0.2,
            global_step=tf.get_global_step(),
            decay_steps=10000,
            decay_rate=0.96))
also tried : 
    tf.estimator.DNNClassifier(
      model_dir=model_output,
      config=config,
      feature_columns=deep_columns,
      #hidden_units=[4096, 2048, 1024, 512, 256, 128, 64],
      hidden_units=[256, 128, 64,32,16],
      optimizer=tf.train.AdagradOptimizer(learning_rate=0.2))

But not getting any improvement in number of global steps. 

b. For deep_columns tried with indicator_column as well as numeric_column columns.

c. Having total cpu core (32) for data reading tried the following snippet:
   buffer_size = 32 * 1024 * 1024 # 32 MiB per file
   ds = tf.data.TextLineDataset(filenames,buffer_size=buffer_size)  
   print("reading file " ,filenames)
   ds = ds.repeat(num_epochs)
   ds = ds.batch(batch_size*2).map(parse_csv_gpu,num_parallel_calls=24) 

Expected is to increase the number of global steps more than what is achieved so far from single gpu. [ When using multiple gpu]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...