Repository navigation
Expand file tree
/
Copy pathclientTestNetwork.py
More file actions
110 lines (89 loc) · 2.14 KB
/
Copy pathclientTestNetwork.py
File metadata and controls
110 lines (89 loc) · 2.14 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
import time
import numpy as np
import cv2
import pandas as pd
import os
from sendKeys import PressKey, ReleaseKey, A, D
from printScreen import screenshotMethod, maskImage
from getKeys import checkKeys
import socket
import sys
import pickle
import base64
THRESHOLD = 0.9
WIDTH = 80
HEIGHT = 60
delta_time = 0.03
SERVER_IP = "192.168.0.4" #"192.168.0.50"
try:
clientSocket = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
serverAddress = (SERVER_IP,12345)
print("Connecting to AutoDrive server at ",serverAddress)
except:
sys.exit("Failed to connect AutoDrive server! Quitting...")
def left():
PressKey(A)
print("left")
time.sleep(delta_time)
ReleaseKey(A)
def right():
PressKey(D)
print("right")
time.sleep(delta_time)
ReleaseKey(D)
print("Staring AI in ...")
for i in range(1,6)[::-1]:
print(i)
time.sleep(1)
paused = False
while True:
if not paused:
try:
scr = maskImage(screenshotMethod(WIDTH,HEIGHT))
scr = pickle.dumps(scr,protocol=1)
sendScr = clientSocket.sendto(scr,serverAddress)
preds, server = clientSocket.recvfrom(1024*100)
preds = pickle.loads(preds,encoding="latin1").tolist()
print(preds)
if preds[0][1] > THRESHOLD:
left()
elif preds[0][2] > THRESHOLD:
right()
except Exception as e:
#raise e
print(str(e))
keys = checkKeys()
if 'P' in keys:
if paused:
print("Resuming..")
paused = False
else:
paused = True
print("Pausing..")
ReleaseKey(A)
ReleaseKey(D)
time.sleep(1)
'''
inp = np.load('train_data.npy')
df = pd.DataFrame(inp)
x = []
for i in inp:
if i[0] == None:
pass
else:
x.append(i[0])
x = np.array(x,dtype='uint8')
#x = x.reshape(-1,WIDTH,HEIGHT,1)
for i in x:
z = i.copy()
pred = network.predict(z.reshape(-1,WIDTH,HEIGHT,1))
print("%d %d %d" % (round(pred[0][0]), round(pred[0][1]), round(pred[0][2])))
img = cv2.resize(i,(320,240),1)
cv2.imshow("train_data",img)
if cv2.waitKey(25) & 0xFF == ord('q'):
cv2.destroyAllWindows()
break
#time.sleep(0.005)
#except Exception as e:
#raise e
'''