# 进行测试 with torch.no_grad(): # 测试模式 model.eval() # 计算测试集上的损失 test_loss = 0 for i in range(len(input_test)): inputs = input_test[i] outputs = model(inputs) labels = output_test[i] # 计算损失 loss = criterion(outputs, labels) test_loss += loss.item() # 输出模拟值outputs print(f'Output{i}', outputs) print('Test Loss: %.4f' % (test_loss / len(input_test))) 对于这段代码,我想将每一步的inputs, outputs,labels按照顺序整合到一个excel文件中输出,其中inputs都放在sheet1,outputs都放在sheet2,labels都放在sheet3,每一个inputs,outputs,labels都有一个编号,例如第一个inputs叫做test_input_1,第一个outputs叫做test_output_1,第一个labels叫做test_label_1,以此类推
时间: 2023-06-16 12:05:43 浏览: 82
浅谈pytorch中torch.max和F.softmax函数的维度解释
可以使用Python中的pandas库来实现将数据整合到Excel文件中。首先,我们需要创建一个空的DataFrame对象,然后在循环中将每个输入、输出和标签添加到该DataFrame中,最后将DataFrame写入Excel文件中。以下是示例代码:
```python
import pandas as pd
# 创建一个空的DataFrame对象
data = pd.DataFrame()
# 循环遍历测试集
for i in range(len(input_test)):
# 将输入添加到DataFrame中
input_name = f'test_input_{i+1}'
input_data = pd.Series(input_test[i].numpy().flatten())
data[input_name] = input_data
# 计算模型输出
with torch.no_grad():
model.eval()
output_name = f'test_output_{i+1}'
inputs = input_test[i]
outputs = model(inputs)
output_data = pd.Series(outputs.numpy().flatten())
data[output_name] = output_data
# 将标签添加到DataFrame中
label_name = f'test_label_{i+1}'
label_data = pd.Series(output_test[i].numpy().flatten())
data[label_name] = label_data
# 将DataFrame写入Excel文件中
writer = pd.ExcelWriter('output.xlsx')
data.to_excel(writer, sheet_name='Sheet1', index=False)
writer.save()
```
这将生成一个名为“output.xlsx”的Excel文件,其中Sheet1包含输入、输出和标签。每个输入、输出和标签都有一个唯一的编号。
阅读全文