将训练数据从 matlab 传输到 tensorflow
Posted
技术标签:
【中文标题】将训练数据从 matlab 传输到 tensorflow【英文标题】:Transferring training data from matlab to tensorflow 【发布时间】:2020-04-14 05:12:40 【问题描述】:我使用 MATLAB 的 Image Labeller App 为 500 张图像创建了 PixelLabelData。所以,我得到了每个图像的原始图像和类标签。此信息存储在 .mat 格式的 gTruth 文件中。我想使用这个数据集在 tensorflow (Google Colab) 中训练 Unet。
由于系统限制(RAM 不足且没有 GPU),我无法在 MATLAb 上完成训练任务。但是,我读到我们可以从 MATLAB 导入训练数据以在 Colab 中使用。因此,我在 Google Drive 上上传了原始图像集、标记像素和相应的 mat 文件 (gTruth.mat),然后将驱动器安装到 Colab 环境中。但我不知道如何继续处理 Colab 中的 mat 文件。
【问题讨论】:
您尝试了什么,遇到了什么错误? 为了更清楚起见,我已经编辑了这个问题,并给出了一个显示代码的图片链接。 【参考方案1】:pixelLabelTrainingData 函数将允许您为输入图像和像素标记图像获取两个单独的数据存储。
[imds,pxds] = pixelLabelTrainingData(gTruth);
https://www.mathworks.com/help/vision/ref/pixellabeltrainingdata.html
鉴于这些,您可以使用 imwrite 和您选择的图像文件格式使用相同的命名约定将每个图像、标记图像写入并行目录。
inputImageDir = 'pathOfYourChoice';
count = 0;
while hasdata(imds)
img = read(imds);
fname = sprintf('img%d.png',count);
name = fullfile(inputImageDir,fname);
imwrite(img,name);
end
从那里,您应该能够使用标准的 tensorflow 工具(例如数据集)来读取图像目录。
【讨论】:
以上是关于将训练数据从 matlab 传输到 tensorflow的主要内容,如果未能解决你的问题,请参考以下文章