小编Emi*_*oss的帖子

TensorFlow:如何在 Eager Execution 中检查梯度和权重?

我在 Eager Execution 中使用 TensorFlow 1.12,我想在训练期间检查不同点的梯度值和权重以进行调试。这个答案使用 TensorBoard 来获得很好的权重和梯度分布图,这正是我想要的。但是,当我使用Keras 的 TensorBoard callback 时,我得到了这个:

WARNING:tensorflow:Weight and gradient histograms not supported for eagerexecution, setting `histogram_freq` to `0`.
Run Code Online (Sandbox Code Playgroud)

换句话说,这与急切执行不兼容。有没有其他方法可以打印渐变和/或权重?大多数非 TensorBoard 答案似乎依赖于基于图的执行。

gradient-descent tensorflow eager-execution

6
推荐指数
1
解决办法
1356
查看次数

如何使用 Python 3.7 提取视频文件的元数据?

我正在寻找一个简单的库,与 Python 3.7 兼容,它可以提取视频文件的元数据,特别是捕获/录制日期时间;拍摄视频的日期和时间。我主要希望在 .mov 文件上执行此操作。hachoir-metadata据我所知,没有 Python 库;只是一个命令行界面,并且enzyme只适用于 .mkv 文件,尽管这在描述中没有明确说明。我想将记录/捕获数据时间作为字符串检索的原因是我想把它放在文件名中。

在此问题被标记为重复之前:类似的问题要么没有答案,要么已经过时。老实说,我对为什么还没有在 Python 脚本中检索视频元数据的正确方法感到困惑。

python video metadata python-3.x

5
推荐指数
2
解决办法
9596
查看次数

Mutagen 的 save() 不会设置或更改 MP3 文件的封面

我正在尝试使用Mutagen以下列方式更改一堆 MP3 文件的 ID3(版本 2.3)封面艺术:

from mutagen.mp3 import MP3
from mutagen.id3 import APIC

file = MP3(filename)

with open('Label.jpg', 'rb') as albumart:
    file.tags['APIC'] = APIC(
        encoding=3,
        mime='image/jpeg',
        type=3, desc=u'Cover',
        data=albumart.read()
    )
file.save(v2_version=3)
Run Code Online (Sandbox Code Playgroud)

然而,文件(或至少APIC标签)保持不变,通过读回标签来检查。但是,在系统文件资源管理器中,该文件确实显示了更新的Date modified. 如何让 Mutagen 正确更新封面?

python mp3 id3-tag mutagen id3v2

5
推荐指数
2
解决办法
518
查看次数

TensorFlow/Keras 的 fit() 函数的 class_weight 参数如何工作?

我使用 TensorFlow 1.12 和 Keras 进行语义分割。我提供了一个权重向量(大小等于类的数量)来tf.keras.Model.fit()使用它的class_weight参数。我想知道这在内部是如何工作的。我使用自定义损失函数(骰子损失和焦点损失等),并且权重在输入损失函数之前不能与预测或单一热的基本事实相乘,因为这不会产生任何感觉。我的损失函数输出一个标量值,所以它也不能与函数输出相乘。那么在何处以及如何准确地考虑类权重?

我的自定义损失函数是:

def cross_entropy_loss(onehots_true, logits): # Inputs are [BATCH_SIZE, height, width, num_classes]
    logits, onehots_true = mask_pixels(onehots_true, logits) # Removes pixels for which no ground truth exists, and returns shape [num_gt_pixels, num_classes]
    return tf.losses.softmax_cross_entropy(onehots_true, logits)
Run Code Online (Sandbox Code Playgroud)

keras tensorflow loss-function

4
推荐指数
2
解决办法
5640
查看次数

如何在 TensorFlow 1.13 中检查 TFRecord 文件的结构?

