python - data = batch ['data' .cuda().function().cpu() 有意义吗?

标签 python numpy pytorch

我有一个数据集,我用 batch['data'] 调用它并得到我的图像输出 MxM。在我得到我的图像后,我想用一些 numpy 操作来处理它。在此过程中,我希望我的数据集通过 GPU 为我提供图像,然后将输出设备更改为 CPU。

我的问题是,Python 中函数的连接是否按顺序执行?我可以用

来完成这个过程吗?
base = batch['data'].cuda().function().cpu() 

这是否与:

base = batch['data'].cuda().function()
base.cpu()

提前致谢!

最佳答案

好吧,CPU(s) 会做同样的工作,但结果不一样。

base = batch['data'].cuda().cpu() 

在该行之后,您将 cpu() 的输出存储在名为 base 的变量中。

base = batch['data'].cuda()
base.cpu()

在这两行之后,您将 cuda() 的输出存储在名为 base 的变量中,而您忘记了 cpu()< 的结果.

关于python - data = batch ['data' .cuda().function().cpu() 有意义吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59215256/

相关文章:

python - 是否可以在 python 中使用 curses 获取默认背景颜色?

python - 在 python 中按原始顺序查找列表的前 k 个最大项

python - 对列表列表中的所有元素求和,除了第一个

python - 识别 pandas 中具有稀疏 nan 的时间序列中的数据组

python - NumPy:连接时出错 - 无法连接零维数组

python - 在 Pytorch 中连接两个张量

java - 有什么办法可以在后台运行Python模型吗?

Python:Numpy Data IO,如何通过不同的 dtype 为每一列保存数据?

python - 如何计算序列的交叉熵损失

pytorch - RuntimeError : mean(): input dtype should be either floating point or complex dtypes. 变长了