Während ich "Deep Learning von Grund auf neu" lese (geschrieben von Yasuki Saito, veröffentlicht von O'Reilly Japan), werde ich die Websites notieren, auf die ich verwiesen habe. Teil 12 ← → Teil 14
Ich habe gelernt, indem ich Jupyter Lab auf meinem eigenen Computer ausgeführt habe, aber Speicherfehler sind häufig aufgetreten und ich kann nicht fortfahren.
damit
Ich möchte Googles Colaboratory ausprobieren.
Colaboratory
Es scheint kein englisches Wort für Colaboratory zu geben. Das ist der Name, den Google seinem Dienst gegeben hat. Zusammenarbeit zusammenarbeiten + Labor Labor Ist es ein geprägtes Wort von? Wenn es sich um ein Co + Labor handelt, ist es in Ordnung, es in Zusammenarbeit zu lesen? Betonen Sie die Bedeutung der Zusammenarbeit Wenn Sie an eine Collabora (te) + (labora) -Geschichte denken, können Sie sie als kollaborativ lesen, aber ich werde um eins zunehmen.
Informationen zum Labor in Qiita
Also werde ich nach und nach gehen.
Bisher habe ich verschiedene Dinge ausprobiert, und wenn ich ein Programm ausführe, verweise ich auf viele Bibliotheken, Eingabedateien und pkl-Dateien. Um sie auf Google Drive zu erstellen und zu referenzieren, müssen Sie zunächst die Struktur von Ordnern und Dateien sowie deren Angabe verstehen.
Derzeit scheint es kein Problem zu geben, wenn Sie das Laufwerk bereitstellen und dann den Pfad an den Ordner übergeben, in dem sich die Bibliothek und die Dateien befinden.
#Laufwerkshalterung
from google.colab import drive
drive.mount('/content/drive')
Es scheint, dass Sie den Laufwerksteil von / content / drive selbst benennen können. Gibt Ihnen dieser Befehl einen Namen für die Verwendung von Google Drive in Ihrem Skript? Unter diesem Laufwerk befindet sich also ein Ordner "Mein Laufwerk" als eigener Bereich. Darunter können Sie einen Ordner zum Ausführen von Skripten, Notebooks (~ .ipynb) usw. erstellen.
Dies bedeutet, dass sich alle in Colaboratory verfügbaren Ressourcen unter / content / driverame / My Drive befinden. Da das aktuelle Verzeichnis jedoch / content ist, müssen Sie vorsichtig sein, wenn Sie eine Datei mit einem relativen Pfad angeben. Muss "Laufwerksname / Mein Laufwerk / Dateiname" sein. Natürlich können Sie das aktuelle Laufwerk auch mit dem Befehl os.chdir () ändern. Das Ändern des aktuellen Laufwerks funktioniert nur in diesem Notebook und scheint keine Auswirkungen auf andere Notebooks zu haben.
Ich habe einen Ordner erstellt, Colab Notebooks, um ihn von anderen Dateien zu trennen, und deep_learning darunter als Ordner, um die Beispielprogramme dieses Buches abzulegen. Außerdem habe ich allgemeine Ordner und Datensatzordner erstellt, die ich häufig in den Programmen dieses Buches verwende, und die heruntergeladenen Programme und Daten darin abgelegt.
Übergeben Sie dann den Pfad, damit von überall auf die Programme in diesem Ordner verwiesen werden kann.
#Pfad hinzufügen
import sys
sys.path.append('/content/drive/My Drive/Colab Notebooks/deep_learning/common')
sys.path.append('/content/drive/My Drive/Colab Notebooks/deep_learning/dataset')
Ändern Sie die Programme, die auf sie verweisen, wie folgt.
#Bisher wurde dies bei der Angabe eines Moduls im Ordner-Dataset in Jupyter Lab durchgeführt.
from dataset.mnist import load_mnist
#Dies ist in Ordnung, wenn Sie den Pass passieren
from mnist import load_mnist
Es gibt viele Programme, die auf die gemeinsame Bibliothek verweisen, daher scheint es ziemlich schwierig zu sein, dies zu beheben.
import os
print(os.getcwd()) #Aktuelles Verzeichnis
print(os.pardir) #Übergeordnetes Verzeichnis
print(os.path.dirname(os.path.abspath(__file__))) #Sollte das Verzeichnis zurückgeben, das diese Skriptdatei enthält, aber im interaktiven Modus wird ein Fehler ausgegeben
/content .. --------------------------------------------------------------------------- NameError Traceback (most recent call last)
in () 2 print (os.getcwd ()) # aktuelles Verzeichnis 3 print(os.pardir) ----> 4 print(os.path.dirname(os.path.abspath(_file_))) 5 NameError: name '_file_' is not defined
Der interaktive Modus von Google Colaboratory scheint im aktuellen Verzeichnis / Inhalt zu laufen. Wenn Sie das obige Skript in einem anderen Ordner ausführen, wird das gleiche Ergebnis erzielt. Das aktuelle Verzeichnis lautet / content. Es scheint auch, dass \ __ Datei \ __ nicht im interaktiven Modus verwendet werden kann. Da das aktuelle Verzeichnis immer / content ist, ist es nicht sinnvoll, es zu verwenden.
Es scheint jedoch, dass \ __file \ __ in dem mit einem Dateinamen gespeicherten Skript verwendet werden kann. Das folgende Skript funktioniert einwandfrei und lädt die Dateien in denselben Ordner wie das Skript.
# coding: utf-8
import sys, os
sys.path.append(os.pardir) #Einstellungen zum Importieren von Dateien in das übergeordnete Verzeichnis
import numpy as np
from mnist import load_mnist
import matplotlib.pyplot as plt
def showImg(x):
example = x.reshape((28, 28))
plt.figure()
plt.xticks([])
plt.yticks([])
plt.grid(False)
plt.imshow(example, cmap=plt.cm.binary)
plt.show()
return
(x_train, t_train), (x_test, t_test) = load_mnist(flatten=True, normalize=False)
img = x_train[1]
label = t_train[1]
print(img.shape) # (784,)
img = img.reshape(28, 28) #Transformieren Sie die Form in die ursprüngliche Bildgröße
print(img.shape) # (28, 28)
print(label) # 0
showImg(img)
(784,) (28, 28) 0
In der importierten Datei mnist.py wird die Datei wie folgt angegeben
mnist.Ein Skript, das das Verzeichnis der Mnist-Daten mit py festlegt
dataset_dir = os.path.dirname(os.path.abspath(__file__))
save_file = dataset_dir + "/mnist.pkl"
Sie können mnist.pkl aus dem Ordner '/ content / drive / Mein Laufwerk / Colab Notebooks / deep_learning / dataset' lesen, in dem sich mnist.py befindet.
# coding: utf-8
import matplotlib.pyplot as plt
from matplotlib.image import imread
img = imread('/content/drive/My Drive/Colab Notebooks/deep_learning/dataset/lena.png') #Laden von Bildern
plt.imshow(img)
plt.show()
Es scheint irgendwie zu funktionieren, also nachdem Sie das Programm im Buch ausgeführt und überprüft haben, Ich werde versuchen, die Hunde- und Katzenfotos zu unterscheiden, die zu schwer waren, um sich zu bewegen.
Teil 12 ← → Teil 14 Klicken Sie hier, um eine Liste der Memos usw. anzuzeigen. Unlesbares Glossar
Importieren von .py-Dateien in Google Drive mit Google Colaboratory Finden Sie heraus, warum Sie den Verzeichnisnamen eines laufenden Skripts nicht mit file abrufen können Willkommen im Colaboratory Tipps zum Deep Learning-Training im Labor
Recommended Posts