neural-network - 实现一种热编码
问题描述
我已经了解使用神经网络进行热编码的用途和概念。我的问题是如何实现这个概念。
例如,假设我有一个神经网络,它最多可以接收 10 个字母(不区分大小写)并使用一种热编码。每个输入将是每个点的某种 26 维向量。为了编写代码,我是否表现得好像我有 260 个输入,每个输入只显示 1 或 0,还是有其他标准方法来实现这些 26 维向量?
解决方案
如果您有 10 个不同的元素(例如:a,b....j 或 1,2...10)要表示为 26 维的“一个热编码”向量,那么您的输入每个只有 10 个向量其中用 26 维向量表示。做这个:
y = torch.eye(26) # If you want a tensor for each 'letter' of length 26.
y[torch.arange(0,10)] #This line gives you 10 one hot-encoding vector each of dimension 26.
希望这个对你有帮助。
推荐阅读
- python - Python忽略源.env文件
- javascript - JavaScript如何写一个小数点后2位的数字,它会以十进制显示0?
- java - 为什么 currenuser ID (firebase) 在我的 android 聊天应用程序中随接收者 ID 发生变化,这导致我的 Seen 消息功能出现问题?
- nginx - 呼叫超时(错误 1006) - bigbluebutton
- google-chrome - 不支持组件树
- python - Correct usage of Django's user_permissions and get_user_permissions()?
- javascript - jquery - 选择的文本一直被存储输出重复的文本
- php - 用于获取多个表数据的 Hasmany 关系
- powershell - Powershell 这两个变量有什么区别
- node.js - 从 Package.json 脚本运行 BrowserSync 时出错