J'avais formé un CNN à l'aide de Keras dans Google Colab, mais, après avoir téléchargé le modèle, je ne suis pas en mesure de charger le fichier hdf5
dans mon système local (Windows).
J'ai déjà fait cela et je n'ai jamais eu de problème. C'est l'erreur que j'obtiens.
---------------------------------------- Exception happened during processing of request from ('::ffff:172.28.0.1', 47132, 0, 0) Traceback (most recent call last): File "/usr/lib/python3.6/socketserver.py", line 317, in _handle_request_noblock self.process_request(request, client_address) File "/usr/lib/python3.6/socketserver.py", line 348, in process_request self.finish_request(request, client_address) File "/usr/lib/python3.6/socketserver.py", line 361, in finish_request self.RequestHandlerClass(request, client_address, self) File "/usr/lib/python3.6/socketserver.py", line 721, in __init__ self.handle() File "/usr/lib/python3.6/http/server.py", line 418, in handle self.handle_one_request() File "/usr/lib/python3.6/http/server.py", line 406, in handle_one_request method() File "/usr/lib/python3.6/http/server.py", line 639, in do_GET self.copyfile(f, self.wfile) File "/usr/lib/python3.6/http/server.py", line 800, in copyfile shutil.copyfileobj(source, outputfile) File "/usr/lib/python3.6/shutil.py", line 82, in copyfileobj fdst.write(buf) File "/usr/lib/python3.6/socketserver.py", line 800, in write self._sock.sendall(b) ConnectionResetError: [Errno 104] Connection reset by peer ----------------------------------------
Pour charger le modèle, je fais un appel de base load_model
# save model model.save('model.hdf5') # download model from google.colab import files files.download('model.hdf5')
Pour enregistrer et télécharger le modèle de Google Colab, j'utilise l'extrait suivant.
from keras.models import load_model model = load_model('model.hdf5')
J'obtiens l'erreur suivante dans Google colb à la ligne files.download ()
après le téléchargement du fichier.
Traceback (most recent call last): File "D:/Work/binary-face-recognition/predict-test.py", line 27, in <module> model = load_model('model.hdf5') File "C:\Users\PARTHA.N\AppData\Local\Continuum\anaconda3\envs\face\lib\site-packages\keras\engine\saving.py", line 417, in load_model f = h5dict(filepath, 'r') File "C:\Users\PARTHA.N\AppData\Local\Continuum\anaconda3\envs\face\lib\site-packages\keras\utils\io_utils.py", line 186, in __init__ self.data = h5py.File(path, mode=mode) File "C:\Users\PARTHA.N\AppData\Local\Continuum\anaconda3\envs\face\lib\site-packages\h5py\_hl\files.py", line 312, in __init__ fid = make_fid(name, mode, userblock_size, fapl, swmr=swmr) File "C:\Users\PARTHA.N\AppData\Local\Continuum\anaconda3\envs\face\lib\site-packages\h5py\_hl\files.py", line 142, in make_fid fid = h5f.open(name, flags, fapl=fapl) File "h5py\_objects.pyx", line 54, in h5py._objects.with_phil.wrapper File "h5py\_objects.pyx", line 55, in h5py._objects.with_phil.wrapper File "h5py\h5f.pyx", line 78, in h5py.h5f.open OSError: Unable to open file (truncated file: eof = 38486016, sblock->base_addr = 0, stored_eof = 72708080)
3 Réponses :
Il semble qu'il y ait eu un problème avec la connexion Internet. Je suis passé à un autre WiFi et cela a bien fonctionné.
La question semble ridicule maintenant, mais la garder et y répondre dans l'espoir que cela aide quelqu'un qui rencontre le même problème.
Provenant de la description ici
"Connection reset by peer" est l'équivalent TCP / IP de claquer le téléphone de retour sur le crochet. C'est plus poli que de simplement ne pas répondre, en laissant un suspendu. Mais ce n'est pas le FIN-ACK attendu de la convertisseur TCP / IP poli
J'ai rencontré le même problème, ce que j'ai fait différemment a été de télécharger les fichiers à partir du gestionnaire de fichiers à la place et la même chose a très bien fonctionné.
Cliquez sur la petite flèche dans le coin supérieur gauche de l'écran juste en dessous du signe colab qui ressemble à quelque chose comme
Ensuite, vous devrez cliquer sur les fichiers et accéder au fichier requis, cliquer avec le bouton droit de la souris et télécharger le fichier requis. Cela fonctionnait mieux pour moi et il n'y avait pas d'erreur de connexion, ce qui était le cas dans la méthode files.download
Je ne savais pas que nous pouvions faire ça. Merci.