... FailedPreconditionError:读取资源变量模块/时出错

时间:2020-07-30 09:08:40

标签: python python-3.x

我在代码执行方面有一些问题... 当这段代码运行时...

batch_size = 128
max_epoch = 20
BinaryThreshold = 0.4
ELMoThreshold = 0.2

def run(datasetpath):
    dataset, labels, max_features_binary, maxlen_binary, max_features_fasttext, maxlen_fasttext, embedding_matrix = DatasetBuilding.run(datasetpath)
    sss = StratifiedShuffleSplit(n_splits=5, test_size=0.2, random_state=0)

n_fold = 1

for train, test in sss.split(dataset,labels):

    print("Numero fold: " + str(n_fold))

    TrainDataset, TestDataset, TrainLabels, TestLabels = dataset[train], dataset[test], labels[train], labels[test]

    TrainDatasetBinary = np.array([x[0] for x in TrainDataset])
    TrainDatasetELMo = np.array([x[1] for x in TrainDataset])
    TrainDatasetFastText = np.array([x[2] for x in TrainDataset])

    MultiClassLabels = [x[1] for x in labels]

    DGALabels = []

    for x in MultiClassLabels:
        if x != 'alexa':
            DGALabels.append(x)

    valid_class = {i:index for index, i in enumerate(sorted(set(DGALabels)), 1)}
    valid_class['alexa']=0
    print(valid_class)

    num_classes = len(valid_class)
    print(num_classes)

    BinaryTrainLabels = np.array([0 if x[0] == 'legit' else 1 for x in TrainLabels])
    MultiClassTrainLabels = np.array([valid_class[x[1]] for x in TrainLabels])

    start = time.time()

    TrainModels.TrainBinary(TrainDatasetBinary, BinaryTrainLabels, max_features_binary, maxlen_binary, batch_size, max_epoch, n_fold)
    TrainModels.TrainELMo(TrainDatasetELMo, MultiClassTrainLabels, batch_size, max_epoch, num_classes, n_fold)
    TrainModels.TrainFastText(TrainDatasetFastText, MultiClassTrainLabels, max_features_fasttext, maxlen_fasttext, embedding_matrix, batch_size, max_epoch, num_classes, n_fold)

    MCSPredictions = MCS.predict(TestDataset, max_features_binary, maxlen_binary, max_features_fasttext, maxlen_fasttext, embedding_matrix, num_classes, BinaryThreshold, ELMoThreshold, n_fold)

    end = time.time()

    report = open("Report/report_MCS_nFold_" + str(n_fold) + "_binThreshold_" + str(BinaryThreshold) + "_ELMoThreshold_" + str(ELMoThreshold) + ".txt", 'a')
    MultiClassTestLabels = np.array([valid_class[x[1]] for x in TestLabels])
    PredEvaluating.evaluate(MultiClassTestLabels, MCSPredictions, report, start, end, valid_class)

    n_fold += 1

    date = datetime.now()

    if __name__ == "__main__":
         datasetpath = os.path.dirname(__file__) + "../Dataset/" + sys.argv[1] #(dataset name)
         run(datasetpath)

几秒钟后,您会看到此消息错误...

“ ... tensorflow.python.framework.errors_impl.FailedPreconditionError:从容器:本地主机读取资源变量module / bilm / RNN_0 / RNN / MultiRNNCell / Cell0 / rnn / lstm_cell / kernel时出错。这可能意味着该变量尚未初始化:找不到资源localhost / module / bilm / RNN_0 / RNN / MultiRNNCell / Cell0 / rnn / lstm_cell / kernel / class tensorflow :: Var不存在。 [[{{node lambda / module_apply_default / bilm / RNN_0 / RNN / MultiRNNCell / Cell0 / rnn / lstm_cell / kernel / Read / ReadVariableOp}}]] ...“

那么...这是什么问题?我在等你的答案...

0 个答案:

没有答案