我对 TFRecord 文件格式以及如何使用它感到困惑。我有一个 TFRecord,但不知道它究竟包含什么以及它的结构是什么。如何打印和检查 TFRecord 和/或其 TFExamples?我基本上问了与这个问题相同的问题,但是那个答案已经过时了。打印output_shapes,output_typesoutput_classesmyTFRecord告诉我什么都没有(为什么?)。该tf.io.tf_record_iterator()函数已被弃用,但 TFRecord 数据集现在看起来自己是可迭代的(但为什么仍然需要其他迭代器?)。然而,简单地打印每次迭代会返回乱码,并tf.train.Example.FromString(example)抛出一个TypeError: a bytes-like object is required, not 'tensorflow.python.framework.ops.EagerTensor'. 这一切都比较混乱。简单地初始化一个tf.data.Datasetusingfrom_tensor_slices() 看起来更容易检查,实际上提供了有关其形状和类型的信息。

python training-data tensorflow tfrecord

2
推荐指数
1
解决办法
2521
查看次数

Python OpenCV:为什么 fillPoly() 只绘制灰色多边形,而不管它的颜色参数如何?

我正在尝试使用 Python 在 OpenCV 中的黑色二维 NumPy 数组(一个带有一个通道的图像)上编写一个白色蒙版:

mask = np.zeros(shape=(100, 100), dtype=np.int8)
cv2.fillPoly(mask, np.array([[[0,0], [89, 0], [99,50], [33,96], [0,47]]], dtype=np.int32), color=255)
print(mask)
Run Code Online (Sandbox Code Playgroud)

但是,当我打印蒙版时,多边形呈灰色:

[[127 127 127 ...   0   0   0]
 [127 127 127 ...   0   0   0]
 [127 127 127 ...   0   0   0]
 ...
 [  0   0   0 ...   0   0   0]
 [  0   0   0 ...   0   0   0]
 [  0   0   0 ...   0   0   0]]
Run Code Online (Sandbox Code Playgroud)

我尝试了一个 3D NumPy 数组color=(255,255,255),我尝试了不同的颜色,但都无济于事。为什么它忽略了这个color论点?

python drawing opencv colors

2
推荐指数
1
解决办法
1926
查看次数

如何将特定的 x 轴(次要)刻度标签移动到 matplotlib 中图形的顶部?

我想将 matplotlib 自动生成的主要刻度标签保留在图下的默认位置。但是,我自己在特定的 x 值处添加了一些小刻度(带有垂直线),但它们的标签不适合默认的主要刻度。如何将这些标签移动到图的顶部?

我的代码供参考:

meta = comparisons['meta']
lagsAnycast = np.array(meta['lagsAnycast'])
lagsPenultimate = np.array(meta['lagsPenultimate'])
avgLagAnycast = meta['avgLagAnycast']
avgLagPenultimate = meta['avgLagPenultimate']

plt.step(lagsAnycast, (np.arange(lagsAnycast.size) + 1)/lagsAnycast.size,  color='k', label='to anycast IPs', linewidth=1.5)
plt.step(lagsPenultimate, (np.arange(lagsPenultimate.size) + 1)/lagsPenultimate.size,  color='k', label='to penultimate IPs', linewidth=1)
plt.axvline(round(avgLagAnycast,1), ls="dashed", color="k", label="average lag to anycast IPs", linewidth=1.5)
plt.axvline(round(avgLagPenultimate,1), ls="dashed", label="average lag to penultimate IPs", color="k", linewidth=1)

plt.axis([-0.34,60,0.7,1])
plt.xlabel("Lag (ms)")
plt.ylabel("CDF")

existingTicks = (plt.xticks())[0][1:].tolist()
plt.gca().xaxis.grid(True, which='major')
plt.gca().xaxis.grid(False, which='minor')
plt.gca().tick_params(axis="x", which="minor", direction="out", top=True)
plt.gca().set_xticks([round(avgLagAnycast,1), round(avgLagPenultimate,1)], minor=True)

plt.legend(loc='right', fontsize=10)
plt.grid(True, ls="dotted")
majorFormatter …
Run Code Online (Sandbox Code Playgroud)

python matplotlib

0
推荐指数
1
解决办法
1022
查看次数