进行测试 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都是6 * 32 * 32的pytorch张量形式的三维数组,我想将每一步的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-18 11:03:11 浏览: 82
可以使用Python的pandas库来将数据整合到Excel文件中。具体实现步骤如下:
1. 导入pandas库
```
import pandas as pd
```
2. 定义空的dataframe用于存储数据
```
inputs_df = pd.DataFrame()
outputs_df = pd.DataFrame()
labels_df = pd.DataFrame()
```
3. 循环遍历数据,将每一步的inputs、outputs、labels添加到对应的dataframe中
```
for i in range(len(input_test)):
# 定义数据编号
index = 'test_' + str(i+1)
# 将inputs添加到inputs_df中
inputs_data = pd.DataFrame(input_test[i].numpy().reshape(1, -1))
inputs_data.index = [index]
inputs_df = pd.concat([inputs_df, inputs_data])
# 将outputs添加到outputs_df中
outputs_data = pd.DataFrame(outputs[i].detach().numpy().reshape(1, -1))
outputs_data.index = [index]
outputs_df = pd.concat([outputs_df, outputs_data])
# 将labels添加到labels_df中
labels_data = pd.DataFrame(output_test[i].numpy().reshape(1, -1))
labels_data.index = [index]
labels_df = pd.concat([labels_df, labels_data])
```
4. 将数据写入到Excel文件中,每个dataframe对应一个sheet
```
writer = pd.ExcelWriter('data.xlsx', engine='xlsxwriter')
inputs_df.to_excel(writer, sheet_name='inputs')
outputs_df.to_excel(writer, sheet_name='outputs')
labels_df.to_excel(writer, sheet_name='labels')
writer.save()
```
完整代码如下:
```
import pandas as pd
inputs_df = pd.DataFrame()
outputs_df = pd.DataFrame()
labels_df = pd.DataFrame()
for i in range(len(input_test)):
index = 'test_' + str(i+1)
# 将inputs添加到inputs_df中
inputs_data = pd.DataFrame(input_test[i].numpy().reshape(1, -1))
inputs_data.index = [index]
inputs_df = pd.concat([inputs_df, inputs_data])
# 将outputs添加到outputs_df中
outputs_data = pd.DataFrame(outputs[i].detach().numpy().reshape(1, -1))
outputs_data.index = [index]
outputs_df = pd.concat([outputs_df, outputs_data])
# 将labels添加到labels_df中
labels_data = pd.DataFrame(output_test[i].numpy().reshape(1, -1))
labels_data.index = [index]
labels_df = pd.concat([labels_df, labels_data])
writer = pd.ExcelWriter('data.xlsx', engine='xlsxwriter')
inputs_df.to_excel(writer, sheet_name='inputs')
outputs_df.to_excel(writer, sheet_name='outputs')
labels_df.to_excel(writer, sheet_name='labels')
writer.save()
```
阅读全文