我在 TensorFlow 中处理的网络会生成像素级标记结果。TensorBoard 对于在训练期间查看数据非常有帮助,但如果我简单地添加 3image_summary秒,我会得到类似以下的图像布局:
o1
o2
o3
l1
l2
l3
p1
p2
p3
Run Code Online (Sandbox Code Playgroud)
(其中o#是原始图像,l#是真实标签,p#是预测标签)。我更希望看到的是这样的布局:
o1 l1 p1
o2 l2 p2
o3 l3 p3
Run Code Online (Sandbox Code Playgroud)
因为这将使比较结果变得更加容易。TensorBoard 是否提供了任何方便的方法来实现这一目标?或者将所有图像、将非 RGB 图像映射为 RGB,然后简单地将它们连接起来形成一张长图像是否是最佳解决方案?非常感谢!
我使用 tensorboard ver:1.10.0 标量来可视化损失。如何使用这些过滤标签字段?我可以使用正则表达式来过滤我的x和y轴,例如:y>100?或者我需要添加标签吗writer.add_summary?非常感谢您的帮助。
请找到下面的屏幕截图:
我正在学习使用 Tensorboard——Tensorflow 2.0。
特别是,我想实时监控学习曲线,并直观地检查和传达模型的架构。
下面我将提供可重现示例的代码。
我有三个问题:
虽然训练结束后我得到了学习曲线,但我不知道应该做什么来实时监控它们
我从Tensorboard得到的学习曲线与history.history的情节不符。事实上,它的逆转是奇怪且难以解释的。
我无法理解该图表。我训练了一个具有 5 个密集层和中间的 dropout 层的顺序模型。Tensorboard 向我展示的是其中包含更多元素的东西。
我的代码如下:
from keras.datasets import boston_housing
(train_data, train_targets), (test_data, test_targets) = boston_housing.load_data()
inputs = Input(shape = (train_data.shape[1], ))
x1 = Dense(100, kernel_initializer = 'he_normal', activation = 'elu')(inputs)
x1a = Dropout(0.5)(x1)
x2 = Dense(100, kernel_initializer = 'he_normal', activation = 'elu')(x1a)
x2a = Dropout(0.5)(x2)
x3 = Dense(100, kernel_initializer = 'he_normal', activation = 'elu')(x2a)
x3a = Dropout(0.5)(x3)
x4 = Dense(100, kernel_initializer = 'he_normal', activation = 'elu')(x3a)
x4a = Dropout(0.5)(x4)
x5 …Run Code Online (Sandbox Code Playgroud) 我正在自定义数据集(即车牌数据集)上训练张量流对象检测 API 模型。我的目标是使用 Tensorflow lite 将此模型部署到边缘设备,这样我就无法使用任何 RCNN 系列模型。因为,我无法将任何 RCNN 系列对象检测模型转换为 TensorFlow lite 模型(这是 TensorFlow 对象检测 API 的限制)。我正在使用ssd_mobilenet_v2_coco模型来训练自定义数据集。以下是我的配置文件的代码片段:
model {
ssd {
num_classes: 1
box_coder {
faster_rcnn_box_coder {
y_scale: 10.0
x_scale: 10.0
height_scale: 5.0
width_scale: 5.0
}
}
matcher {
argmax_matcher {
matched_threshold: 0.5
unmatched_threshold: 0.5
ignore_thresholds: false
negatives_lower_than_unmatched: true
force_match_for_each_row: true
}
}
similarity_calculator {
iou_similarity {
}
}
anchor_generator {
ssd_anchor_generator {
num_layers: 6
min_scale: 0.2
max_scale: 0.95
aspect_ratios: 1.0
aspect_ratios: 2.0
aspect_ratios: 0.5
aspect_ratios: …Run Code Online (Sandbox Code Playgroud) object-detection deep-learning tensorflow tensorboard object-detection-api
我从 tesnorboard 下载了 CSV 文件,以便自己绘制损失图,因为我希望它们平滑。
这是目前我的代码:
import pandas as pd
import numpy as np
import seaborn as sns
import matplotlib.pyplot as plt
df = pd.read_csv('C:\\Users\\ali97\\Desktop\\Project\\Database\\Comparing Outlier Fractions\\10 Percent (MAE)\\MSE Validation.csv',usecols=['Step','Value'],low_memory=True)
df2 = pd.read_csv('C:\\Users\\ali97\\Desktop\\Project\\Database\\Comparing Outlier Fractions\\15 Percent (MAE)\\MSE Validation.csv',usecols=['Step','Value'],low_memory=True)
df3 = pd.read_csv('C:\\Users\\ali97\\Desktop\\Project\\Database\\Comparing Outlier Fractions\\20 Percent (MAE)\\MSE Validation.csv',usecols=['Step','Value'],low_memory=True)
plt.plot(df['Step'],df['Value'] , 'r',label='10% Outlier Frac.' )
plt.plot(df2['Step'],df2['Value'] , 'g',label='15% Outlier Frac.' )
plt.plot(df3['Step'],df3['Value'] , 'b',label='20% Outlier Frac.' )
plt.xlabel('Epochs')
plt.ylabel('Validation score')
plt.show()
Run Code Online (Sandbox Code Playgroud)
我正在阅读如何平滑图形,我发现这里的另一位成员编写了有关张量板如何平滑图形的代码,但我真的不知道如何在我的代码中实现它。
def smooth(scalars: List[float], weight: float) -> List[float]: # Weight between 0 …Run Code Online (Sandbox Code Playgroud) 我已经开始了一份贤者的工作:
from sagemaker.tensorflow import TensorFlow
mytraining= TensorFlow(entry_point='model.py',
role=role,
train_instance_count=1,
train_instance_type='ml.p2.xlarge',
framework_version='2.0.0',
py_version='py3',
distributions={'parameter_server'{'enabled':False}})
training_data_uri ='s3://path/to/my/data'
mytraining.fit(training_data_uri,run_tensorboard_locally=True)
Run Code Online (Sandbox Code Playgroud)
使用run_tesorboard_locally=True给了我
Tensorboard is not supported with script mode. You can run the following command: tensorboard --logdir None --host localhost --port 6006 This can be run from anywhere with access to the S3 URI used as the logdir.
Run Code Online (Sandbox Code Playgroud)
好像我不能使用它的脚本模式,但我可以访问s3中tensorboard的日志?但是s3中的日志在哪里呢?
def _parse_args():
parser = argparse.ArgumentParser()
# Data, model, and output directories
# model_dir is always passed in from SageMaker. By default this is a …Run Code Online (Sandbox Code Playgroud) amazon-web-services tensorboard amazon-sagemaker tensorflow2.0
我在运行有关带有嵌入的 Pytorch 和 TensorBoard 的教程时遇到问题https://pytorch.org/tutorials/intermediate/tensorboard_tutorial.html
我收到这个消息,
AttributeError Traceback (most recent call last)
<ipython-input-10-e0404d94b4cd> in <module>()
22 writer.add_embedding(features,
23 metadata=class_labels,
---> 24 label_img=images.unsqueeze(1))
25 writer.close()
/usr/local/lib/python3.6/dist-packages/torch/utils/tensorboard/writer.py in add_embedding(self, mat, metadata, label_img, global_step, tag, metadata_header)
779 save_path = os.path.join(self._get_file_writer().get_logdir(), subdir)
780
--> 781 fs = tf.io.gfile.get_filesystem(save_path)
782 if fs.exists(save_path):
783 if fs.isdir(save_path):
Run Code Online (Sandbox Code Playgroud)
我可以想象投影仪
我正在尝试使用张量板仪表板来检查模型性能。下面是我使用的代码:
from keras.callbacks import TensorBoard
%load_ext tensorboard
log_dir = "logs/fit/" + datetime.now().strftime("%Y%m%d-%H%M%S")
tensorboard_callback = TensorBoard(log_dir=log_dir, histogram_freq=1)
checkpoint_name = 'Weights-{epoch:03d}--{val_loss:.5f}.hdf5'
checkpoint = ModelCheckpoint(checkpoint_name, monitor='val_loss', verbose = 1, save_best_only = True, mode ='auto')
es = EarlyStopping(monitor='val_loss', verbose=1, patience=10)
callbacks_list = [checkpoint ,es,tensorboard_callback]
NN_model.fit(train, target, epochs=100, batch_size=32, validation_split = 0.2, callbacks=callbacks_list)
Run Code Online (Sandbox Code Playgroud)
但模型训练后,我无法显示仪表板:
%tensorboard --logdir logs
这是我得到的错误:
ERROR: Could not find `tensorboard`. Please ensure that your PATH
contains an executable `tensorboard` program, or explicitly specify
the path to a TensorBoard binary by setting the …Run Code Online (Sandbox Code Playgroud) 所以我正在尝试制作一个 seq to seq 模型,用于在 Kaggle Notebook 和 google colab 等在线笔记本上使用 pytorch 将德语翻译成英语
import torch
import torch.nn as nn
import torch.optim as optim
from torchtext.datasets import Multi30k
from torchtext.data import Field, BucketIterator
import numpy as np
import spacy
import random
from torch.utils.tensorboard import SummaryWriter # to print to tensorboard
Run Code Online (Sandbox Code Playgroud)
导入的库,当我使用 spacy 函数加载数据集时,如下所示,
spacy_ger = spacy.load("de")
spacy_eng = spacy.load("en")
Run Code Online (Sandbox Code Playgroud)
这个错误就来了。: OSError: [E050] 找不到型号“de”。它似乎不是快捷方式链接、Python 包或数据目录的有效路径。
到处都有对“en”的解释,但没有对“de”的解释。如果有人可以帮忙解决这个问题。
规格:
封装:版本
斯帕西:2.3.1
pytorch-crf:0.7.0
火炬:1.5.1
火炬nlp:0.0.0.1
火炬文本:0.4.0
火炬视觉:0.6.1
jupyter-张量板:0.2.0
张量板:2.2.2
张量板插件机智:1.7.0
预先感谢您的帮助。
官方文档只说明
>>> from pytorch_lightning.metrics import ConfusionMatrix
>>> target = torch.tensor([1, 1, 0, 0])
>>> preds = torch.tensor([0, 1, 0, 0])
>>> confmat = ConfusionMatrix(num_classes=2)
>>> confmat(preds, target)
Run Code Online (Sandbox Code Playgroud)
这并未展示如何在框架中使用指标。
我的尝试(方法不完整,只显示相关部分):
def __init__(...):
self.val_confusion = pl.metrics.classification.ConfusionMatrix(num_classes=self._config.n_clusters)
def validation_step(self, batch, batch_index):
...
log_probs = self.forward(orig_batch)
loss = self._criterion(log_probs, label_batch)
self.val_confusion.update(log_probs, label_batch)
self.log('validation_confusion_step', self.val_confusion, on_step=True, on_epoch=False)
def validation_step_end(self, outputs):
return outputs
def validation_epoch_end(self, outs):
self.log('validation_confusion_epoch', self.val_confusion.compute())
Run Code Online (Sandbox Code Playgroud)
在第 0 个纪元之后,这给出
Traceback (most recent call last):
File "C:\code\EPMD\Kodex\Templates\Testing\venv\lib\site-packages\pytorch_lightning\trainer\trainer.py", line 521, in train
self.train_loop.run_training_epoch()
File "C:\code\EPMD\Kodex\Templates\Testing\venv\lib\site-packages\pytorch_lightning\trainer\training_loop.py", …Run Code Online (Sandbox Code Playgroud)