from random import sample
index=sample(range(0, len(result)), len(result)//5*4)
description_train=[child[0] for i, child in enumerate(result) if i in index]
ipc_train=[child[1] for i, child in enumerate(result) if i in index]
description_test=[child[0] for i, child in enumerate(result) if i not in index]
ipc_test=[child[1] for i, child in enumerate(result) if i not in index]
import numpy as np
def to_onehot(li):
result=np.zeros(8)
if 'A' in li:
result[0]=1
if 'B' in li:
result[1]=1
if 'C' in li:
result[2]=1
if 'D' in li:
result[3]=1
if 'E' in li:
result[4]=1
if 'F' in li:
result[5]=1
if 'G' in li:
result[6]=1
if 'H' in li:
result[7]=1
return result
from tensorflow.python.keras.preprocessing.text import Tokenizer
max_words=100000
num_classes=8
t=Tokenizer(num_words=max_words)
t.fit_on_texts(description_train)
X_train=t.texts_to_matrix(description_train, mode='binary')
X_test=t.texts_to_matrix(description_test, mode='binary')
Y_train=np.array([to_onehot(child) for child in ipc_train], dtype=np.int32)
Y_test=np.array([to_onehot(child) for child in ipc_test], dtype=np.int32)
from tensorflow.python.keras.models import Sequential
from tensorflow.python.keras.layers import Dense, Dropout
model = Sequential()
model.add(Dense(1024, input_shape=(max_words,), activation='relu'))
model.add(Dense(128, activation='relu'))
model.add(Dense(num_classes, activation='sigmoid'))
model.compile(loss='binary_crossentropy', optimizer='adam', metrics=['accuracy'])
model.fit(X_train, Y_train, batch_size=128, epochs=5, validation_split=0.1)
the last line (model.fit) result in a following error.
InternalError: Failed copying input tensor from /job:localhost/replica:0/task:0/device:CPU:0 to /job:localhost/replica:0/task:0/device:GPU:0 in order to run GatherV2: Dst tensor is not initialized. [Op:GatherV2]
How can I fix it? thank you in advance.