小编Max*_*sin的帖子

如何检查python函数是否更改(在实时代码中)?

如果我有一个函数的引用,我可以检查它的代码对象f.__code__,获取签名,然后对此签名执行后续检查以查看代码是否更改.这很好.但是,如果其中一个功能的依赖项发生了变化呢?例如

def foo(a, b):
    return bar(a, b)
Run Code Online (Sandbox Code Playgroud)

让我们说foo保持不变,但bar改变了.有没有办法可以foo通过foo.__code__对象检查'依赖''live' (与解析文本和使用AST)?

python reflection introspection

16
推荐指数
1
解决办法
792
查看次数

Python:pickling嵌套函数

使用示例

def foo(a):
    def bar(b):
        return a+b
    return bar

d = {1:foo(1), 2:foo(2)}
Run Code Online (Sandbox Code Playgroud)

看来pickle模块不能使用未在模块范围定义的函数,因此酸洗'd'将不起作用.我还应该考虑另一种酸洗机制吗?

python nested function pickle

9
推荐指数
2
解决办法
3589
查看次数

如何从 HuggingFace Longformer 中提取文档嵌入

想做类似的事情

tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertModel.from_pretrained('bert-base-uncased')
input_ids = torch.tensor(tokenizer.encode("Hello, my dog is cute")).unsqueeze(0)  # Batch size 1
outputs = model(input_ids)
last_hidden_states = outputs[0]  # The last hidden-state is the first element of the output tuple
Run Code Online (Sandbox Code Playgroud)

(来自此线程)使用 longformer

文档示例似乎做了类似的事情,但令人困惑(特别是如何设置注意力掩码,我假设我想将其设置为[CLS]令牌,该示例将全局注意力设置为我认为的随机值)

>>> import torch
>>> from transformers import LongformerModel, LongformerTokenizer

>>> model = LongformerModel.from_pretrained('allenai/longformer-base-4096', return_dict=True)
>>> tokenizer = LongformerTokenizer.from_pretrained('allenai/longformer-base-4096')

>>> SAMPLE_TEXT = ' '.join(['Hello world! '] * 1000)  # long input document
>>> input_ids = torch.tensor(tokenizer.encode(SAMPLE_TEXT)).unsqueeze(0)  # batch …
Run Code Online (Sandbox Code Playgroud)

huggingface-transformers

5
推荐指数
1
解决办法
793
查看次数

是否可以创建可重复的随机数流?

Per 如何生成可重复的随机数序列?可以设置随机模块的状态,以便您可以期望后续调用randint返回相同的数字.

我用这种方法看到的一个限制是状态设置在模块级别(本质上是一个全局变量),所以似乎不可能创建几个可重复的随机数流/迭代器(但是流的调用可以任意交错) )与当前的机制.是否有任何变通办法/替代库可以实现这一目标?

python

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