Как использовать файл свойств с GlassFish

Вы можете просто получить его, используя model.named_parameters(), который вернет генератор, с которым вы можете перебрать и получить тензоры, его имя и т. Д.

Вот код для пересетной предварительно обученной модели:

In [106]: resnet = torchvision.models.resnet101(pretrained=True)

In [107]: for name, param in resnet.named_parameters(): 
     ...:     print(name, param.shape) 

, который выдаст

conv1.weight torch.Size([64, 3, 7, 7])
bn1.weight torch.Size([64])
bn1.bias torch.Size([64])
layer1.0.conv1.weight torch.Size([64, 64, 1, 1])
layer1.0.bn1.weight torch.Size([64])
layer1.0.bn1.bias torch.Size([64])
........
........ and so on

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

10
задан doekman 13 March 2009 в 12:08
поделиться

5 ответов

Решение, которое работы на самом деле довольно просты:

URL url =  this.getClass().getResource("/package/name/file.properties");
p = new Properties();
p.load(new FileInputStream(new File(url.getFile())));

Почему кто-либо не шел с этим?

5
ответ дан 3 December 2019 в 18:36
поделиться

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

URL url =  ClassLoader.getSystemResource("test.properties");
Properties p = new Properties();
p.load(new FileInputStream(new File(url.getFile())));

Затем только необходимо добавить каталог конфигурации к пути к классу.

Если у Вас есть проблемы с помощью вышеупомянутого ServletContext.getResource попытки кода.

1
ответ дан 3 December 2019 в 18:36
поделиться

Альтернативы:

В зависимости от того, как настроен Ваш домен, Вы смогли использовать asadmin create-system-properties из командной строки. Выполнять/видеть asadmin create-system-properties --help для большего количества информации.

Или Вам могло бы понравиться администрировать системные свойства через администраторский интерфейс Glassfish. Вот ссылка по умолчанию: http://localhost:4848/configuration/systemProperties.jsf?configName=server-config

3
ответ дан 3 December 2019 в 18:36
поделиться

Я попробовал много, но я решил это с:

        // ServletContext ctx
        InputStream stream = ctx.getResourceAsStream("version.properties");
        p = new Properties();
        p.load(stream);

Я должен передать ServletContext от jsp-страницы с вызовом к getServletContext()getServletContext(). Не идеальный, но это - единственный способ, которым я мог получить его работа...

Было бы хорошо хотя, если кто-либо мог бы предложить другое решение, которое могло бы работать withyout ServletContext.

1
ответ дан 3 December 2019 в 18:36
поделиться

+1 для помещения его в Вашем пути к классу.

Если бы Вы используете Spring (и я настоятельно рекомендовал бы, чтобы Вы сделали, если Вы уже не по многим причинам), когда можно загрузить файл свойств как это:

database.username=scott
database.password=tiger

и помещенные ссылки в Вашем контексте приложения как:

<property name="username" value="${database.username}"/>

(принятие, Вы настроили конфигуратор свойства) и он вызовет ошибку, если файл не может быть загружен, или свойство не существует. Приложение не запустится. Это - на самом деле хорошая вещь. Это позволяет Вам найти проблемы действительно действительно быстро и намного лучше, чем сбой тихо, который может иногда иметь катастрофические эффекты.

0
ответ дан 3 December 2019 в 18:36
поделиться
Другие вопросы по тегам:

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