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

将独热编码特征转换为PyTorch张量时应选用哪种dtype?

独热编码特征的类型选择:torch.float32 vs torch.bool

直接用torch.float32就行,完全不会有问题,理由如下:

  • 代码复杂度低:不用搭建双分支模型,直接把定量特征和独热编码后的分类特征合并成一个张量输入模型,新手写代码更顺畅,减少出错概率。
  • 计算无异常:独热特征的0/1转成float32后,所有PyTorch的层(线性层、激活函数等)都能直接处理,而且0.0和1.0在float32里是精确存储的,不会有精度损失。
  • 行业常规操作:实际项目里几乎没人会用torch.bool处理独热特征,除非是极端追求内存优化(但新手阶段完全没必要纠结这个,先把模型跑通才是重点)。

给个简单的合并代码示例:

import torch

# 模拟定量特征(比如年龄、月收入)
numeric_features = torch.tensor([[28, 45000], [35, 70000]], dtype=torch.float32)
# 独热编码的分类特征(比如性别:男=1/0,女=0/1)转成float32
one_hot_features = torch.tensor([[1, 0], [0, 1]], dtype=torch.float32)

# 合并成统一的输入张量
combined_input = torch.cat([numeric_features, one_hot_features], dim=1)
print(combined_input)

如果之后你对模型优化有需求,再考虑内存层面的调整也不迟,现阶段优先保证代码简洁、模型能正常运行。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.06.26 12:27:03