神经网络的编码和解码数据
实际工作数据有多种类型,包括数字、分类、文本、图像、音频和视频. 神经网络使用一种特别复杂的方法来操作数值数组,但不能原生处理非数值输入. Wolfram 语言提供专用的编码器和解码器,以自动高效地将非数值数据与网络兼容的 NumericArray 对象相互转换. 可以从特殊特征提取器或任何通用函数创建自定义编码器.
编码器
NetEncoder — 将图像、分类等转换成数值数组
音频编码器
"Audio" — 把音频编码为波形幅度序列
"AudioMelSpectrogram" — 把音频编码为 mel 频谱
"AudioMFCC" — 把音频编码为 MFCC 向量序列
"AudioSpectrogram" — 把音频编码为频谱
"AudioSTFT" — 把音频编码为傅里叶变换
文本编码器
"SubwordTokens" — 把字符串中的令牌编码为整数代码序列
"Characters" — 把字符串中的字符编码为整数代码或单热矢量序列
"Tokens" — 把字符串中的令牌编码为整数代码序列
"UTF8" — 把字符串编码为 UTF8 字节
图像编码器
"Image" — 把二维图像编码为三阶数组
"Image3D" — 把三维图像编码为四阶数组
视频编码
"VideoFrames" — 按 3 阶矩阵编码视频帧
其他编码器
"Boolean" — 把 True 和 False 编码为 1 和 0
"Class" — 把类标签编码为整数代码或单热向量
"Function" — 使用自定义函数编码输入
"FeatureExtractor" — 使用 FeatureExtractorFunction 编码输入
解码器
NetDecoder — 将数值数组诠释为图像、概率等
文本解码器
"SubwordTokens" — 把概率向量解码为子单词令牌的字符串
"Characters" — 把概率向量解码为字符的字符串
"Tokens" — 把概率向量解码为令牌的字符串
图像解码器
"Image" — 把三阶数组解码为二维图像
"Image3D" — 把四阶数组解码为三维图像
其他解码器
"Boolean" — 把 1 和 0 解码为 True 和 False
"Class" — 把概率数组解码为类标签
"CTCBeamSearch" — 解码用 CTCLossLayer 培训的概率向量序列
"Function" — 使用自定义函数解码