2016-05-18 4 views
0

Как передать вложенный список целых чисел в gflags? Я могу получить мой код работает с чем-то вродеКак передать вложенный список целых чисел в флагов командной строки Google?

flags = tf.app.flags 
FLAGS = flags.FLAGS 
flags.DEFINE_float('network_nodes', [784, [5, 5, 32], [5, 5, 64], 1200, 10], 'The network structure') 

Но попытка использовать в командной строке с чем-то вроде

python test.py --network_nodes=[784, 100, 10] 

результатов (не удивительно) приводит к ошибке:

test.py: error: argument --network_nodes: invalid int value: '[784, 100, 10]'

Как передать вложенный список целых чисел в gflags (или TensofFlow's tf.app.flags)?

ответ

1

Из документации: https://github.com/gflags/python-gflags/blob/master/gflags.py

DEFINE_list: Takes a comma-separated list of strings on the commandline. 
     Stores them in a python list object. 

Таким образом, вы должны передать его в виде списка строки --network_nodes=784,100,10, а затем преобразовать строки в поплавки.

+0

Как насчет «вложенных» (см. Вопрос)? – orome

+1

для вложенных я предлагаю просто передать строку, а затем 'eval' строку в python. – fabrizioM

+0

Любая идея, где документация для этого исчезла? У меня проблемы с поиском (например, для установки значений по умолчанию, допустимых значений, коротких имен, обязательных флагов). Ссылка выше мертва. – orome