Платформа зенда, выполнение запросов без представления?

Слой Keras LSTM ожидает, что входной сигнал будет 3 тусклым, как (batch_size, seq_length, input_dims), но вы ошиблись. Попробуйте это

input_dims = train_x.shape[1]
seq_length = #decide an integer
model = Sequential()
 model.add(LSTM(128, activation='relu', input_shape=(seq_length, input_dims), return_sequences=True))

Также вам нужно изменить ваши данные на три dim, где новые dim будут представлять последовательность, как

Я использовал игрушечный набор данных, чтобы показать пример, здесь данные и метки изначально имеют форму ((150, 4), (150,)), используя следующий скрипт:

seq_length = 10
dataX = []
dataY = []
for i in range(0, 150 - seq_length, 1):
    dataX.append(data[i:i+seq_length])
    dataY.append(labels[i+seq_length-1])
import numpy as np
dataX = np.reshape(dataX, (-1, seq_length, 4))
dataY = np.reshape(dataY, (-1, 1))
# dataX.shape, dataY.shape

Вывод: ((140, 10, 4), (140, 1))

Теперь вы можете безопасно передать его модели.

Примечание: я подготовил набор данных для модели many-to-one, но вы можете использовать его соответствующим образом.

7
задан 7 February 2009 в 14:02
поделиться

4 ответа

Я использую это с вызовами к действиям ТОЛЬКО ДЛЯ AJAX, что я или не хочу вывода, или я использую некоторый другой вывод, как XML или JSON:

// Disable the main layout renderer
$this->_helper->layout->disableLayout();
// Do not even attempt to render a view
$this->_helper->viewRenderer->setNoRender(true);

Это обладает дополнительным преимуществом никаких издержек перенаправления, если то, что Вы делаете, не имеет никакого вывода output/non-HTML.

21
ответ дан 6 December 2019 в 06:15
поделиться

Я не мог выяснить Ваш код там. в Вашей модели Вы звоните, умирают (). почему? это остановит выполнение. действительно ли Вы уверены в той строке? так или иначе, если Вы имеете контроллер в Платформе Зенда и не нуждаетесь ни в каком представлении, можно выключить представление этой строкой:

// code in your controller
$this->_helper->viewRenderer->setNoRender(true);
// the rest of the controller

теперь контроллер не будет искать сценарий представления, чтобы показать пользователю. удостоверьтесь, что Вы будете звонить

$this->_redirect() 

после того, как все Ваше задание контроллера сделано.

3
ответ дан 6 December 2019 в 06:15
поделиться

Отключить рендеринг представления в действии (помещает это в определенное действие. Если Вы хотите это для всего контроллера, помещает его в init метод):

$this->_helper->viewRenderer->setNoRender();

Если Вы используете компонент макета ZF, также добавляют это:

$this->_helper->layout->disableLayout();
5
ответ дан 6 December 2019 в 06:15
поделиться

Orignal отвечают:

Ваш вызов к:

$this->_redirect();

Звонит помощнику действия Редиректора, который (если Вы не настроили его не к) автоматически выйдет из сценария, как только заголовки записаны, таким образом, представление никогда не будут называть или представлять, нет никакой потребности в сценарии представления.


Последующий ответ:

Для вызова действия, не отправляя пользователю в другую "страницу", и затем перенаправляя назад снова необходимо будет использовать XMLHttpRequest (Ajax) вызов. Эти ссылки должны предоставить информацию, в которой Вы нуждаетесь:

http://developer.mozilla.org/en/AJAX
http://www.ibm.com/developerworks/xml/library/wa-ajaxintro1.html
http://www.oracle.com/technology/pub/articles/schalk-ajax.html

Также смотрите на некоторые платформы JS, которые делают использование перекрестным браузером XMLHttpRequest намного легче:

http://www.prototypejs.org/
http://mootools.net/

Платформа зенда на самом деле создала в поддержке Dojo платформу JS, которую можно найти легче:

http://framework.zend.com/manual/en/zend.dojo.html
http://www.dojotoolkit.org/

0
ответ дан 6 December 2019 в 06:15
поделиться
Другие вопросы по тегам:

Похожие вопросы: