我需要在tensorflow和numpy之间切换吗?

数据集为numpy集。一些教程说:因为需要利用GPU,所以我们应该将numpy数组更改为tensorflow张量。然后使用张量流模型。

但是经过培训,一些代码使用numpy函数进行测试和交互。但是tensorflow官方教程中的代码仍然使用相同的tensorflow模型和tf.dataset进行测试。 我想知道: 在进行测试或实时应用时,我应该使用numpy还是tensorflow张量和模型? 换句话说,如果不训练,使用张量流张量和函数是否会有一些不良影响?

例如: 我们使用selected_words = tf.argsort(o_j)

代替

selected_words = np.argsort(o_j)

yu_yi2009 回答:我需要在tensorflow和numpy之间切换吗?

由于TF张量在GPU上运行,并且numpy数组在CPU上运行,因此从GPU到CPU的转换需要使用CUDA API(请参阅pycuda文档)进行内存分配和内容复制,这会导致很小的延迟。由于高吞吐量的数据流,这种延迟可能是训练中的问题,但我认为在大多数推理使用情况下都可以忽略该延迟。无论如何,如果selected_words是理想的输出,我们通常更喜欢使用tf.argsort来制作一个优雅的端到端模型。但是,如果将输出用于logits之类的多个地方,则在特定情况下使用np.argsort是可以的。

本文链接:https://www.f2er.com/3113440.html

大家都在问