我试图创建一个聊天机器人与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)
3条答案
按热度按时间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()
将强制为真。31moq8wy2#
正如“Tech with Tim”在他的视频Python Chat Bot Tutorial - Chatbot with Deep Learning中提到的,他说:
Python 3.7包含错误。
因此,只需从官方Python website安装Python 3.6。
r7xajy2e3#
我在另一个问题here下找到了答案
TF 1.x的解决方案:
tf.logging.set_详细程度(tf.logging.ERROR)
对于TF 2.x:
设置详细信息(tf.compat.v1.logging.ERROR)
请确保在脚本中导入
tensorflow
之前放置此选项