问题标签 [trax]
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.
tensorflow - 重新实现 bert-style pooler 会引发形状错误,就好像仍然需要长度维度一样
我已经训练了一个现成的 Transformer()。
现在我想使用编码器来构建分类器。为此,我只想使用第一个令牌的输出(bert-style cls-token-result)并通过密集层运行它。
我所做的:
形状:
编码
器
给我形状(64、50、512)64 = batch_size,
50 = seq_len,
512 = model_dim
pooler 为我提供了符合预期和期望的形状(64, 512)。
密集层应该为每个批次成员采用 512 个维度并分类超过 7 个类。但我猜 trax/jax 仍然希望它的长度为 seq_len (50)。
我想念什么?
完整追溯:
trax - trax tl.Relu 和 tl.ShiftRight 层嵌套在串行组合器中
我正在尝试构建一个注意力模型,但默认情况下 Relu 和 ShiftRight 层嵌套在串行组合器内。这进一步给了我训练中的错误。
输出
预期产出
tl.ShiftRight() 也会出现同样的问题
以上代码取自官方文档Example 5
提前致谢
nlp - 如何在 selfAttention 类中使用多头选项?
我正在玩trax库中的自注意力模型。
当我设置时n_heads=1
,一切正常。但是当我设置时n_heads=2
,我的代码会中断。
我只使用输入激活和一个 SelfAttention 层。
这是一个最小的代码:
但我有一个错误:
我做错了什么?
python - google trax 如何输出多类预测,我怎么知道它们属于什么标签?
我对 Trax 如何输出预测感到困惑。您可以观察到预测只包含 11 个预测,但它们是如何排列的以匹配我的预测标签?
上述代码的输出是:
trax 输出预测如何排序以匹配我的标签?
deep-learning - 如何创建子词词汇文件,例如 ende_32k.subword
如何在以下示例中创建诸如 ende_32k.subword 之类的 vocab_file
因为我正在处理阿拉伯语文本文件,所以我想创建自己的子词词汇,就像在 deeplearning.ai 中使用的那样。如何创建自己的特定于阿拉伯语数据集和词汇表的子词文件?问候
python - 如何在 macOS 12 上的 M1 Mac 上安装 trax、jax、jaxlib?
trax
新手trax
,我正在尝试在本地运行它(macOS 12.1、Apple Silicon ARM M1 处理器、8GB RAM、Anaconda),但我遇到了一些问题。
在使用 python 3.8.5 的环境中,我安装了在(Anaconda)conda 环境中trax
运行。pip3 install trax==1.3.9
后来,我尝试trax
在我的代码中导入图层时遇到了问题from trax import layers as tl
我急忙用python 3.10开始了一个新的conda环境。然后在尝试安装时遇到问题trax
:
然后我用 python 3.9 创建了一个新环境。安装很顺利,但是在导入图层时遇到了同样的错误:
安装前jaxlib
_jax
trax
然后我尝试按照这些说明从源代码构建 jaxlib并收到此错误:
强调我最初错过的部分:bazel 目前无法从包含空格的路径 (/my path/jax) 正常工作。
我将/my path/
目录移动到没有空格的路径/mypath/
。删除并重新下载 jax 目录。尽管如此,构建(对于CPU)还是python build/build.py
失败了:
再次尝试了几次(删除并重新下载了 jax 目录),同一行 528.../lib/python3.9/subprocess.py
似乎导致了问题,但输出(虽然主要是上述内容)有时略有不同。考虑到我(诚然)几周内没有重新启动我的机器并且它开始无响应地变慢,这让我怀疑是内存问题。
我将我的 XCode 命令行工具更新到了 12.2 版(很确定)。
我重新启动了我的(8GB)机器。删除并重新下载 jax 目录。我用自制软件安装了 bazel 5.0.0 版,以防万一。我有点担心它一直在为我的 ARM 处理器下载 x86 版本。bazel
安装很顺利。
从这些说明重新开始。但是,该jaxlib
构建明确表示它需要早期(4.2.1)版本的 bazel 并像以前一样下载它:
再次,在同一行 528 中出现不同的错误。现在显示完全运行:
我不再尝试构建 jaxlib。2021年10 月下旬,发布了兼容 M1 的 jaxlib 轮子,所以我尝试了:
但得到了
尝试将 python 从 3.9 升级到 3.10,但得到了相同的消息。
调试,在python中,运行
这表明我的 python 仍在 x86 架构上运行,因为"Anaconda 还没有为 M1/ARM 提供软件包"。
[请参阅下面自己的答案中的成功(到目前为止)jaxlib
安装]
回到trax
成功安装jaxlib
and后jax
,尝试trax
使用(miniforge's)安装时,conda install trax
我得到:
我尝试按照trax
自己的建议进行安装,但遇到了错误hp5y
:
现在调查这个错误,并考虑miniforge
再次这样做,但使用 Anaconda 的频道来安装trax
. 当我得到它时,我会更新。
任何指针或任何人设法trax
通过任何不同的方式将它安装在 M1 Mac 上?
python - 训练模型后如何在 Trax 中切换到预测模式?
我正在熟悉用于构建深度学习模型的 Trax 库,一个我找不到答案的问题是如何在模型训练完成后从“训练”模式切换到“评估”模式。
考虑这个带有变压器的例子(从https://github.com/google/trax#1-run-a-pre-trained-transformer修改)
训练结束后,如何将模式切换为“预测”?
想到的一个想法(遵循相同的示例)是训练模型,然后保存它,重新初始化模型,但这次使用mode='train'
然后通过运行加载权重model.init_from_file(file)
。
有没有办法直接做到这一点而不必重新初始化模型?
python - 导入 trax 加载时间过长
我第一次加载这个库时被难住了。在我的本地计算机上,我在本地 Jupyter Notebook 上加载至少需要 40trax
秒,在共享的 Colab 环境中加载它需要超过 1 分钟。
我不确定这是我的安装问题还是我正在使用的trax版本中的 BUG?
我是 trax 的新手,事实上我的经验是使用 Keras 和 TensorFlow,所以我想从 trax 社区的某个人那里得到意见,如果这是否正常。
提前非常感谢!
顺便说一句:我正在使用trax 1.4.1
,Python 3.9.6
并且我的本地计算机具有以下规格: