python 非资源变量在长期内不受支持

0lvr5msh  于 2023-02-15  发布在  Python
关注(0)|答案(3)|浏览(164)

我试图创建一个聊天机器人与Jupyter笔记本,当我运行脚本时,我得到这个错误;
警告:tensorflow :来自C:\用户\华硕\anaconda3\库\站点包\tensorflow \python\compat\v2_compat. py:96:disable_resource_variables(来自tensorflow. python. ops. variable_scope)已弃用,并将在未来版本中删除。更新说明:非资源变量在长期内不受支持
我不知道如何解决这个问题。我的代码是:

import nltk
from nltk.stem.lancaster import LancasterStemmer
stemmer = LancasterStemmer()

import numpy
import tflearn
import tensorflow
import random
import json

with open("D:\intents.json") as file:
    data = json.load(file)


words = []
labels = []
docs_x = []
docs_y = []

for intent in data["intents"]:
    for pattern in intent["patterns"]:
        wrds = nltk.word_tokenize(pattern)
        words.extend(wrds)
        docs_x.append(wrds)
        docs_y.append(intent["tag"])

    if intent["tag"] not in labels:
        labels.append(intent["tag"])

words = [stemmer.stem(w.lower()) for w in words if w != "?"]
words = sorted(list(set(words)))

labels = sorted(labels)

training = []
output = []

out_empty = [0 for _ in range(len(labels))]

for x, doc in enumerate(docs_x):
    bag = []

    wrds = [stemmer.stem(w.lower()) for w in doc]

    for w in words:
        if w in wrds:
            bag.append(1)
        else:
            bag.append(0)

    output_row = out_empty[:]
    output_row[labels.index(docs_y[x])] = 1

    training.append(bag)
    output.append(output_row)

training = numpy.array(training)
output = numpy.array(output)
qjp7pelc

qjp7pelc1#

当您使用较旧版本的Tensrflow(如1.x)或使用自动脚本从Tensrflow 1.x迁移到Tensorflow 2.x时,通常会出现警告。
如果您使用的是Tensorflow 1.x,您可以考虑升级到Tensorflow 2.x,因为与旧版本相比,它有很多性能优势,并且长期稳定。
在Tensorflow 2.x中,使用tf.Variable默认创建一个Resource变量,并默认启用提前执行。
谈到tf.compat.v1.disable_resource_variables()是贬值的警告,相反,您可以在tf.get_variable()中提到use_resource= False,当在Tensorflow 2.x中默认启用渴望执行时,tf.get_variable()将强制为真。

31moq8wy

31moq8wy2#

正如“Tech with Tim”在他的视频Python Chat Bot Tutorial - Chatbot with Deep Learning中提到的,他说:
Python 3.7包含错误。
因此,只需从官方Python website安装Python 3.6。

r7xajy2e

r7xajy2e3#

我在另一个问题here下找到了答案
TF 1.x的解决方案:
tf.logging.set_详细程度(tf.logging.ERROR)
对于TF 2.x:
设置详细信息(tf.compat.v1.logging.ERROR)
请确保在脚本中导入tensorflow之前放置此选项

相关问题