当前位置: 首页 > news >正文

做外贸公司网站重不重要北京seo优化哪家公司好

做外贸公司网站重不重要,北京seo优化哪家公司好,深圳招聘信息最新招聘2022,怎样添加网站图标TensorBoard 模块导入日志记录文件的创建训练中如何写入数据如何提取保存的数据调用TensorBoard面板可能会遇到的问题 模块导入 首先从torch中导入tensorboard的SummaryWriter日志记录模块 from torch.utils.tensorboard import SummaryWriter然后导入要用到的os库&#xff0…

TensorBoard

    • 模块导入
    • 日志记录文件的创建
    • 训练中如何写入数据
    • 如何提取保存的数据调用TensorBoard面板
    • 可能会遇到的问题

模块导入

首先从torch中导入tensorboard的SummaryWriter日志记录模块

from torch.utils.tensorboard import SummaryWriter

然后导入要用到的os库,当然你们也要导入自己模型训练需要用到的库

import os

日志记录文件的创建

import oslog_dir = 'runs/EfficientNet_B3_experiment2'# 检查目录是否存在
if os.path.exists(log_dir):# 如果目录存在,获取目录下的所有文件和子目录列表files = os.listdir(log_dir)# 遍历目录下的文件和子目录for file in files:# 拼接文件的完整路径file_path = os.path.join(log_dir, file)# 判断是否为文件if os.path.isfile(file_path):# 如果是文件,删除该文件os.remove(file_path)elif os.path.isdir(file_path):# 如果是目录,递归地删除目录及其下的所有文件和子目录for root, dirs, files in os.walk(file_path, topdown=False):for name in files:os.remove(os.path.join(root, name))for name in dirs:os.rmdir(os.path.join(root, name))os.rmdir(file_path)# 创建新的SummaryWriter
writer = SummaryWriter(log_dir)

这个代码会自动创建并更新日志文件目录,请谨慎使用,记得改
log_dir = 'runs/EfficientNet_B3_experiment2'路径名字小心把之前保存好的数据删除了
之后模型训练的数据将会写入到log_dir这个路径文件中,在由TensorBoard张量板调用显示数据

训练中如何写入数据

for epoch in range(num_epochs):model.train()running_loss = 0.0correct = 0total = 0start_time = time.time()for images, labels in train_loader:images, labels = images.to(device), labels.to(device)optimizer.zero_grad()outputs = model(images)loss = criterion(outputs, labels)loss.backward()optimizer.step()# 记录学习率current_lr = optimizer.param_groups[0]['lr']writer.add_scalar('Learning Rate', current_lr, epoch)# 记录梯度范数total_norm = 0for p in model.parameters():param_norm = p.grad.data.norm(2)total_norm += param_norm.item() ** 2total_norm = total_norm ** 0.5writer.add_scalar('Gradient Norm', total_norm, epoch)running_loss += loss.item()_, predicted = torch.max(outputs.data, 1)total += labels.size(0)correct += (predicted == labels).sum().item()train_loss = running_loss / len(train_loader)train_accuracy = 100 * correct / total# 记录训练损失和准确率writer.add_scalar('Training Loss', train_loss, epoch)writer.add_scalar('Training Accuracy', train_accuracy, epoch)# 记录模型参数的直方图for name, param in model.named_parameters():writer.add_histogram(name, param, epoch)# 记录网络结构(通常只需要记录一次)if epoch == 0:writer.add_graph(model, images.to(device))# 记录输入图片img_grid = torchvision.utils.make_grid(images)writer.add_image('train_images', img_grid, epoch)# 使用matplotlib记录渲染的图片fig, ax = plt.subplots()ax.plot(np.arange(len(labels)), labels.cpu().numpy(), 'b', label='True')ax.plot(np.arange(len(predicted)), predicted.cpu().numpy(), 'r', label='Predicted')ax.legend()writer.add_figure('predictions vs. actuals', fig, epoch)# 验证模型model.eval()val_loss = 0.0correct = 0total = 0all_preds = []all_labels = []with torch.no_grad():for images, labels in test_loader:images, labels = images.to(device), labels.to(device)outputs = model(images)loss = criterion(outputs, labels)val_loss += loss.item()_, predicted = torch.max(outputs.data, 1)all_preds.extend(predicted.cpu().numpy())all_labels.extend(labels.cpu().numpy())total += labels.size(0)correct += (predicted == labels).sum().item()val_loss /= len(test_loader)val_accuracy = 100 * correct / totalif val_accuracy > best_val_accuracy:# 当新的最佳验证准确率出现时,保存模型状态字典best_val_accuracy = val_accuracybest_model_state_dict = model.state_dict()# 记录验证损失和准确率writer.add_scalar('Validation Loss', val_loss, epoch)writer.add_scalar('Validation Accuracy', val_accuracy, epoch)# 记录多条曲线writer.add_scalars('Loss', {'train': train_loss, 'val': val_loss}, epoch)writer.add_scalars('Accuracy', {'train': train_accuracy, 'val': val_accuracy}, epoch)# 打印每个epoch的训练和验证结果print(f'Epoch [{epoch+1}/{num_epochs}], 'f'Train Loss: {train_loss:.4f}, Train Accuracy: {train_accuracy:.2f}%, 'f'Validation Loss: {val_loss:.4f}, Validation Accuracy: {val_accuracy:.2f}%, 'f'Time: {time.time() - start_time:.2f}s')

以上代码分别记录了
在这里插入图片描述
在这里插入图片描述

如何提取保存的数据调用TensorBoard面板

在终端输入以下代码

tensorboard --logdir='修改为自己的log_dir路径'

在这里插入图片描述
然后点击 http://localhost:6006/就可以成功加载面板了
在这里插入图片描述

可能会遇到的问题

如果数据读取失败那么请检查数据路径是否正确
注意数据文件中不能有任何中文

http://www.tj-hxxt.cn/news/15143.html

相关文章:

  • 聊城建设工程质量信息网站永久免费自助建站软件
  • 深圳做企业网站的公司推荐网络优化的工作内容
  • 网站建设的前端和后端如何在百度上做广告宣传
  • 武汉高端网站建设优化南京百度seo公司
  • 重庆网站seo好不好网络营销网站建设
  • 给博彩做网站怎样推广app
  • 怎样做投资理财网站啥是网络推广
  • 制作公司网站需要那些资料湘潭网站制作
  • 潍坊网站建设策划方案展示型网站有哪些
  • 南宁营销型网站建设公司优化大师官方
  • 连云港网站建设哪家好百度移动
  • 网页建立seo网站关键词优化报价
  • 网站模板下载 网盘关键词优化推广
  • 专业做网站开发费用seow是什么意思
  • 德清县建设局网站seo网站推广经理招聘
  • java网站做微信分享免费网站流量统计
  • 怎么用域名建网站信息流优化师发展前景
  • 网站affiliate怎么做广州推广排名
  • 毕业设计做啥网站好360优化大师官方网站
  • 微信备份wordpressseo网站推广教程
  • 长沙做网站优化的公司最佳bt磁力猫
  • 网站建设seo视频教程百度sem竞价推广pdf
  • thinkphp企业网站宁波seo推广服务
  • 商城版免费网站制作建设官网的网站首页
  • 做鞋子网站的域名公司网站免费自建
  • 广州知名网站建设哪家好郑州官网网站推广优化
  • 天津企业网站设计哪家好搜狗链接提交入口
  • 基于wordpress个人博客网站论文91
  • 做网站哪个公司服务营销的七个要素
  • 做cpa网站推广普通话手抄报图片