我尝试在Google Colab中使用bert-tensorflow,但出现以下错误:
-------------------------------------------------- ------------------------- AttributeError Traceback(最近一次调用最后一次) in () 1 import bert ----> 2 from bert import run_classifier_with_tfhub # run_classifier 3 来自 bert 导入优化 4 来自 bert 导入标记化
1 帧 /usr/local/lib/python3.6/dist-packages/bert/optimization.py in () 85 86 ---> 87 class AdamWeightDecayOptimizer(tf.train.Optimizer): 88 """一个基本的 Adam 优化器其中包括“正确的”L2 权重衰减。""" 89
AttributeError:模块“tensorflow._api.v2.train”没有属性“Optimizer”
这是我尝试过的代码:
!pip install --upgrade --force-reinstall tensorflow
!pip install --upgrade --force-reinstall tensorflow-gpu
!pip install tensorflow_hub
!pip install sentencepiece
!pip install bert-tensorflow
from sklearn.model_selection import train_test_split
import pandas as pd
from datetime import …
我正在尝试执行 ak-max pooling以选择top-k具有 shape 的密集元素(None, 30)。我尝试了一个MaxPooling1D层,但它不起作用,因为 keras 池化层至少需要一个 2d 输入形状。我正在使用以下Lambda图层,但出现以下错误:
layer_1.shape
(None, 30)
layer_2 = Lambda(lambda x: tf.nn.top_k(x, k=int(int(x.shape[-1])/2),
sorted=True,
name="Top_k_final"))(layer_1)
Run Code Online (Sandbox Code Playgroud)
错误:文件“/usr/local/lib/python3.5/dist-packages/keras/engine/base_layer.py”,第 474 行,调用 output_shape = self.compute_output_shape(input_shape) 文件“/usr/local/lib/ python3.5/dist-packages/keras/layers/core.py", line 652, in compute_output_shape return K.int_shape(x) File "/usr/local/lib/python3.5/dist-packages/keras/backend/ tensorflow_backend.py", line 591, in int_shape return tuple(x.get_shape().as_list()) AttributeError: 'TopKV2' object has no attribute 'get_shape'
我正在训练NN,并希望在预测阶段每N个时期保存模型权重.我提出这个草案代码,它的灵感来自于@grovina 在这里的回应.请你提出建议吗?提前致谢.
from keras.callbacks import Callback
class WeightsSaver(Callback):
def __init__(self, model, N):
self.model = model
self.N = N
self.epoch = 0
def on_batch_end(self, epoch, logs={}):
if self.epoch % self.N == 0:
name = 'weights%08d.h5' % self.epoch
self.model.save_weights(name)
self.epoch += 1
Run Code Online (Sandbox Code Playgroud)
然后将其添加到fit调用:每5个时期保存一次权重:
model.fit(X_train, Y_train, callbacks=[WeightsSaver(model, 5)])
Run Code Online (Sandbox Code Playgroud) 我一直在尝试使用上面的代码将 TREC 文档提取到单独的文本文件中,但出现了一些错误。这是我的 TREC 文件内容的示例,其中包含标记<DOC>和之间的 2 个文档</DOC>:
<DOC>
<DOCNO>
WSJ910102-0145
</DOCNO>
<DOCID>
910102-0145.
</DOCID>
<HL>
xxxx
</HL>
<DATE>
01/02/91
</DATE>
<LP>
text LP1
</LP>
<TEXT>
text1
</TEXT>
</DOC>
<DOC>
<DOCNO>
WSJ910102-0144
</DOCNO>
<DOCID>
910102-0144.
</DOCID>
<HL>
....
</HL>
<DATE>
01/02/91
</DATE>
<LP>
text LP2
</LP>
<TEXT>
text2
</TEXT>
</DOC>
Run Code Online (Sandbox Code Playgroud)
我想在一个单独的文本文件中提取每个文档。我必须获取带有文档编号“DOCNO”的标签“LP”和“TEXT”的内容。这是我的代码:
text=text.replace('\n',' ').replace('\t', ' ')
i=0
txtDoc=''
regexTxt='(<LP>(.*?)</LP>)? <TEXT>(.*?)</TEXT>'
regexDoc='<DOC>(.*?)</DOC>'
regexDocNo='<DOCNO>(.*?)</DOCNO>'
pattern = compile(r'<DOC>(.*?)</DOC>')
iterator = finditer(pattern, text)
count = 0
for match in iterator:
count +=1 …Run Code Online (Sandbox Code Playgroud) python ×3
python-3.x ×2
tensorflow ×2
callback ×1
keras ×1
keras-layer ×1
max-pooling ×1
parsing ×1