首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我不能使用来自fastai.text的fastai.text

我不能使用来自fastai.text的fastai.text
EN

Stack Overflow用户
提问于 2018-11-29 14:05:22
回答 1查看 879关注 0票数 0

我试图建立一个模型,预测一个单词作为输入,输出作为段落。当尝试将扣件文本上给出的相同示例实现到自己的数据集时,会出现一个错误。它在下面的步骤中给出了一个错误。当您查看站点时,在您得到下面的代码之前,这并不重要。但是这个代码给出了一个错误。造成这一错误的原因是什么?

代码:

代码语言:javascript
复制
from fastai import *
from fastai.text import * 

path = untar_data(URLs.IMDB_SAMPLE)

df = pd.read_csv(path/'texts.csv')

# Language model data
data_lm = TextLMDataBunch.from_csv(path, 'texts.csv')
# Classifier model data
data_clas = TextClasDataBunch.from_csv(path, 'texts.csv', 
vocab=data_lm.train_ds.vocab, bs=32)

data_lm.save()
data_clas.save()

data_lm = TextLMDataBunch.load(path)
data_clas = TextClasDataBunch.load(path, bs=32)

learn = language_model_learner(data_lm, pretrained_model=URLs.WT103, drop_mult=0.5)
learn.fit_one_cycle(1, 1e-2)

错误代码:

代码语言:javascript
复制
learn = language_model_learner(data_lm, pretrained_model=URLs.WT103, drop_mult=0.5)

输出:

代码语言:javascript
复制
    102     if not ps: return None
    103     if b is None: return ps[0].requires_grad
--> 104     for p in ps: p.requires_grad=b
    105 
    106 def trainable_params(m:nn.Module)->ParamList:

RuntimeError: you can only change requires_grad flags of leaf variables. If you want to use a computed variable in a subgraph that doesn't require differentiation use var_no_grad = var.detach().
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2018-12-03 11:16:52

使用以下命令将梯度设置为false : torch.set_grad_enabled(False) (在创建学习对象之前使用它)

并用torch.enable_grad()包装函数的调用(torch.enable_grad循环()):

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/53540808

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档