Tensorflow/Keras Zahlen trainieren
Verfasst: Samstag 6. April 2019, 17:03
Guten Tag zusammen!
Ich hatte mir vorgenommen, mich mit Tensorflow zu beschäftigen und bin nach kurzer Zeit auf ein Thema für Einsteiger gestoßen.
Dieses Programm ist nicht mein eigenes. Es nimmt Daten von der mnist und analysiert diese um später an Bildern zu erkennen welche Zahl das ist. Nun wollte ich probieren, dass dieses Programm Bilder von meinen Zahlen analysiert und später auch welche erkennen zu können. Also sozusagen diese Zeile mit eigenen Daten ersetzen:
Bis jetzt habe ich das hier:
Dies funktioniert allerdings nicht wegen dem "append". Außerdem scheitert es an dem "Normalize" Schritt, da ein Dimensionsfehler auftritt.
Ich bin momentan schon am verzweifeln, da ich nichts bei Google dazu gefunden habe und auch in keinem Forum etwas stand, vll habe ich auch einfach nur falsch gesucht.
Wenn jemand von euch mir Tipps geben könnte, wie ich dies verbessern kann bzw. zum laufen bringen kann wäre ich euch sehr dankbar. Wenn ihr vielleicht auch Links dazu habt, wo so etwas erklärt hat würde ich mich auch über diese freuen.
Mfg Pedossi
Ich hatte mir vorgenommen, mich mit Tensorflow zu beschäftigen und bin nach kurzer Zeit auf ein Thema für Einsteiger gestoßen.
Code: Alles auswählen
mnist = tf.keras.datasets.mnist
(x_train,y_train),(x_test,y_test) = mnist.load_data()
x_train = tf.keras.utils.normalize(x_train,axis=1)
x_test = tf.keras.utils.normalize(x_test,axis=1)
model = tf.keras.models.Sequential()
model.add(tf.keras.layers.Flatten())
model.add(tf.keras.layers.Dense(128, activation=tf.nn.relu))
model.add(tf.keras.layers.Dense(128, activation=tf.nn.relu))
model.add(tf.keras.layers.Dense(10, activation=tf.nn.softmax))
model.compile(optimizer="adam",loss="sparse_categorical_crossentropy",metrics=["accuracy"])
model.fit(x_train,y_train,epochs=5)
model.save("Numbers.model")
Code: Alles auswählen
(x_train,y_train),(x_test,y_test) = mnist.load_data()
Code: Alles auswählen
BASE_DIR = os.path.dirname(os.path.abspath(__file__))
image_dir = os.path.join(BASE_DIR, "Zahlen")
y_train =[]
x_train = []
for root, dirs, files in os.walk(image_dir):
for file in files:
if file.endswith("png") or file.endswith("jpg"):
path = os.path.join(root,file)
label = os.path.basename(root)
pil_image = Image.open(path).convert("L")
image_array = np.array(pil_image,"uint8")
x_train.append(image_array)
y_train.append(label)
x_train = tf.keras.utils.normalize(x_train, axis=1)
Ich bin momentan schon am verzweifeln, da ich nichts bei Google dazu gefunden habe und auch in keinem Forum etwas stand, vll habe ich auch einfach nur falsch gesucht.
Wenn jemand von euch mir Tipps geben könnte, wie ich dies verbessern kann bzw. zum laufen bringen kann wäre ich euch sehr dankbar. Wenn ihr vielleicht auch Links dazu habt, wo so etwas erklärt hat würde ich mich auch über diese freuen.
Mfg Pedossi