我正在处理一个多类分类问题,为了好玩,我想尝试不同的模型。我发现了一个使用LSTM进行分类的blog,并试图调整我的模型以使其正常工作。 这是我的模型: from tensorflow import keras
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense, Dropout, Activation, Bidirectional, LSTM
from tensorflow.keras.optimizers import SGD, Adam
我正在实现一个链分类器,它将lstm模型作为多类问题的二进制分类器链。由于一个二值分类器的输出作为特征输入到下一个二值分类器中,因此我们不能将输入形状固定在模型的输入层。我的代码如下: def create_model():
input_size=length_long_sentence #107 in my case
embedding_size=128
lstm_size=64
output_size=len(unique_tag_set)
#----------------------------Model---------------------------
我正在尝试使用LSTM对Pavia University HSI data进行分类。X_train数据的形状为(610x340,103),y_train数据的形状为(610x340)。一共有9个班级。因此,我有207400个样本,其中有103个特征(每个时间步1个特征)。我应该如何重塑我的数据,其中每个样本都是具有一个特征的103个时间步长的时间序列,以便使用LSTM进行分类?
我想要建立一个使用字符嵌入的句子分类的LSTM模型。
我知道如何使用word嵌入,其中模型可以从word索引中学习嵌入,但不确定如何使用字符嵌入。
用于word嵌入的:
sentence_list = ['this is a dog', 'the cat and the mouse']
label = [1,0]
word_dict = {'this':1,
'is':2,
'a':3,
'dog':4,
我试图从运行一段代码,但没有成功。没有关于如何运行它的说明。我怀疑我应该运行FactcheckingRANLP/Factchecking_clean/classification/lstm_train.py,然后运行.../lstm_test.py。
问题在于,此代码使用import语句作为模块,引用位于不同目录中的文件夹和文件,例如在lstm_train.py中。
File "lstm_train.py", line 3, in <module>
from classification.lstm_utils import *
ModuleNotFoundE
我有一个模型,有“分类”和“回归”类似的部分。我使用乘法层将它们合并。在执行乘法之前,我希望根据阈值将分类部分的输出设置为0或1。我试图使用Lambda层的自定义功能如下,但我面临各种错误,我不知道这些错误。在我走的时候,一个接一个地解决这些问题并不能增进我的理解。有人能解释如何定义修改值的自定义Lambda层函数吗?
我当前的Lambda层功能:(由于FailedPreconditionError: Attempting to use uninitialized value lstm_32/bias不工作)
def func(x):
a = x.eval(session=tf
我正在为一个多类问题构建一个链式分类器,该问题在链中使用Keras二进制分类器模型。我有17个标签作为分类目标,数据集是这些类的不平衡数据集。我想定制权重,并根据这些权重训练我的链式分类器模型。通常,当不使用scikit_learn包装时,我会将定制的权重传递给fit函数。
这是为这些类生成权重的代码:
from sklearn.utils import class_weight
y_ints = [y.argmax() for y in y_train]
class_weights = class_weight.compute_class_weight(custom_weight_dict,