sieci neuronowe, wózek po każdej paczce wraca na początek po kolejną, każdy numer paczki ma przypisana szafkę

This commit is contained in:
Aniela 2022-06-01 23:03:34 +02:00
parent 88dd3cf7ab
commit 82711c4c98
2 changed files with 40 additions and 21 deletions

20
main.py
View File

@ -40,6 +40,7 @@ def dodaj_szafke(numerSzafki, iloscPolek, iloscMiejscNaPolce, dostepZeStrony, po
Pomieszczenie.dodajSzafke(szafka) Pomieszczenie.dodajSzafke(szafka)
def gdzie_paczka(numerSzafki): def gdzie_paczka(numerSzafki):
global kolumna, wiersz
if numerSzafki == 1: if numerSzafki == 1:
kolumna =random.randint(1,2) kolumna =random.randint(1,2)
if kolumna ==1: if kolumna ==1:
@ -108,7 +109,9 @@ def gdzie_paczka(numerSzafki):
wiersz = random.choice([4,14]) wiersz = random.choice([4,14])
else: else:
wiersz = random.randint(5, 13) wiersz = random.randint(5, 13)
if numerSzafki == 11:
kolumna=0
wiersz=0
print(wiersz,kolumna) print(wiersz,kolumna)
return wiersz, kolumna return wiersz, kolumna
@ -121,6 +124,12 @@ def ustawienie():
return Stan(kierunek, PoleKraty(krata_magazynu, wiersz, kolumna)) return Stan(kierunek, PoleKraty(krata_magazynu, wiersz, kolumna))
def wroc():
kierunek = Kierunek(random.randint(0, 3))
wiersz, kolumna = gdzie_paczka(11)
return Stan(kierunek, PoleKraty(krata_magazynu, wiersz, kolumna))
def zaznacz_cel_na_mapie(cel: Stan): def zaznacz_cel_na_mapie(cel: Stan):
wiersz = cel.poleStartoweGorne.wiersz wiersz = cel.poleStartoweGorne.wiersz
kolumna = cel.poleStartoweGorne.kolumna kolumna = cel.poleStartoweGorne.kolumna
@ -133,6 +142,10 @@ def nadaj_cel_agentowi(agent: Agent):
zaznacz_cel_na_mapie(agent.cel) zaznacz_cel_na_mapie(agent.cel)
print("CEL:", agent.cel.poleStartoweGorne.wiersz, agent.cel.poleStartoweGorne.kolumna) print("CEL:", agent.cel.poleStartoweGorne.wiersz, agent.cel.poleStartoweGorne.kolumna)
def cel_wroc(agent:Agent):
agent.cel = wroc()
zaznacz_cel_na_mapie(agent.cel)
def zdarzenie_osoba(): def zdarzenie_osoba():
global flaga1 global flaga1
flaga1=1 flaga1=1
@ -201,7 +214,10 @@ 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()
ustawienie() cel_wroc(krata_magazynu.agent)
krata_magazynu.agent.idzDoCelu()
if flaga1 == 1: if flaga1 == 1:
osoba.krata.krata[osoba.wiersz][osoba.kolumna] = ZawartoscPola.PUSTE osoba.krata.krata[osoba.wiersz][osoba.kolumna] = ZawartoscPola.PUSTE

View File

@ -25,30 +25,33 @@ model.save('handwritten.model')
model = tf.keras.models.load_model('handwritten.model') model = tf.keras.models.load_model('handwritten.model')
numery_paczek=[] numery_paczek=[]
def recognition():
digits=[]
try:
for i in range(0,3):
image_number = random.randint(1, 17)
img = cv2.imread(f"digits/digit{image_number}.png")[:,:,0]
img = np.invert(np.array([img]))
prediction = model.predict(img)
print(f"This digit is probably a {np.argmax(prediction)}")
digits.append(np.argmax(prediction))
plt.imshow(img[0], cmap = plt.cm.binary)
plt.show()
except:
print("Error!")
liczba = int(str(digits[0]) + str(digits[1])+str(digits[2])) def liczby():
if liczba in numery_paczek or liczba<100: digits=[]
recognition() for i in range(0, 3):
image_number = random.randint(1, 19)
img = cv2.imread(f"digits/digit{image_number}.png")[:, :, 0]
img = np.invert(np.array([img]))
prediction = model.predict(img)
print(f"This digit is probably a {np.argmax(prediction)}")
digits.append(np.argmax(prediction))
plt.imshow(img[0], cmap=plt.cm.binary)
plt.show()
liczba = int(str(digits[0]) + str(digits[1]) + str(digits[2]))
if liczba in numery_paczek or liczba < 100:
liczby()
else: else:
numery_paczek.append(liczba) numery_paczek.append(liczba)
print(liczba) return numery_paczek[-1]
def recognition():
try:
liczba= liczby()
except:
print("Error!")
ostatnia = liczba % 10
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) print(numery_paczek)
ostatnia = liczba %10
return ostatnia return ostatnia