Это связано с изменением 1.12.0
Как видно ниже; в 1.11 tenorflow использует tenorflow.python.keras.activations https://github.com/tensorflow/tensorflow/blob/r1.11/tensorflow/python/keras/layers/advanced_activations.py
Однако в 1.12 его больше не существует; https://github.com/tensorflow/tensorflow/blob/r1.12/tensorflow/python/keras/layers/advanced_activations.py
Итак, я думаю, вы можете напрямую вызвать функция активации как; keras.layers.{activation_function}
Например, keras.layers.LeakyReLU
Кроме того, вы можете понизить рейтинг.
Вместо того, чтобы использовать установку/разрушение необходимо, вероятно, использовать методы, аннотируемые @BeforeClass и @AfterClass вместо этого.
Можно сделать это через @BeforeClass и @AfterClass в JUnit4: http://junit.org/apidocs/org/junit/BeforeClass.html
Volker
Короткий пример для подсчета тестов с @BeforeClass
, @AfterClass
и @Before
.
public class CountTest {
static int count;
@BeforeClass
public static void beforeClass() {
count = 0;
}
@Before
public void countUp() {
count++;
}
@AfterClass
public static void printCount() {
System.out.println(count + " tests.");
}
@Test
public void test1() {
assertTrue(true);
}
// some more tests
Вывод будет, например:
5 тестов.
Если Вы используете Junit4, и предложение, данное другими, является корректным. Но если Вы использующий более раннюю версию затем используете эту технику для достижения того, что Вы хотите -
Можно определить комплект для всех тех тестов, для которых Вы хотите установить и разрушение только однажды. Смотрите на junit.extensions. Класс TestSetup. Вместо того, чтобы выполнить Ваши тестовые классы необходимо затем выполнить эти комплекты.
Решение для junit 3 состоит в том, чтобы назвать специальный метод установки в каждом тесте, который проверяет статический флаг. если флаг не установлен, выполните глобальную установку. Если это, пропустите установку.
Удостоверьтесь, что глобальная установка правильно синхронизируется, если Вы хотите запустить тесты параллельно.