Я пытаюсь использовать функцию (из другого модуля) в тензорном потоке. Функция принимает массив NumPy и возвращает точки изменения. Моя главная цель - развернуть эту модель на службе tenorflow. Я сталкиваюсь с ошибкой
AttributeError: у объекта 'DType' нет атрибута 'type'
Есть 2 функции: одна - create_data (), которая создает массив numpy и возвращает его, другая - change (), которая принимает массив numpy и использует ранее упомянутую функцию для возврата точек изменения. Я создал заполнитель для приема входных данных, операцию для выполнения функции. Проблема в том, что если я пытаюсь отправить данные через заполнитель, я сталкиваюсь с ошибкой. Если я отправляю данные непосредственно в функцию, она запускается. Ниже мой код.
def create_data():
np.random.seed(0)
size = 100
mean_a = 0.0
mean_b = 10.0
mean_c = 0
var = 0.1
data_a = np.random.normal(mean_a, var, size)
data_b = np.random.normal(mean_b, var, size)
data_c = np.random.normal(mean_c, var, size)
data = np.concatenate([data_a, data_b, data_c])
return data
def change(data):
# what else i tried
# data = np.array(data, dtype=np.float)
# above line gives another error mentioned after code
cpts = (pelt(normal_mean(x, np.var(x)), len(x)))
return cpts
sess = tf.Session()
x = tf.placeholder(tf.float32, shape=[300, ], name="myInput")
y = tf.convert_to_tensor(change(x),np.float32,name="myOutput")
z = sess.run(y,feed_dict={x:create_data()})
Если я попробую код data = np.array(data, dtype=np.float)
в функции change (), это выдаст мне ошибку
ValueError: установка элемента массива с последовательностью.
Я также пытался data = np.hstack((data)).astype(np.float)
и data = np.vstack((data)).astype(np.float)
, но он сталкивается с отдельной ошибкой, которая говорит использовать tf.map_fn. Я также попытался использовать tf.eval () для преобразования чисел, но не смог заставить их работать внутри функции с заполнителями.
Но если я отправлю вывод напрямую,
y = tf.convert_to_tensor(change(create_data()),np.float32,name="myOutput")
Это работает.
Как мне отправить вход, чтобы он работал?
РЕДАКТИРОВАТЬ: рассматриваемая функция это , если кто-то хочет знать.