Время сна значит предел времени выполнения?

Из документации метода view (), «Возвращенный тензор разделяет одни и те же данные, и должен иметь одинаковое количество элементов , но может иметь другой размер.» [ 113]

x1 = torch.randn((150,))
t_x1 = x1.view(10,30,1)

RuntimeError: форма '[10, 30, 1]' недопустима для ввода размера 150

Это потому, что 150! = 10 * 30. Если вы хотите использовать 30 раз шаг, тогда ваш размер выборки должен быть 150/30 = 5. Итак, правильный путь -

t_x1 = x1.view(5,30,1)
50
задан alex 20 September 2011 в 12:49
поделиться

5 ответов

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

<?php
  sleep(ini_get('max_execution_time') + 10);
?>

Спойлер: В Linux время сна игнорируется, но в Windows оно считается временем выполнения.

87
ответ дан Samuel 7 November 2019 в 10:53
поделиться

Он влияет только на время сценария, а не на системные вызовы, такие как sleep (). Есть, видимо, ошибка, когда в Windows включен sleep (). Максимальное время выполнения составляет около реального времени, а не процессорного времени или чего-то подобного. Однако вы можете изменить его: директива

  • max_execution_time в вашем php.ini. Это глобальная настройка;
  • Использование ini_set () с вышеуказанной директивой. Это изменит его только для выполняемого в данный момент сценария только для этого выполнения;
  • set_time_limit () : также локальное изменение.

Что касается разницы между двумя последними, я полагаю, что max_execution_time является фиксированной величиной. Запуск:

ini_set('max_execution_time', 60);

ограничит сценарий до 60 секунд. Если через 20 секунд вы позвоните:

set_time_limit(60);

сценарий будет ограничен до 20 + 60 = 80 секунд.

8
ответ дан cletus 7 November 2019 в 10:53
поделиться

Со страницы PHP sleep () есть это сообщение от пользователя:

Примечание: функция set_time_limit () и директива конфигурации max_execution_time влияет только на время выполнения самого скрипта. Любое время, потраченное на деятельность, которая происходит вне исполнения скрипт, такой как системные вызовы с использованием system (), функция sleep (), запросы к базе данных и т. д. не включены при определении максимального времени скрипт запущен.

7
ответ дан karim79 7 November 2019 в 10:53
поделиться

Другие уже рассмотрели основы ограничения времени выполнения сценариев sleep () и PHP, но вы также должны знать еще один риск при использовании действительно длинных периодов ожидания.

Обычно, когда браузер отправляет запрос на сервер и не получает никаких данных с сервера, соединение может быть прервано. Это ограничение по времени зависит от конфигурации браузера, но я читал, что IE7 имеет значение по умолчанию всего 30 секунд, в то время как Firefox имеет значение по умолчанию 115 секунд - вы можете проверить свою собственную конфигурацию в Firefox перейдя к about: config и фильтрации для network.http.keep-alive.timeout (ограничение по времени указывается в секундах).

Редактировать: у меня были единицы для network.http.keep-alive.timeout и browser.urlbar.search.timeout смешались.

0
ответ дан weynhamz 7 November 2019 в 10:53
поделиться

a) Да, это считается до предела времени (поэтому sleep (31) вызовет ошибку)

б) Это противоположно стоимости процессора - он позволяет другим приложениям использовать процессор (когда приложение спит, загрузка процессора этим приложением будет около 0%). Помимо отвлечения времени от пользователя, я не могу думать о каких-либо рисках использования этого.

-6
ответ дан v3. 7 November 2019 в 10:53
поделиться
Другие вопросы по тегам:

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