解决警告Creating a tensor from a list of numpy.ndarrays is extremely slow.

  • 我的问题是创建一个列表x=[],然后不断读入数据使用x.append(sample),chatgpt说这样转化比较低效,如果预先知道样本个数,可以用numpy来创建数组,再用索引x[i]=sample赋值
  • 第二种方法更快,直接用numpy转化一下np.array(list_of_ndarrays)

这个警告是因为你在将一个包含多个 numpy ndarrays 的列表直接转换为 PyTorch 的 tensor。这样做会非常慢,建议先将这些 ndarrays 转换为单个 numpy ndarray,然后再转换为 tensor。你可以按照以下步骤来实现这一点:

  1. 将列表转换为 numpy ndarray:使用 numpy.array() 将列表中的多个 numpy ndarrays 合并为一个单一的 numpy ndarray。
  2. 将 numpy ndarray 转换为 PyTorch tensor:使用 torch.tensor()torch.from_numpy()

以下是一个示例代码:

import numpy as np
import torch

# 假设你有一个包含多个 numpy ndarrays 的列表
list_of_ndarrays = [np.array([1, 2, 3]), np.array([4, 5, 6]), np.array([7, 8, 9])]

# 将列表转换为单个 numpy ndarray
combined_ndarray = np.array(list_of_ndarrays)

# 将 numpy ndarray 转换为 PyTorch tensor
tensor = torch.tensor(combined_ndarray)

print(tensor)

这样做不仅可以避免警告,还能提高代码的效率。

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-19 14:06:03       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-19 14:06:03       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-19 14:06:03       58 阅读
  4. Python语言-面向对象

    2024-07-19 14:06:03       69 阅读

热门阅读

  1. Binary Search

    2024-07-19 14:06:03       18 阅读
  2. C 语言实例 - 矩阵转换

    2024-07-19 14:06:03       20 阅读
  3. 升级TrinityCore 服务器硬件

    2024-07-19 14:06:03       19 阅读
  4. EasyExcel导入导出数据类型转换

    2024-07-19 14:06:03       19 阅读
  5. 第 4 课:Linux环境安装隐语Secretflow和Secretnote

    2024-07-19 14:06:03       19 阅读
  6. 音频播放:miniAudio 在QT框架使用, 数据源pcm

    2024-07-19 14:06:03       17 阅读
  7. Python常用的数据分析和可视化库

    2024-07-19 14:06:03       20 阅读
  8. C语言指针的理解

    2024-07-19 14:06:03       18 阅读
  9. Centos---命令详解 vi 系统服务 网络

    2024-07-19 14:06:03       21 阅读
  10. 基于深度学习的数据增强

    2024-07-19 14:06:03       20 阅读
  11. 【题解】StarryCoding P259 好奇怪好奇怪

    2024-07-19 14:06:03       21 阅读
  12. PHP 调用 JD 详情 API 接口:数据获取新途径

    2024-07-19 14:06:03       22 阅读
  13. 使用git提交代码时候出现403怎么解决

    2024-07-19 14:06:03       18 阅读