我有一个现有的模型,在这个模型中,我加载了一些预先训练好的权重,然后在pytorch中进行预测(一次一个图像)。我正在尝试将它基本上转换为pytorch闪电模块,并对一些事情感到困惑。 因此,目前,我的模型__init__方法如下所示: self._load_config_file(cfg_file)
# just creates the pytorch network
self.create_network()
self.load_weights(weights_file)
self.cuda(device=0) # assumes GPU and uses one. This
从v1.9开始,PyTorch有了新的功能torch.inference_mode,即"analogous to torch.no_grad……在这种模式下运行的代码可以通过禁用视图跟踪和版本计数来获得更好的性能。“ 如果我只是在测试时评估我的模型(即不是训练),是否有任何情况下torch.no_grad比torch.inference_mode更可取?我计划将前者的每个实例替换为后者,并且我希望使用运行时错误作为屏障(即,我相信任何问题都会暴露为运行时错误,如果它不是运行时错误,那么我认为使用torch.inference_mode确实更可取)。 the PyTorch Devel
我试图量化我的模型( CNN),以便将其转换为量化的.tflite模型。我正在下面的教程:
首先,我通过调用以下命令在图形中引入假量化节点:
tf.contrib.quantize.create_training_graph(quant_delay=500)
但是,在结束时,我试图调用这个函数,以确保以正确的格式使用量化信息导出图形:
tf.contrib.quantize.create_eval_graph(input_graph=tf.get_default_graph())
我知道这个错误:
ValueError: Training op found in graph, exiting
我尝试了在这里可用的seq2seq pytorch实现,。在对评估(evaluate.py)代码进行分析之后,需要较长时间的代码段是方法。
def decode_minibatch(
config,
model,
input_lines_src,
input_lines_trg,
output_lines_trg_gold
):
"""Decode a minibatch."""
for i in xrange(config['data']['max_trg_leng