是否可以使用Apple ML框架来动态学习应用程序中的用户行为?我已经使用
Create ML
应用程序训练了模型,然后我可以从 iOS 设备更新和重新训练吗?这就是我目前使用所述模型的方式。
public func calculateMuscleRecoveryTime(_ workout: Workout) {
do {
let config = MLModelConfiguration()
let model = try MuscleRecoveryModel(configuration: config)
let allMuscleGroups = workout.exercises
.compactMap { $0.muscles } // Flatten the muscles array from each exercise
.reduce(Set<MuscleGroup>()) { $0.union($1) } // Union to remove duplicates
let uniqueMuscleGroups = Array(allMuscleGroups)
for muscleGroup in uniqueMuscleGroups {
let trainingIntensity = Int64(workout.intensity.intValue)
let lastTrainedTimestamp = workout.date
let timeAgo = timeAgoInSeconds(from: lastTrainedTimestamp)
let muscleName = muscleGroup.rawValue.lowercased()
let prediction = try model.prediction(muscle: muscleName, intensity: trainingIntensity, lastTrained: timeAgo)
}
} catch let error {
print("Error: ", error)
}
}
您可以在应用程序中收集数据,将其安全地传输到您的服务器,并使用这些聚合数据定期重新训练您的模型。然后可以通过应用程序更新或在运行时下载新模型文件将更新后的模型部署给用户。此外,iOS 13 中引入的 Apple 个性化 API 允许进行有限的设备上模型个性化,从而可以根据个人用户交互进行调整,而无需进行完整的模型重新训练。