我想将列表更改为张量tf.convert_to_tensor,数据如下:
data=[
array([0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 1., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0., 0.,
0., 0., 0., 0., 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) 这是一个使用模型进行序列分类的示例,以确定两个序列是否是彼此的释义。这两个例子给出了两种不同的结果。你能帮我解释为什么tokenizer.encode并tokenizer.encode_plus给出不同的结果吗?
示例 1(带有.encode_plus()):
paraphrase = tokenizer.encode_plus(sequence_0, sequence_2, return_tensors="pt")
not_paraphrase = tokenizer.encode_plus(sequence_0, sequence_1, return_tensors="pt")
paraphrase_classification_logits = model(**paraphrase)[0]
not_paraphrase_classification_logits = model(**not_paraphrase)[0]
Run Code Online (Sandbox Code Playgroud)
示例 2(带有.encode()):
paraphrase = tokenizer.encode(sequence_0, sequence_2, return_tensors="pt")
not_paraphrase = tokenizer.encode(sequence_0, sequence_1, return_tensors="pt")
paraphrase_classification_logits = model(paraphrase)[0]
not_paraphrase_classification_logits = model(not_paraphrase)[0]
Run Code Online (Sandbox Code Playgroud) 你能给我一份指南或图表来理解差异吗?
我问这个问题的原因是我无法使用以下方法打开网站:
docker network create -d bridge mybridge
docker run -d --net mybridge --name db redis
docker run -d --net mybridge -e DB=db -p 8000:5000 --name web chrch/web
Run Code Online (Sandbox Code Playgroud)
但我可以使用以下方法打开网站:
docker run --rm -d --network host --name my_nginx nginx
Run Code Online (Sandbox Code Playgroud)
我使用谷歌云平台VM实例并自己安装docker。
我使用mac终端检查我的包:
点子列表
我可以找到所有包裹包括熊猫
但是当我
进口大熊猫
它告诉我:ModuleNotFoundError:没有名为'pandas'的模块
顺便说一下,我的mac中有python2和python3,它们不是同一个目录,我怀疑python没有找到熊猫的路径
当我使用以下方式更新时,出现了一些问题,系统告诉我“在补丁的第 1 行缺少统一差异的标头
cd theano/scan_module/
cython scan_perform.pyx
patch scan_perform.c numpy_api_changes.diff
Run Code Online (Sandbox Code Playgroud)
顺便说一下,我想更新的原因是当我在windows anaconda环境中使用theano时,系统告诉我“UserWarning:文件scan_perform.c不可用。这不会正常发生。” 我在 以下位置找到了上述方法:https : //github.com/Theano/Theano/blob/master/theano/scan_module/scan_perform_ext.py然后使用以下方式安装补丁命令
conda install patch
Run Code Online (Sandbox Code Playgroud)
如何解决这个问题呢?
我喜欢(https://www.tensorflow.org/tutorials/eager/custom_layers)中的以下代码
class MyDenseLayer(tf.keras.layers.Layer):
def __init__(self, num_outputs):
super(MyDenseLayer, self).__init__()
self.num_outputs = num_outputs
def build(self, input_shape):
self.kernel = self.add_variable("kernel",
shape=[int(input_shape[-1]),
self.num_outputs])
def call(self, input):
return tf.matmul(input, self.kernel)
Run Code Online (Sandbox Code Playgroud)
最后两行是调用方法,它不像通常的python类方法 调用有两个下划线。它们之间有什么区别吗?
我发现keras.backendor 中有很多相同的名称keras.layers,例如keras.backend.concatenate和keras.layers.Concatenate。我隐约知道一个是张量,另一个是层。但是,当代码太大时,那么多函数使我感到困惑,即张量或层。有人有解决这个问题的好主意吗?
我发现的一种方法是首先在一个函数中定义所有占位符,但是该函数将其视为变量可能会在最后返回层,而另一个函数将这一层视为变量可能会返回另一个变量。
我找到了以下代码:
def get_iterator_from_config(config: dict, data: dict):
iterator_config = config['dataset_iterator']
iterator: Union[DataLearningIterator, DataFittingIterator] = from_params(iterator_config,data=data)
return iterator
Run Code Online (Sandbox Code Playgroud)
为什么迭代器有冒号然后有联合?这是否意味着迭代器的类型是联合?为什么不能只使用:
iterator= from_params(iterator_config,data=data)
Run Code Online (Sandbox Code Playgroud)