Преобразование списка списков в массив numpy дает разные результаты - PullRequest
0 голосов
/ 06 марта 2019

Я получаю массивы из 9 двойников через tcp, разделяю их, конвертирую с помощью метода np.array (), сохраняю их в списке и, наконец, снова преобразую этот список в массив numpy, чтобы я мог сохранить его и позже загрузить в поезд.Модель keras.

Каждый раз, когда я перезапускаю код, форма вывода (500, 6) или (500,) случайным образом, я ничего не меняю, просто продолжаю выполнять один и тот же код и получаю разные результаты,

  1. Как это возможно?
  2. Как преобразовать (n,) в (n, 6)?Я попробовал с .reshape ()

Редактировать: мой полный код:

def tcp_server_get_training_data():
host = "localhost"
port = 5367
msg = ""
mySocket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
mySocket.setsockopt(socket.SOL_SOCKET, socket.SO_REUSEADDR, 1)
mySocket.bind((host, port))
# print(socket.getfqdn())
# print(socket.gethostbyname(socket.getfqdn()))
mySocket.listen(1)
print('waiting for connection...')
conn, addr = mySocket.accept()
print("Connection from: " + str(addr))
x = []
y = []
i = 0
n = 500
while i < n:
    data = conn.recv(128)
    doubles_sequence = array.array('d', data)
    doubles_sequence2 = np.array(doubles_sequence)
    x.append(doubles_sequence2[:6])
    y.append(doubles_sequence2[-3:])
    i += 1
    print(str(round((i/n)*100, 2))+"%")
    #print(doubles_sequence[:6])
xp = np.array(x)
yp = np.array(y)
print("X shape: "+str(xp.shape))
print("y shape: "+str(yp.shape))
np.save(file='x', arr=xp)
np.save(file='y', arr=yp)
conn.close()

, когда я печатаю x с формой (500,6), я получаю:

>>> x.shape
(500, 6)
>>> x
array([[ 0. ,  0. ,  0. , -0.29219246,  0. , 0. ],
      [ 0. ,  0. ,  0. ,  0.34277358,  0. , 0. ],
      [ 0. ,  0. ,  0. ,  0.34277358,  0. , 0. ],

когда я печатаю x с формой (500,), я получаю:

>>> x.shape
(500,)
>>> x
array([array([ 0.,  0. ,  0. , -0.29219246,  0., 0.  ]),
       array([ 0. , 0.  , 0. , 0.34277358, 0., 0.]),
       array([ 0. ,  0.,  0., -0.10241638,  , dtype=object)

Я бы очень признателен за некоторую помощь, я попытался разобраться сам, но через несколько часов просто получаюразочарование.Я относительно новичок в программировании и провожу больше времени на C #, в Python я очень запутался без объявления типов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...