2017-09-11 2 views
0

J'utilisais la bibliothèque cleverhans pour faire mon projet.Ai-je besoin de reconstruire la bibliothèque python dans le conteneur Docker si je change un fichier

Cependant, la classe CarliniWagnerL2 fournie dans la version actuelle de cleverhans/attacks.py est manquante dans la version de Docker.

j'ai donc essayé de compiler manuellement le fichier python de version pour .pyc fichier et exécutez ce qui suit

docker cp host_address containerID:/address/ 

pour remplacer l'ancien fichier avec le nouveau fichier.

J'ai testé que le fichier dans docker a changé pour ma version actuelle.

Cependant, lorsque je tente d'importer la classe CarliniWagnerL2 des Hans le Malin, même erreur en disant que

from cleverhans.attacks import CarliniWagnerL2 
ImportError: cannot import name CarliniWagnerL2 

Ai-je besoin de reconstruire le conteneur?

En outre, depuis cleverhans ne me fournit pas le DockerFile et d'autres choses, si j'ai besoin de reconstruire la bibliothèque python, comment dois-je reconstruire l'image?

Merci

+0

Essayez de reconstruire, puis vérifiez –

+0

@TarunLalwani Comment reconstruire le conteneur si je n'ai pas Dockerfile ou docker-composer? –

+0

quelle image utilisez-vous dès maintenant? –

Répondre

0

vous pouvez essayer de construire votre image.

Créer une dockerfile comme ceci:

FROM goodfellow/competition:cpu 

# Copy your file in 
RUN cp host_address containerID:/address/ 

Ensuite, faire une docker build et d'utiliser cette image à la place.