train_image_classifier运行在只有CPU设备下InvalidArgumentError错误

本文详细记录了在使用TensorFlow训练图像分类器时遇到的GPU分配错误,并提供了通过修改代码以强制使用CPU运行的解决方案。

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

步骤

使用slim运行train_image_classifier.py

run train_image_classifier.py \

  --train_dir=satellite/train_dir \

  --dataset_name=satellite \

  --dataset_split_name=train \

  --dataset_dir=satellite/data \

  --model_name=inception_v3 \

  --checkpoint_path=satellite/pretrained/inception_v3.ckpt \

  --checkpoint_exclude_scopes=InceptionV3/Logits,InceptionV3/AuxLogits \

  --trainable_scopes=InceptionV3/Logits,InceptionV3/AuxLogits \

  --max_number_of_steps=100000 \

  --batch_size=32 \

  --learning_rate=0.001 \

  --learning_rate_decay_type=fixed \

  --save_interval_secs=300 \

  --save_summaries_secs=2 \

  --log_every_n_steps=10 \

  --optimizer=rmsprop \

  --weight_decay=0.00004

问题

报如下错误:

InvalidArgumentError (see above for traceback): Cannot assign a device for operation 'InceptionV3/AuxLogits/Conv2d_2b_1x1/biases/RMSProp_1': Operation was explicitly assigned to /device:GPU:0 but available devices are [ /job:localhost/replica:0/task:0/cpu:0 ]. Make sure the device specification refers to a valid device.

分析:代码指定使用GPU运行,但电脑只有CPU。

解决

只用CPU来运行。

将train_image_classifier.py:

tf.app.Flags.DEFINE_boolean('clone_on_cpu',False,'use CPUs to deploy clones.')

改为:

tf.app.Flags.DEFINE_boolean('clone_on_cpu',True,'use CPUs to deploy clones.')

看,运行起来了。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值