MNIST-CoreML-Training 项目教程
1. 项目的目录结构及介绍
MNIST-CoreML-Training/
├── README.md
├── MNISTCoreMLTraining
│ ├── AppDelegate.swift
│ ├── Assets.xcassets
│ ├── Base.lproj
│ ├── Info.plist
│ ├── MNISTCoreMLTrainingApp.swift
│ ├── Model
│ │ ├── MNIST.mlmodel
│ │ └── MNIST.mlmodelc
│ ├── View
│ │ ├── ContentView.swift
│ │ └── DrawingView.swift
│ └── ViewModel
│ └── MNISTViewModel.swift
└── MNIST-CoreML-Training.xcodeproj
├── project.pbxproj
├── project.xcworkspace
│ ├── contents.xcworkspacedata
│ └── xcshareddata
│ └── IDEWorkspaceChecks.plist
└── xcuserdata
└── <用户名>.xcuserdatad
└── xcschemes
└── xcschememanagement.plist
目录结构介绍
MNISTCoreMLTraining/
: 项目的主要代码目录。AppDelegate.swift
: 应用程序的入口和生命周期管理。Assets.xcassets
: 应用程序的资源文件,如图片等。Base.lproj
: 本地化资源文件。Info.plist
: 应用程序的配置文件。MNISTCoreMLTrainingApp.swift
: SwiftUI 应用程序的入口。Model/
: 存放机器学习模型的目录。MNIST.mlmodel
: 训练好的 MNIST 模型。MNIST.mlmodelc
: 编译后的模型文件。
View/
: 存放视图文件的目录。ContentView.swift
: 主视图文件。DrawingView.swift
: 绘图视图文件。
ViewModel/
: 存放视图模型文件的目录。MNISTViewModel.swift
: 视图模型文件。
MNIST-CoreML-Training.xcodeproj/
: Xcode 项目文件。project.pbxproj
: 项目配置文件。project.xcworkspace/
: 工作区配置文件。contents.xcworkspacedata
: 工作区数据文件。xcshareddata/
: 共享数据文件。IDEWorkspaceChecks.plist
: 工作区检查配置文件。
xcuserdata/
: 用户数据文件。<用户名>.xcuserdatad/
: 用户特定的数据文件。xcschemes/
: 方案配置文件。xcschememanagement.plist
: 方案管理配置文件。
2. 项目的启动文件介绍
MNISTCoreMLTrainingApp.swift
import SwiftUI
@main
struct MNISTCoreMLTrainingApp: App {
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
MNISTCoreMLTrainingApp
是应用程序的入口点,使用@main
标记。WindowGroup
定义了应用程序的主窗口,包含ContentView
视图。
3. 项目的配置文件介绍
Info.plist
Info.plist
文件包含了应用程序的配置信息,如应用程序的名称、版本号、权限等。以下是一些常见的配置项:
<key>CFBundleName</key>
<string>MNISTCoreMLTraining</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
<key>UILaunchStoryboardName</key>
<string>LaunchScreen</string>
<key>UISupportedInterfaceOrientations</key>
<array>
<string>UIInterfaceOrientationPortrait</string>
</array>
CFBundleName
: 应用程序的名称。CFBundleShortVersionString
: 应用程序的版本号。CFBundleVersion
: 应用程序的构建版本号。UILaunchStoryboardName
: 启动界面的名称。UISupportedInterfaceOrientations
: 支持的界面方向。
以上是 `MN