Python 当以前在单个gpu上训练数据时,是否可以在多个gpu上进行评估(检测)?

Python 当以前在单个gpu上训练数据时,是否可以在多个gpu上进行评估(检测)?,python,tensorflow,Python,Tensorflow,我们正试图根据车牌的图片识别车牌上的号码。 我们已经训练了基于单个gpu的数据集。 是否可以在不修改模型的情况下评估多个GPU上的数据? 我们使用Tensorflow库进行培训和评估。没有任何代码,很难帮助您。 我可以给你一个见解。 要从GPU传递到多GPU,您必须: 1根据GPU的数量分割数据小心大小,它必须是矩阵 2在每个gpu上构建图形,循环如下: with tf.variable_scope(tf.get_variable_scope()) as outer_scope:

我们正试图根据车牌的图片识别车牌上的号码。 我们已经训练了基于单个gpu的数据集。 是否可以在不修改模型的情况下评估多个GPU上的数据?
我们使用Tensorflow库进行培训和评估。

没有任何代码,很难帮助您。 我可以给你一个见解。 要从GPU传递到多GPU,您必须:

1根据GPU的数量分割数据小心大小,它必须是矩阵

2在每个gpu上构建图形,循环如下:

with tf.variable_scope(tf.get_variable_scope()) as outer_scope:
            for i in enumerate(range(nb_of_GPU)):
                name = 'tower_{}'.format(i)
                with tf.device("/gpu:"+str(i)), tf.name_scope(name):
                    logits = self.build_graph(splitted_inputs[i])
                    batch_loss = self.compute_loss(logits, splitted_labels[i])
                    batch_acc = self.compute_acc(logits, splitted_labels[i])
                    losses.append(batch_loss)
                    accs.append(batch_acc)
                    tf.summary.scalar("loss", batch_loss)
                    gradient = optimizer.compute_gradients(batch_loss)
                    tower_grads.append(gradient)
                    outer_scope.reuse_variables()
        avergage_grads = average_gradients(tower_grads)
        train_op = optimizer.apply_gradients(avergage_grads)
您还必须更改输入占位符的大小

那么,您的问题的答案是,是否可以在不修改模型的情况下评估多个GPU上的数据?不是。 你必须改变一些事情