TensorFlow benchmarks脚本中命令参数必须加“=”

在使用TensorFlow Benchmarks时遇到问题,发现命令行参数如"distortions"、"use_datasets"和"winograd_nonfused"必须使用"--flag=value"的形式设置,而非通常的"--flag value"。在尝试"--distortions False"后发现参数未生效,依旧为默认值True。GitHub上的问题讨论指出将增加参数检查,建议始终使用等号赋值方式确保正确。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

这个问题已在GitHub上提出 https://github.com/tensorflow/benchmarks/issues/132

=====================================================

在TensorFlow benchmarks测试时一直使用的是“--flag value”的形式,在我的印象中这样也是可以的,将value的值赋给flag,但是benchmarks中的几个参数用这种方式设置不能成功,比如“distortions”这个参数,默认为True,在命令行中设置为--distortions False”后仍然为True。

将问题提交到GitHub后,他们提出会加一个参数检验过程,但是,为保险起见,以后所有的flag均使用“--flag=value”的形式设置。

目前我找到的不能成功设置的有三个:“distortions”、“use_datasets”和“winograd_nonfused”。可能还有其他的,我没有覆盖所有的参数。

以下为验证过程:

1.  打印默认参数

# python tf_cnn_benchmarks.py
======model:                   trivial
======batch_size:              0
======data_name:               None
======data_dir:                None
======variable_update:         parameter_server
======local_parameter_device:  gpu
======all_reduce_spec:       None
======batch_group_size:        1
======xla:                     False
======staged_vars:             False
======num_inter_threads:       52
======num_intra_threads:       1
======resize_method:           bilinear
======distortions:             True
======use_datasets:            True
======optimizer:               momentum
======winograd_nonfused:       True
======agg_small_grads_max_bytes:  0
======enable_layout_optimizer:  False

2. 修改其中部分参数,以“--flag value”的形式

python tf_cnn_benchmarks.py \
    --num_batches 100 --display_every 1 \
    --num_gpus 8 \
    --model resnet50 --batch_size 128 \
    --data_name imagenet --data_dir /data0/imagenet_data \
    --variable_update replicated  --all_reduce_spec pscpu --local_parameter_device cpu \
    --agg_small_grads_max_bytes 1024 \
    --batch_group_size 4 --num_inter_threads 24 \
    --optimizer momentum --distortions False \
    --xla True  --use_datasets False \
    --winograd_nonfused False --enable_layout_optimizer True --resize_method nearest

打印出来为

======model:                   resnet50
======batch_size:              128
======data_name:               imagenet
======data_dir:                /data0/imagenet_data
======variable_update:         replicated
======local_parameter_device:  cpu
======all_reduce_spec:       pscpu
======batch_group_size:        4
======xla:                     True
======staged_vars:             False
======num_inter_threads:       24
======num_intra_threads:       1
======resize_method:           nearest
======distortions:             True # error
======use_datasets:            True # error
======optimizer:               momentum
======winograd_nonfused:       True # error
======agg_small_grads_max_bytes:  1024
======enable_layout_optimizer:  True

3. 改为“--flag=value”的形式

python tf_cnn_benchmarks.py \
    --num_batches=100 --display_every=1 \
    --num_gpus=8 \
    --model=resnet50 --batch_size=128 \
    --data_name=imagenet --data_dir=/data0/imagenet_data \
    --variable_update=replicated --all_reduce_spec=pscpu --local_parameter_device=cpu \
    --agg_small_grads_max_bytes=1024 \
    --batch_group_size=4 --num_inter_threads=24 \
    --optimizer=momentum --distortions=False \
    --xla=True --use_datasets=False \
    --winograd_nonfused=False --enable_layout_optimizer=True --resize_method=nearest

打印出来为

======model:                   resnet50
======batch_size:              128
======data_name:               imagenet
======data_dir:                /data0/imagenet_data
======variable_update:         replicated
======local_parameter_device:  cpu
======all_reduce_spec:       pscpu
======batch_group_size:        4
======xla:                     True
======staged_vars:             False
======num_inter_threads:       24
======num_intra_threads:       1
======resize_method:           nearest
======distortions:             False
======use_datasets:            False
======optimizer:               momentum
======winograd_nonfused:       False
======agg_small_grads_max_bytes:  1024
======enable_layout_optimizer:  True



评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值