图片的问题:
暗场,照明光不进入相机镜头,检测反射光;明场,照明光进入相机镜头
暗场对应的像素和实际的倍率不确定
明场的倍率相对确定,暗场由于光线非直射,缺陷成像的形状和尺寸不能保证
预训练模型的恢复
import torch
model = torchvision.models.resnet50(pretrained=False) # 假设是ResNet-50模型
加载权重文件,赋值给模型
with open('path_to_weights_file/weights.pckl', 'rb') as file:
state_dict = pickle.load(file)
model.load_state_dict(state_dict)
加载其他组件:如果存在其他.pckl
文件,如优化器状态或训练配置,同样使用pickle.load()
加载它们。例如,加载优化器状态:
with open('path_to_optimizer_file/optimizer.pckl', 'rb') as file:
optimizer_state = pickle.load(file)
optimizer.load_state_dict(optimizer_state)
//--------------------------------------------------------------
import torch
import torch.nn as nn
import pickle
# 定义一个简单的模型
class SimpleModel(nn.Module):
def __init__(self):
super(SimpleModel, self).__init__()
self.fc1 = nn.Linear(10, 20)
self.fc2 = nn.Linear(20, 10)
self.fc3 = nn.Linear(10, 1)
def forward(self, x):
x = torch.relu(self.fc1(x))
x = torch.relu(self.fc2(x))
x = self.fc3(x)
return x
model = SimpleModel()
# 从多个文件中加载参数
state_dict = model.state_dict()
for name in state_dict.keys():
with open(f'{name}.pkl', 'rb') as f:
state_dict[name] = pickle.load(f)
model.load_state_dict(state_dict)
model.eval()
print("模型参数已从多个文件中加载并恢复模型。")
# 使用模型进行预测
input_tensor = torch.randn(1, 10)
output = model(input_tensor)
print(output)