我正在尝试连接所有输入,但由于某种原因,我总是收到该错误:类型错误:模块对象不可调用,您能帮我解决吗?我试图用 Keras.layers.concatenate 替换合并,但没有成功。
def stack_latent_layers(n):
#Stack n bidi LSTMs
return lambda x: stack(x, [lambda : Bidirectional(LSTM(hidden_units,
return_sequences = True))] * n )
def predict_classes():
#Predict to the number of classes
#Named arguments are passed to the keras function
return lambda x: stack(x,
[lambda : TimeDistributed(Dense(output_dim = num_of_classes(),
activation = "softmax"))] +
[lambda : TimeDistributed(Dense(hidden_units,
activation='relu'))] * 3)
word_embedding_layer = emb.get_keras_embedding(
trainable = True,
input_length = sent_maxlen, name='word_embedding_layer')
pos_embedding_layer = Embedding(output_dim = pos_tag_embedding_size,
input_dim = len(SPACY_POS_TAGS),
input_length = sent_maxlen,
name='pos_embedding_layer')
latent_layers …Run Code Online (Sandbox Code Playgroud) 我正在尝试使用sklearn LabelEncoder,但它说它没有属性classes_,但它存在,我不知道是什么问题。这是我的代码片段
from sklearn.preprocessing import LabelEncoder
encoder = LabelEncoder()
def classes_():
#Return the classes which are classified by this model
return encoder.classes_
def num_of_classes():
"""
Return the number of ouput classes
"""
return len(classes_())
X=TimeDistributed(Dense(output_dim = num_of_classes(),293,activation = "softmax")
Run Code Online (Sandbox Code Playgroud)
但是,我收到此错误 AttributeError: 'LabelEncoder' object has no attribute 'classes_'
所以我正在处理我的 CSV 文件,它在每个句子后面都有一个空白的单元格“”,如下图所示。
当我使用以下方式打印列类型时:
print(data.dtypes)
Run Code Online (Sandbox Code Playgroud)
我知道它们都是对象,但是我希望列 word_id、head_pred_id、sent_id 和 run_id 为 int64。
当我使用以下方法转换列数据类型时:
data.word_id = data.word_id.astype(int)
Run Code Online (Sandbox Code Playgroud)
我收到错误:以 10 为基数的 int() 的文字无效:' '
所以我认为空白的间隔单元格造成了问题,所以我在 CSV 文件本身中将它们替换为 NULL。
现在,4 列类型自动设置为“Float64”,但是当我对它们执行某些操作时,我收到相同的错误: ValueError: invalidliteral for int() with base 10: ''
我仔细检查了是否有我错过的单元格,但我没有错过任何空白单元格在我的 CSV 文件中全部设置为 NULL。
下面是出现错误的代码片段:
def encode_inputs(sents):
"""
Given a dataframe which is already split to sentences,
encode inputs for rnn classification.
Should return a dictionary of sequences of sample of length maxlen.
"""
word_inputs = []
pred_inputs = []
pos_inputs = []
assert(all([len(set(sent.run_id.values)) == …Run Code Online (Sandbox Code Playgroud) 所以我有一个带有值的字典:[假设没有重复]
mydict={0: 1, 1: 2, -2: -1, -1: 0, -3: -2}
Run Code Online (Sandbox Code Playgroud)
我想要做的是使用该值获取它们的键,因此如果给出 1,我希望它获取具有值 1 的键,即 0 并将其附加到列表中。
finalO=[]
if x in myddict.values():
finalO.append([mydict.**getKeyByVal**(x)])--> so is there's a built in function that will allow me to do that?
Run Code Online (Sandbox Code Playgroud)
我不想做一个 for 循环,因为我试图在线性时间内做到这一点。
所以我有一个defaultdict(list) hashmap,潜在的术语
potential_terms={9: ['leather'], 10: ['type', 'polyester'], 13:['hello','bye']}
Run Code Online (Sandbox Code Playgroud)
我想要输出的是具有最低键的2个值(单词),所以'leather'肯定是第一个输出,但是'type'和'polyester'都有k=10,当键相同时,我想要随机选择“类型”或“聚酯”
我所做的是:
out=[v for k,v in sorted(potential_terms.items(), key=lambda x:(x[0],random.choice(x[1])))][:2]
Run Code Online (Sandbox Code Playgroud)
但是当我打印时out我得到:
[['皮革'],['类型','聚酯纤维']]
我的猜测当然是 lambda 函数的第二部分:random.choice(x[1])。关于如何通过输出“类型”或“聚酯”使其按预期工作有什么想法吗?
谢谢