Losowanie trzech liczb i tworzenie z nich liczby trzycyfrowej
This commit is contained in:
parent
627a6b5ab8
commit
7551296681
3
main.py
3
main.py
@ -125,6 +125,7 @@ def main():
|
|||||||
if krata_magazynu.agent.cel is None:
|
if krata_magazynu.agent.cel is None:
|
||||||
nadaj_cel_agentowi(krata_magazynu.agent)
|
nadaj_cel_agentowi(krata_magazynu.agent)
|
||||||
krata_magazynu.agent.idzDoCelu()
|
krata_magazynu.agent.idzDoCelu()
|
||||||
|
recognition()
|
||||||
|
|
||||||
if flaga1 == 1:
|
if flaga1 == 1:
|
||||||
osoba.krata.krata[osoba.wiersz][osoba.kolumna] = ZawartoscPola.PUSTE
|
osoba.krata.krata[osoba.wiersz][osoba.kolumna] = ZawartoscPola.PUSTE
|
||||||
@ -146,7 +147,7 @@ def main():
|
|||||||
pygame.time.wait(1500)
|
pygame.time.wait(1500)
|
||||||
flaga1 = 0
|
flaga1 = 0
|
||||||
t = threading.Timer(5.0, zdarzenie_osoba).start()
|
t = threading.Timer(5.0, zdarzenie_osoba).start()
|
||||||
recognition()
|
|
||||||
|
|
||||||
try:
|
try:
|
||||||
main()
|
main()
|
||||||
|
@ -5,6 +5,7 @@ import matplotlib.pyplot as plt
|
|||||||
import tensorflow as tf
|
import tensorflow as tf
|
||||||
import random
|
import random
|
||||||
|
|
||||||
|
|
||||||
mnist = tf.keras.datasets.mnist
|
mnist = tf.keras.datasets.mnist
|
||||||
(x_train, y_train), (x_test, y_test) = mnist.load_data()
|
(x_train, y_train), (x_test, y_test) = mnist.load_data()
|
||||||
|
|
||||||
@ -12,32 +13,42 @@ x_train = tf.keras.utils.normalize(x_train, axis=1)
|
|||||||
x_test = tf.keras.utils.normalize(x_test, axis=1)
|
x_test = tf.keras.utils.normalize(x_test, axis=1)
|
||||||
|
|
||||||
model = tf.keras.models.Sequential()
|
model = tf.keras.models.Sequential()
|
||||||
model.add(tf.keras.layers.Flatten(input_shape=(28, 28)))
|
model.add(tf.keras.layers.Flatten(input_shape=(28,28)))
|
||||||
model.add(tf.keras.layers.Dense(128, activation='relu'))
|
model.add(tf.keras.layers.Dense(128, activation='relu'))
|
||||||
model.add(tf.keras.layers.Dense(128, activation='relu'))
|
model.add(tf.keras.layers.Dense(128, activation='relu'))
|
||||||
model.add(tf.keras.layers.Dense(10, activation='softmax'))
|
model.add(tf.keras.layers.Dense(10, activation='softmax'))
|
||||||
|
|
||||||
model.compile(optimizer='adam', loss='sparse_categorical_crossentropy', metrics=['accuracy'])
|
model.compile(optimizer ='adam', loss = 'sparse_categorical_crossentropy', metrics = ['accuracy'])
|
||||||
|
|
||||||
model.fit(x_train, y_train, epochs=3)
|
model.fit(x_train, y_train, epochs = 3)
|
||||||
model.save('handwritten.model')
|
model.save('handwritten.model')
|
||||||
|
|
||||||
model = tf.keras.models.load_model('handwritten.model')
|
model = tf.keras.models.load_model('handwritten.model')
|
||||||
|
numery_paczek=[]
|
||||||
def recognition():
|
def recognition():
|
||||||
image_number = random.randint(1, 9)
|
digits=[]
|
||||||
try:
|
try:
|
||||||
|
for i in range(0,3):
|
||||||
|
image_number = random.randint(1, 19)
|
||||||
img = cv2.imread(f"digits/digit{image_number}.png")[:,:,0]
|
img = cv2.imread(f"digits/digit{image_number}.png")[:,:,0]
|
||||||
img = np.invert(np.array([img]))
|
img = np.invert(np.array([img]))
|
||||||
prediction = model.predict(img)
|
prediction = model.predict(img)
|
||||||
print(f"This digit is probably a {np.argmax(prediction)}")
|
print(f"This digit is probably a {np.argmax(prediction)}")
|
||||||
|
digits.append(np.argmax(prediction))
|
||||||
plt.imshow(img[0], cmap = plt.cm.binary)
|
plt.imshow(img[0], cmap = plt.cm.binary)
|
||||||
plt.show()
|
plt.show()
|
||||||
except:
|
except:
|
||||||
print("Error!")
|
print("Error!")
|
||||||
|
|
||||||
|
liczba = int(str(digits[0]) + str(digits[1])+str(digits[2]))
|
||||||
|
if liczba in numery_paczek or liczba<100:
|
||||||
|
recognition()
|
||||||
|
else:
|
||||||
|
numery_paczek.append(liczba)
|
||||||
|
print(liczba)
|
||||||
loss, accuracy = model.evaluate(x_test, y_test)
|
loss, accuracy = model.evaluate(x_test, y_test)
|
||||||
|
|
||||||
print(loss)
|
print(loss)
|
||||||
print(accuracy)
|
print(accuracy)
|
||||||
|
print(numery_paczek)
|
||||||
|
return liczba
|
||||||
recognition()
|
recognition()
|
Loading…
Reference in New Issue
Block a user