Как запустить Pytest для исходного кода Keras - PullRequest
0 голосов
/ 16 октября 2018

Я занимаюсь разработкой пользовательского слоя для платформы Keras и хотел бы расширить их существующий набор тестов.

Поскольку я работаю над исходным кодом keras, я установил его следующим образом:

После этих команд вы находитесь в репозитории клонированных keras, это рабочий каталог для примеров кода ниже.

Для начала я бы хотел запустить существующие тесты и посмотреть, что они делают. Похоже, их можно просто запустить как файл Python:

if __name__ == '__main__':
    pytest.main([__file__])

Но это:

python tests/keras/layers/wrappers_test.py

производит следующий вывод и не запускаетсялюбые тесты

Using TensorFlow backend.
usage: wrappers_test.py [options] [file_or_dir] [file_or_dir] [...]
wrappers_test.py: error: unrecognized arguments: -n tests/keras/layers/wrappers_test.py
  inifile: /home/lhk/programming/keras/pytest.ini
  rootdir: /home/lhk/programming/keras

Поэтому я попытался явно вызвать pytest следующим образом:

pytest tests/keras/layers/wrappers_test.py

Точно такой же ответ (без журнала тензорного потока):

usage: pytest [options] [file_or_dir] [file_or_dir] [...]
pytest: error: unrecognized arguments: -n tests/keras/layers/wrappers_test.py
  inifile: /home/lhk/programming/keras/pytest.ini
  rootdir: /home/lhk/programming/keras

I 'Я использую PyCharm, и если я запускаю тесты изнутри pycharm (который я, по общему признанию, попробовал первым), он генерирует только сообщения выше.

По-видимому, я не настраиваю его правильно.Pytest не может подобрать набор тестов.Чтобы найти эталонную конфигурацию, я посмотрел на настройку Keras CI.Они используют Travis, и конфигурация имеет открытый исходный код: https://travis -ci.org / keras-team / keras / jobs / 442252422 / config

Похоже, у меня установлены все зависимости.И настоящая команда тестирования в основном то, что я уже пробовал:

PYTHONPATH=$PWD:$PYTHONPATH py.test tests/ --ignore=tests/integration_tests --ignore=tests/test_documentation.py --ignore=tests/keras/legacy/layers_test.py --cov-config .coveragerc --cov=keras tests/

Она выдает точно такой же результат, как и выше.

Я предполагаю, что проблема связана с pytest.Но раздел установки их автоматического тестирования просто показывает pip install pytest pytest-pip8.Я запустил это, но, конечно же, requirement already satisfied.

Как я могу выполнить пираты keras.Я использую Ubuntu 18.04.1, Python 3.6.5 с Anaconda 64bit.

1 Ответ

0 голосов
/ 01 ноября 2018

Выполнение тестов keras упоминается на странице Содействие :

Запуск нашего набора тестов локально.Это просто: из папки Keras просто запустите: py.test tests/.

Вам также потребуется установить требования к тестированию: pip install -e .[tests].

Если вы не хотите устанавливать пакет в редактируемом режиме, просто установите все тестовые зависимости явно. Глядя на keras 'скрипт установки , команда для этого будет:

$ pip install pytest pytest-pep8 pytest-xdist pytest-cov pytest-timeout pandas requests
...