神经网络的编码和解码数据

实际工作数据有多种类型,包括数字、分类、文本、图像、音频和视频. 神经网络使用一种特别复杂的方法来操作数值数组,但不能原生处理非数值输入. Wolfram 语言提供专用的编码器和解码器,以自动高效地将非数值数据与网络兼容的 NumericArray 对象相互转换. 可以从特殊特征提取器或任何通用函数创建自定义编码器.

编码器

NetEncoder 将图像、分类等转换成数值数组

音频编码器

"Audio" 把音频编码为波形幅度序列

"AudioMelSpectrogram" 把音频编码为 mel 频谱

"AudioMFCC" 把音频编码为 MFCC 向量序列

"AudioSpectrogram" 把音频编码为频谱

"AudioSTFT" 把音频编码为傅里叶变换

文本编码器

"SubwordTokens" 把字符串中的令牌编码为整数代码序列

"Characters" 把字符串中的字符编码为整数代码或单热矢量序列

"Tokens" 把字符串中的令牌编码为整数代码序列

"UTF8" 把字符串编码为 UTF8 字节

图像编码器

"Image" 把二维图像编码为三阶数组

"Image3D" 把三维图像编码为四阶数组

视频编码

"VideoFrames" 按 3 阶矩阵编码视频帧

其他编码器

"Boolean" TrueFalse 编码为 10

"Class" 把类标签编码为整数代码或单热向量

"Function" 使用自定义函数编码输入

"FeatureExtractor" 使用 FeatureExtractorFunction 编码输入

解码器

NetDecoder 将数值数组诠释为图像、概率等

文本解码器

"SubwordTokens" 把概率向量解码为子单词令牌的字符串

"Characters" 把概率向量解码为字符的字符串

"Tokens" 把概率向量解码为令牌的字符串

图像解码器

"Image" 把三阶数组解码为二维图像

"Image3D" 把四阶数组解码为三维图像

其他解码器

"Boolean" 10 解码为 TrueFalse

"Class" 把概率数组解码为类标签

"CTCBeamSearch" 解码用 CTCLossLayer 培训的概率向量序列

"Function" 使用自定义函数解码