问题标签 [fast-ai]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
7 回答
4903 浏览

python - 我无法加载我的模型,因为我无法放置 PosixPath

我正在设置一个脚本,我需要使用 package.json 中的一些函数fast-ai。事实是我在 Windows 上,当我定义路径时,fast-ainamed的函数load_learner无法加载模型。

我试图将函数更改为包:

state = pickle.load(open(str(path) + '/' + str(fname), 'rb'))

代替:

state = pickle.load(open(path/fname, 'rb'))

但我收到此错误:

我的路径定义为:

我把这个函数称为: model = load_learner(folder_path, fname)

如何在此函数中使用 Windows 路径?


更新 1

发布的答案仅在 Linux 上是正确的。我在 Windows 上仍然有这个问题。我没有找到在 Windows 上通过 PosixPath 的方法。我发现的唯一解决方案是从我的模块中更改内部包,但这不是解决此类问题的安全方法。


提前致谢。

0 投票
2 回答
634 浏览

python - 使用 Python 3.6 的 GCP 和 Datalab,需要在 GCP 上使用 Jupyter

我正在尝试使用 fastai 的库,但是这些库中内置的一些数据访问工具依赖于 HTML 对象。例如,DataBunch.show_batch 属性生成一个在 Jupyter 中最容易使用的 HTML 对象。我需要在 GCP(或其他云)上运行测试,问题如下:

  • fastai 有一些依赖于 Python3.6 或更高版本的库(新的字符串格式
  • GCP 没有与 Jupyter NB 交互的好方法。我设置它时遇到了一些麻烦,但后来我的电脑需要重新格式化,现在我在质疑是否应该重新设置。之前的方法主要是基于此。
  • GCP 显然有一些东西可以在它和 Jupyter NB 之间提供一个接口,称为 Datalab。但是,根据此链接,Datalab 不支持 Py3.6 或更高版本。

我看到几个选项:

  1. 通过继承 fastai 的库并完全跳过 Jupyter 来开发我自己的数据可视化技术
  2. 以不同的方式创建 Jupyter-to-GCP 接口,基本上是重做上面第二个要点中链接中的步骤。
  3. 使用我在 Datalab 上经常听到的一个容器 ( docker ),它允许我使用我自己的 Python 版本

有没有人有其他选择我可以如何建立这种联系?如果没有,任何人都可以提供如何完成 1、2 或 3 的其他链接吗?

0 投票
1 回答
612 浏览

machine-learning - 如何从 Fastai 学习器语言模型中的编码器获取句子嵌入

我能够使用快速人工智能微调语言模型。我想从用于句子相似性的微调模型中提取句子嵌入。如何获得编码器模型嵌入?嵌入也可以与其他模型(如 USE)中的其他嵌入进行比较吗?

我的代码在上面我如何从学习中获取编码?

0 投票
1 回答
105 浏览

python - 不同尺寸图像的预测

是否可以对尺寸与训练数据不同的图像进行预测?我已经在一定尺寸(1000*1000)的图片上训练了一个 unet_learner 并将其导出以供以后使用。

然后我用以下内容加载它:

但是如果输入图像的大小不同会怎样呢?

0 投票
1 回答
91 浏览

python - 尝试在自定义 LearnerCallback 中应用_tfms 时如何修复“后端 CUDA 的预期对象”

对机器学习、fastai、pytorch 和 python 来说非常陌生,我试图在手动修改图像后调整 LearnerCallback 来进行转换。当我开始我的 learn.fit_one_cycle 时,它​​会立即中断,如下所示:

我试过坚持.to(torch.device('cuda'))我能想到的所有地方

倒数第二行中的“apply_tfms”是回溯中的罪魁祸首,其结尾为:

有没有一种方法可以在 LearnerCallback 中应用转换而不会出现该错误,或​​者有一种替代方法可以在 apply_tfms 在修改后的输入和目标图像上运行相同的转换之前添加我的 LearnerCallbacklearn.callback_fns.append以运行?我需要来自目标图像的像素信息来修改输入图像。我还需要在培训和验证期间应用此过程。

如果它有任何区别,即使我没有在 apply_tfms 之前修改克隆的图像,我也会得到相同的错误。

0 投票
1 回答
956 浏览

python - GCP 实例中的 jupyter 笔记本无法导入 wget 或 fastai

我有一个在谷歌云平台上运行的 VM 实例。我按照此处的说明操作:https : //towardsdatascience.com/running-jupyter-notebook-in-google-cloud-platform-in-15-min-61e16da34d52 为实例设置 Jupyter 笔记本。如果我打开 python3 笔记本,我可以导入某些包(等,matplotlib),但由于某种原因,如果我尝试导入 wget 或 fastai,我会收到

ImportError:没有名为“fastai”的模块

或者

ImportError:没有名为“wget”的模块

该实例是一个预构建的 pytorch 深度学习设置,它应该与 fastai 一起提供,并且 wget 在任何类型的安装之前都可以在 SSH 终端中运行。无论如何,我已经尝试使用 conda 和 pip 命令安装 wget 和 fastai,但都没有使这些模块在 jupyter 中可访问。我假设因为这些模块是在这种情况下预先构建的,所以我需要以不同的方式访问/导入它们?

如果在 SSH 终端(没有任何 conda/pip 安装)我问whereis wget,我收到:

wget: /usr/bin/wget /opt/anaconda3/bin/wget /usr/share/man/man1/wget.1.gz /usr/share/info/wget.info.gz

如果在 SSH 终端(没有任何 conda/pip 安装)我问whereis fastai,我收到:

法泰:

我怎样才能让导入工作?

如果在我的 Jupyter 笔记本中运行:

我得到:

/home/me/anaconda3/lib/python3.5/site-packages/pip/_vendor/requests/init .py :83:RequestsDependencyWarning:旧版本的密码学([1, 3])可能会导致速度变慢。warnings.warn(warning, RequestsDependencyWarning) 要求已经满足:wget in /home/me/anaconda3/lib/python3.5/site-packages (3.2) ----------------- -------------------------------------------------- -------- ImportError Traceback (最近一次调用最后一次) in 4 import yaml 5 get_ipython().system('pip install wget') ----> 6 import wget

ImportError:没有名为“wget”的模块

快速更新:已经安装了 wget 和 fastai 似乎确实存在一些问题。我无法导入,但我可以使用我的 jupyter 笔记本中的模块。所以wget.download(stuff)提出了一个

NameError:名称'wget'未定义错误

!wget.download(stuff)有效。

仍然希望能够导入。但是,有没有办法引用 fastai 基类?现在如果我尝试

我得到:

NameError:未定义名称“LearnerCallback”

我认为这是由于未进口的fastai。我该如何解决这个问题?

0 投票
2 回答
1498 浏览

python - fastai error predicting with exported/reloaded model: "Input type and weight type should be the same"

Whenever I export a fastai model and reload it, I get this error (or a very similar one) when I try and use the reloaded model to generate predictions on a new test set:

#xA;

Minimal reprodudeable code example below, you just need to update your FILES_DIR variable to where the MNIST data gets deposited on your system:

#xA;

Output:

"RuntimeError: Input type (torch.cuda.FloatTensor) and weight type (torch.cuda.HalfTensor) should be the same"

Stepping through the code statement by statement, everything works fine until the last line pred = ... which is where the torch error above pops up.

Relevant software versions:

Python 3.7.3 fastai 1.0.57
torch 1.2.0
torchvision 0.4.0

0 投票
1 回答
162 浏览

python - 导出 FastAI 文本分类器模型时出错

我在 Kaggle 上使用 FastAi 构建了一个文本分类器,在尝试导出经过训练的模型时出现以下错误 - TypeError: unsupported operand type(s) for /: 'str' and 'str'

我尝试设置更精简的模型目录和工作目录的路径。

我得到的错误是 -

0 投票
1 回答
2130 浏览

python - 如何在 fastai 中为 get_transform 添加附加变换?

我想以这种方式添加额外的增强:

但我得到错误:

根据文档xtra_tfmsOptional[ Collection[ ]]= ) →  [ ] Transform NoneCollection Transform

如何让它工作?

0 投票
2 回答
1064 浏览

python - 如何使用 fastai 实现 sklearns StratifiedKfold?

我参加了 APTOS 2019 kaggle 比赛,并试图在 5 折上合奏,但我在正确实施 StratifiedKFold 时遇到问题。

我曾尝试在 fastai 讨论上进行谷歌搜索,但我没有看到任何解决方案。我正在使用 fastai 库并有一个预训练的模型。

我想使用从 skf.split 获得的折叠来训练我的模型,但我不知道该怎么做。