2017-10-13 6 views
4

Je prévois d'utiliser certains modèles avec une taille de plus de 500 Mo et je ne veux pas les intégrer, sinon mon application sera énorme ce qui n'est pas vraiment souhaitable.Est-il possible de télécharger des fichiers .mlmodel sur wifi insetad de les avoir intégrés?

Merci,

+3

Alors maintenant, les utilisateurs doivent télécharger un fichier de données de 500 Mo après l'installation de l'application? Je ne suis pas sûr que c'est une amélioration ... – duskwuff

+1

Eh bien, au moins, ils ne sont pas obligés de le faire. Ils ne téléchargeront le fichier que s'ils souhaitent utiliser la fonction de détection d'objet. –

+0

Je reconsidérerais sérieusement votre conception de réseau dans ce cas. Il n'y a aucune raison d'utiliser des réseaux aussi grands. Vous pouvez obtenir des précisions aussi bonnes, sinon meilleures, en utilisant une architecture réseau différente. Les réseaux basés sur SqueezeNet peuvent avoir une taille inférieure à 5 Mo, mais surpassent les 500 Mo + en termes de précision. Vous gaspillerez beaucoup de bande passante utilisateur sans raison. –

Répondre

6

Ceci est possible. Après avoir téléchargé le modèle, compile à l'aide:

let compiledUrl = try MLModel.compileModel(at: modelUrl) 
let model = try MLModel(contentsOf: compiledUrl) 

Le modèle compilé sera stocké dans un emplacement temporaire. Une fois la compilation terminée, vous devez la déplacer vers un emplacement permanent.