pytorch==1.10版本下尝试各种方法,终于安装成功tensorboardX。记录下,以便来日再看。
出现问题:
首先在conda构建好的虚拟环境下已经安装好pytorch==1.10版本,python3.5环境下。使用网上的教程:
pip install tensorflow
pip install tensorboardX
这样安装的是tensorflow==2.0的版本(默认安装tensorflow的最新版本),接下来安装tensorboardX就始终无法安装成功,找不到对应版本的tensorboardX,显示如下:
ERROR: Could not find a version that satisfies the requirement tensorboardX (from versions: none)
ERROR: No matching distribution found for tensorboardX
- 使用离线强制安装的方法安装成功,但报错:
import tensorboardX
Traceback (most recent call last):
File "/home/amax/anaconda3/envs/pytorch110/lib/python3.5/site-packages/IPython/core/interactiveshell.py", line 2862, in run_code
exec(code_obj, self.user_global_ns, self.user_ns)
File "<ipython-input-3-bcd06852f37e>", line 1, in <module>
import tensorboardX
File "/home/amax/anaconda3/envs/pytorch110/lib/python3.5/site-packages/tensorboardX/__init__.py", line 5, in <module>
from .torchvis import TorchVis
File "/home/amax/anaconda3/envs/pytorch110/lib/python3.5/site-packages/tensorboardX/torchvis.py", line 11, in <module>
from .writer import SummaryWriter
File "/home/amax/anaconda3/envs/pytorch110/lib/python3.5/site-packages/tensorboardX/writer.py", line 15, in <module>
from .event_file_writer import EventFileWriter
File "/home/amax/anaconda3/envs/pytorch110/lib/python3.5/site-packages/tensorboardX/event_file_writer.py", line 28, in <module>
from .proto import event_pb2
ImportError: cannot import name 'event_pb2'
- 这里说下tensorflow离线安装的方法(其他pip包的离线安装方法也是一样的):
就是首先下载离线安装包(到官网),然后将其拷到任意一个路径下,之后再在这个路径下进行pip安装即可(实际上其他的所有pip包都可采用这种方法进行安装),例如:当你在安装tensorflow时,发现下载速度太慢(如下图):
待下载完成后再进行pip的离线安装即可。
问题分析:
大概是由于版本不兼容的问题。
解决:tensorflow==1.15+tensorboardX-1.9
亲自尝试可以解决,官方安装教程,一定要先安装tensorflow,然后再安装tensorboardX。大致安装流程如下:
- 检查预备环境是否安装成功
python3 --version
pip3 --version
- 升级安装包
sudo apt update
sudo apt install python3-dev python3-pip
pip install --upgrade pip
- 安装tensorflow==1.15
pip install --upgrade tensorflow==1.15
顺利安装。
- 再进行tensorboardX的安装
pip install tensorboardX
顺利安装。
测试:
示例:
将下述代码保存在demo.py中,
from tensorboardX import SummaryWriter
writer = SummaryWriter('runs/scalar_example')
for i in range(10):
writer.add_scalar('quadratic', i**2, global_step=i)
writer.add_scalar('exponential', 2**i, global_step=i)
之后在同级目录下运行:
tensorboard --logdir runs
打开链接即可