小编Clo*_*One的帖子

CentOS 7 未定义符号:ompi_mpi_logical8

我试图安装依赖于一个python(3)包mpi4py一上CentOS 7机。

我尝试了多种方法来做每件事,甚至从干净开始,virtualenvs但我不断得到:

ImportError: $PATH_TO_VENV/lib/python3.6/site-packages/mpi4py/MPI.cpython-36m-x86_64-linux-gnu.so: undefined symbol: ompi_mpi_logical8
Run Code Online (Sandbox Code Playgroud)

即使在通过 成功安装后pip,我只是在解释器中写入:

>>> import mpi4py
>>> from mpi4py import MPI
Run Code Online (Sandbox Code Playgroud)

有没有人对此有解决方案?

virtualenv openmpi python-3.x

7
推荐指数
1
解决办法
1128
查看次数

将张量流检查点加载为 keras 模型

我有一个使用张量流定义和训练的旧模型,现在我想对其进行处理,但我目前正在使用 Keras 来处理所有事情。

所以问题是:是否可以将 tf cehckpoint(带有*.index, *.meta等)加载到 Keras 模型中?

我知道一些老问题,例如:如何将经过训练的 Tensorflow 模型转换为 Keras?

我希望两年后,随着 keras 被纳入 tf,现在会有一种更简单的方法。

不幸的是我在 tf; 中没有原始模型定义。我也许能找到它,但如果没有必要那就更好了。

谢谢!

python python-3.x keras tensorflow

5
推荐指数
1
解决办法
3407
查看次数

为什么使用 Huggingface Trainer,单 GPU 训练比 2 个 GPU 更快?

我有一个带有 2 个 V100 的虚拟机,我正在使用 Huggingface 的非常好的 Trainer API 来训练类似 gpt2 的模型(相同的架构,更少的层)。我正在使用 pytorch 后端。

我观察到,当我使用完全相同的数据和 TrainingArguments 训练完全相同的模型(6 层,约 82M 参数)时,在单个 GPU 上的训练速度明显快于 2GPU:约 5 小时 vs 约 6.5 小时。

如何调试此类问题以了解导致速度下降的原因?

额外说明:

  • 2 个 GPU 都在使用(观看 nvidia-smi 输出)
  • 我用的是fp16精度
  • 我的 TrainingArguments 值为:
{
    "optim": "adamw_torch",
    "evaluation_strategy": "epoch",
    "save_strategy": "epoch",
    "fp16": true,
    "gradient_checkpointing": true,
    "per_device_train_batch_size": 16,
    "per_device_eval_batch_size": 16,
    "dataloader_num_workers": 4,
    "dataloader_pin_memory": true,
    "gradient_accumulation_steps": 1,
    "num_train_epochs": 5
}
Run Code Online (Sandbox Code Playgroud)

的输出nvidia-smi topo -m是:

$ nvidia-smi topo -m
        GPU0    GPU1    CPU Affinity    NUMA Affinity …
Run Code Online (Sandbox Code Playgroud)

python gpu pytorch huggingface-transformers

5
推荐指数
1
解决办法
2655
查看次数

特征向量对数错误使用不完整类型无效

我正在尝试使用 Eigen 库计算向量的元素自然对数,这是我的代码:

#include <Eigen/Core>
#include <Eigen/Dense>

void function(VectorXd p, VectorXd q) {
    VectorXd kld = p.cwiseQuotient(q);
    kld = kld.log();
    std::cout << kld << std::endl;
}
Run Code Online (Sandbox Code Playgroud)

但是在编译时

g++ -I eigen_lib -std=c++11 -march=native test_eigen.cpp -o test_eigen

我得到

test_eigen.cpp:15:23: error: invalid use of incomplete type ‘const class Eigen::MatrixLogarithmReturnValue<Eigen::Matrix<double, -1, 1> >’ kld = kld.log();

我错过了什么?

c++ eigen c++11

3
推荐指数
1
解决办法
1470
查看次数

Virtualenv 因“不以前缀开头”而失败

我刚刚从 github 下载了 python 3.6.1 并将其构建在本地目录中。现在我正在尝试使用该版本的 python 创建一个 virtualenv,但我不断收到:

Running virtualenv with interpreter /home/giorgio/tools/cpython-3.6.1/python
Using base prefix '/usr/local'
Traceback (most recent call last):
  File "/usr/lib/python2.7/site-packages/virtualenv.py", line 2462, in <module>
    main()
  File "/usr/lib/python2.7/site-packages/virtualenv.py", line 762, in main
    symlink=options.symlink,
  File "/usr/lib/python2.7/site-packages/virtualenv.py", line 998, in create_environment
    install_python(home_dir, lib_dir, inc_dir, bin_dir, site_packages=site_packages, clear=clear, symlink=symlink)
  File "/usr/lib/python2.7/site-packages/virtualenv.py", line 1219, in install_python
    copy_required_modules(home_dir, symlink)
  File "/usr/lib/python2.7/site-packages/virtualenv.py", line 1147, in copy_required_modules
    dst_filename = change_prefix(filename, dst_prefix)
  File "/usr/lib/python2.7/site-packages/virtualenv.py", line 1111, in change_prefix
    assert False, "Filename {} does not …
Run Code Online (Sandbox Code Playgroud)

python virtualenv

1
推荐指数
2
解决办法
1193
查看次数