【发布时间】:2019-06-20 06:32:43
【问题描述】:
我正在寻找训练 CoreML 图像分类器,它需要为测试和训练数据中的每个标签创建一个文件夹,并将带有该标签的数据放在正确的文件夹中。我有一个这样的文件夹结构:
Train
-1
-2
-3
-4
Test
-1
-2
-3
-4
我已经对测试和训练数据进行了拆分,但我没有将数据拆分为类。
我有一个 excel csv 文件,开头看起来像这样。
图像名称的结构是10_left.jpeg, 10_right.jpeg, 13_left.jpeg等。
有超过 15,000 张图像,因此手动操作并不是最好的。有没有办法根据excel中vba中的标签名称将文件移动到正确的文件夹中?还是其他方式?谢谢!
编辑: 根据下面的答案,我尝试了这个:
Option Explicit
Dim iRow
Sub SaveFilesToFolders()
Dim Folder0 As String, Folder1 As String, Folder2 As String, Folder3 As String, Folder4 As String
Dim FileNameRange As Range
Dim actCell As Range
Dim SelFolder As Integer
Dim ActFileName As String
Folder0 = "/Volumes/G-DRIVE\ mobile\ USB-C/trainDataInClasses/0"
Folder1 = "/Volumes/G-DRIVE\ mobile\ USB-C/trainDataInClasses/1"
Folder2 = "/Volumes/G-DRIVE\ mobile\ USB-C/trainDataInClasses/2"
Folder3 = "/Volumes/G-DRIVE\ mobile\ USB-C/trainDataInClasses/3"
Folder4 = "/Volumes/G-DRIVE\ mobile\ USB-C/trainDataInClasses/4"
Set FileNameRange = Range("A2:A21")
For Each actCell In FileNameRange
'Debug.Print actCell.Address
ActFileName = actCell.Value
SelFolder = actCell.Offset(0, 1).Value
Select Case SelFolder
Case 0
Call Save2Folder(ActFileName, Folder0)
Case 1
Call Save2Folder(ActFileName, Folder1)
Case 2
Call Save2Folder(ActFileName, Folder2)
Case 3
Call Save2Folder(ActFileName, Folder3)
Case 4
Call Save2Folder(ActFileName, Folder4)
End Select
Next actCell
End Sub
'Sub Save2Folder() '(locFileName As String, FolderStr As String)
Sub Save2Folder(locFileName, FolderStr)
Dim Po15k As String 'Path to the 15k Files
Po15k = "/Volumes/G-DRIVE\ mobile\ USB-C/resortTrainFirst24 "
FileCopy Po15k & locFileName & ".jpg", FolderStr & locFileName & ".jpg"
End Sub
但收到错误“找不到路径”有什么建议吗?
【问题讨论】:
-
您可能需要在“...resortTrainFirst24”之后添加/或\:
Po15k = "/Volumes/G-DRIVE\ mobile\ USB-C/resortTrainFirst24\"。此外,Folder0 到 Folder4 需要在字符串末尾加上斜杠或反斜杠!
标签: excel vba machine-learning dataset coreml