{:.4f}在python中是什么意思
时间: 2023-05-27 09:02:14 浏览: 991
{:.4f}是一种Python格式化字符串的语法,表示将浮点数保留小数点后4位,并进行四舍五入。例如,格式化字符串"%.4f" % 3.1415926会输出3.1416,即将π的值保留4位小数后进行四舍五入。
相关问题
# 打印当前epoch的损失和评估指标 print("-" * 70) print(f"Epoch [{epoch + 1}/{num_epochs}] ") print(f" Train Loss: {train_loss:.4f} Validation Loss: {val_loss:.4f} ") print(f" Accuracy: {avg_accuracy:.4f}",f" Recall: {avg_recall:.4f}", f" F1 Score: {avg_f1:.4f}", f" IoU: {avg_iou:.4f}") 让这个输出优雅点
要使输出更优雅,你可以使用字符串格式化来对齐文本。以下是一个示例,演示如何使用字符串格式化使输出更整齐:
```python
print("-" * 70)
print(f"Epoch [{epoch + 1}/{num_epochs}]")
print(f"Train Loss: {train_loss:.4f}\tValidation Loss: {val_loss:.4f}")
print(f"Accuracy: {avg_accuracy:.4f}\tRecall: {avg_recall:.4f}\tF1 Score: {avg_f1:.4f}\tIoU: {avg_iou:.4f}")
```
这将在输出中使用制表符 `\t` 来对齐文本,使其更整齐和易读。你可以根据需要调整制表符的数量来获得所需的对齐效果。
for epoch in range(100): train_loss, train_acc = train(model, train_loader, criterion, optimizer) test_loss, test_acc = test(model, test_loader, criterion) print('Epoch: {} Train Loss: {:.4f} Train Acc: {:.4f} Test Loss: {:.4f} Test Acc: {:.4f}'.format( epoch, train_loss, train_acc, test_loss, test_acc)) 将损失函数可视化
要将损失函数可视化,可以使用 Matplotlib 库。在上面提供的训练代码中,每一轮 epoch 结束后记录了训练集和测试集的 loss 值。我们可以将这些值存储在一个数组中,然后使用 Matplotlib 将其可视化。
以下是一个简单的示例代码:
```python
import matplotlib.pyplot as plt
train_losses = []
test_losses = []
for epoch in range(100):
train_loss, train_acc = train(model, train_loader, criterion, optimizer)
test_loss, test_acc = test(model, test_loader, criterion)
train_losses.append(train_loss)
test_losses.append(test_loss)
print('Epoch: {} Train Loss: {:.4f} Train Acc: {:.4f} Test Loss: {:.4f} Test Acc: {:.4f}'.format(
epoch, train_loss, train_acc, test_loss, test_acc))
plt.plot(train_losses, label='Training loss')
plt.plot(test_losses, label='Validation loss')
plt.legend(frameon=False)
plt.xlabel('Epoch')
plt.ylabel('Loss')
plt.show()
```
这段代码将训练集和测试集的 loss 值分别存储在 `train_losses` 和 `test_losses` 数组中。然后使用 `plt.plot()` 函数将其可视化。最后使用 `plt.xlabel()` 和 `plt.ylabel()` 函数添加轴标签,并使用 `plt.legend()` 函数添加图例。
阅读全文