Вы можете просто получить его, используя 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
Вы можете найти некоторые обсуждения по этой теме в , как манипулировать слойные-параметры-по-его названия /
Решение, которое работы на самом деле довольно просты:
URL url = this.getClass().getResource("/package/name/file.properties");
p = new Properties();
p.load(new FileInputStream(new File(url.getFile())));
Почему кто-либо не шел с этим?
Посмотрите здесь для того, как можно считать файл свойств из пути к классу:
URL url = ClassLoader.getSystemResource("test.properties");
Properties p = new Properties();
p.load(new FileInputStream(new File(url.getFile())));
Затем только необходимо добавить каталог конфигурации к пути к классу.
Если у Вас есть проблемы с помощью вышеупомянутого ServletContext.getResource попытки кода.
Альтернативы:
В зависимости от того, как настроен Ваш домен, Вы смогли использовать asadmin create-system-properties
из командной строки. Выполнять/видеть asadmin create-system-properties --help
для большего количества информации.
Или Вам могло бы понравиться администрировать системные свойства через администраторский интерфейс Glassfish. Вот ссылка по умолчанию: http://localhost:4848/configuration/systemProperties.jsf?configName=server-config
Я попробовал много, но я решил это с:
// ServletContext ctx
InputStream stream = ctx.getResourceAsStream("version.properties");
p = new Properties();
p.load(stream);
Я должен передать ServletContext от jsp-страницы с вызовом к getServletContext()getServletContext()
. Не идеальный, но это - единственный способ, которым я мог получить его работа...
Было бы хорошо хотя, если кто-либо мог бы предложить другое решение, которое могло бы работать withyout ServletContext
.
+1 для помещения его в Вашем пути к классу.
Если бы Вы используете Spring (и я настоятельно рекомендовал бы, чтобы Вы сделали, если Вы уже не по многим причинам), когда можно загрузить файл свойств как это:
database.username=scott
database.password=tiger
и помещенные ссылки в Вашем контексте приложения как:
<property name="username" value="${database.username}"/>
(принятие, Вы настроили конфигуратор свойства) и он вызовет ошибку, если файл не может быть загружен, или свойство не существует. Приложение не запустится. Это - на самом деле хорошая вещь. Это позволяет Вам найти проблемы действительно действительно быстро и намного лучше, чем сбой тихо, который может иногда иметь катастрофические эффекты.