You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何将多张量列表仅以数值形式写入.txt文件?

解决方案

要提取张量中的纯数值并写入文件,你可以利用PyTorch张量的.numpy()方法将其转换为NumPy数组,再提取扁平化后的数值,这样就能完全去除tensor标识、括号和换行符。

方法1:写入纯文本文件(逗号分隔或每行一个数值)

import torch

# 示例张量列表
tensors = [torch.tensor([[1.9946e-02, 1.4917e-02], [6.0340e-05, 2.4706e-02]]),
           torch.tensor([[1.4888e-02, 3.1763e-02]])]

with open('tensors.txt', 'w') as out_file:
    all_values = []
    for tensor in tensors:
        # 将张量转为NumPy数组,扁平化后转为字符串列表
        values = tensor.numpy().flatten().astype(str)
        all_values.extend(values)
    # 用逗号分隔所有数值写入,若要每行一个数值则改用 '\n'.join(all_values)
    out_file.write(', '.join(all_values))

输出示例:

1.9946e-02, 1.4917e-02, 6.034e-05, 2.4706e-02, 1.4888e-02, 3.1763e-02

方法2:解决JSON序列化问题

JSON无法直接序列化PyTorch张量,只需先将张量转为Python原生的数值列表即可:

import torch
import json

tensors = [torch.tensor([[1.9946e-02, 1.4917e-02], [6.0340e-05, 2.4706e-02]]),
           torch.tensor([[1.4888e-02, 3.1763e-02]])]

all_data = []
for tensor in tensors:
    # 将张量转为NumPy数组,扁平化后转为Python列表
    all_data.extend(tensor.numpy().flatten().tolist())

with open('tensors.json', 'w') as f:
    json.dump(all_data, f)

生成的JSON内容:

[0.019946, 0.014917, 6.034e-05, 0.024706, 0.014888, 0.031763]

内容的提问来源于stack exchange,提问作者Alice

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.16 19:35:23