2026a
# encode
编码输入数据
函数库: TyDeepLearning
# 语法
Z = encode(autoenc, Xnew)
# 说明
Z = encode(autoenc, Xnew) 返回输入数据 Xnew 的编码数据 Z,使用自动编码器 autoenc。示例
# 示例
编码新图像数据
手写数字数据集加载。
using TyDeepLearning
set_backend(:mindspore)
file = dataset_dir("digit")
XTrain, YTrain = DigitDatasetTrainData(file)
XTest, YTest = DigitDatasetTestData(file)
数据格式处理。
XTrain = reshape(XTrain, (size(XTrain)[1], size(XTrain)[2] * size(XTrain)[3] * size(XTrain)[4]))
XTest = reshape(XTest, (size(XTest)[1], size(XTest)[2] * size(XTest)[3] * size(XTest)[4]))
对新图像编码。trainAutoencoder函数训练完毕预计需要十分钟,需稍作等待。
hiddensize = 15
autoenc = trainAutoencoder(XTrain, hiddensize)
features = encode(autoenc, XTest)
5000×15 Matrix{Float32}:
1.0 1.0 1.0 1.0 … 1.0 1.0 1.0 1.0
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
⋮ ⋱
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
1.0 1.0 1.0 1.0 1.0 1.0 1.0 1.0
神经网络每次训练具有随机性,输出结果不会完全一致。
# 输入参数
autoenc-训练的自动编码器Autoencoder对象
经过训练的自动编码器,由 trainAutoencoder 函数作为 Autoencoder 类的对象返回。
X-输入数据矩阵、数组
输入数据,指定为样本矩阵、单个图像数据数组。 如果自动编码器自动加载是在矩阵上训练的,其中每列代表单个样本,则 Xnew 必须是矩阵,其中每列代表单个样本。
数据类型: Float16 | Float32 | Float64 | Int64
# 输出参数
Z-编码数据矩阵、数组
由自动编码的数据,指定为矩阵。Z 的每一列表示一个编码样本。