conda临时换源 & conda安装pytorch

conda临时换源安装pytorch

参照pytorch官方教程在conda中安装时,发现下载速度很慢,因为官网提供的命令使用-c参数指定了pytorch的源来安装:

conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c pytorch

如果添加了中科大的channel,并删除上面的-c pytorch,安装pytorch时会报错:
Solving environment: failed with initial frozen solve. Retrying with flexible solve.
(猜测:无法在中科大的channel中找到pytorch)

为提高速度,可以使用清华源:

  • 参数-c临时使用,这样其他包会使用全局设定的其他源,仅pytorch使用清华源:
conda install pytorch torchvision torchaudio cudatoolkit=11.0 -c https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
  • 也可以直接添加到channels:
conda config --add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/

# 删除指定channels
conda config --remove channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/
# 查看所有channels
conda config --show channels
# 换回conda的默认源
conda config --remove-key channels

关于conda

conda可以构建多个虚拟环境,这些环境与本地环境分开。

比如,创建一个使用python3.7的env,那么无论是否activate该env,本地环境如cmd都不会受到任何影响。该环境只在使用Anaconda进入的命令行中生效。

因此如果使用conda,就不需要像网上一些教程,额外在本地纠结安装什么版本的CUDA和cuDNN了,因为最终使用的版本都是conda中安装的。

并且,无需使用conda安装cuDNN,conda中使用自己的cuDNN

Conda did not install cudnn for pytorch? - PyTorch Forums

Hi,
I use the following command to install pytorch:
conda install pytorch torchvision cudatoolkit=10.0 -c pytorch

then I use the command conda list to list the packages that have been installed with pytorch, I found the cudatoolkit but I did not found the cudnn, why? the pytorch do not need the cudnn ?
when I install tensorflow gpu version using the conda install command , the cudnn and cudatoolkit are both installed. Why pytorch only need cudatoolkit?

pytorch comes with it’s own cudnn, so you don’t have to install it specifically.

# Use this to check if pytorch is using cudnn
torch.backends.cudnn.enabled

Apache:httpd not started due to mod_proxy files not loaded

系统信息:
系统:Ubuntu 16.04.6 LTS
Apache:Apache/2.4.43 (Ubuntu)

报错信息:

$ sudo a2enmod mod_proxy mod_proxy_http mod_ssl
ERROR: Module mod_proxy does not exist!
ERROR: Module mod_proxy_http does not exist!
ERROR: Module mod_ssl does not exist!

排查:
一开始以为是没有安装该模块,但后来查看已安装模块,发现只是改了名字:

$ ls /etc/apache2/mods-available/
... proxy.conf ... proxy.load ...
... proxy_http.load ... proxy_http2.load ...

正确写法:

$ sudo a2enmod proxy proxy_http ssl

Ubuntu使用Docker快速切换不同版本的PHP

概述

此教程在VMware虚拟机中的Ubuntu系统下实验通过,因为在Windows系统下无法完美将VMware和Docker同时运行,所以有了这种“曲线救国”的办法,适合需要快速切换或同时运行不同版本PHP环境的开发需求。

安装Docker

此处Docker安装过程参考 菜鸟教程

卸载旧版本

Docker 的旧版本被称为 dockerdocker.iodocker-engine 。如果已安装,请卸载它们:

阅读更多
在VMware虚拟机安装Remix OS并使用Magisk获取ROOT权限(附懒人镜像)

概述

虽然Remix OS现在已经停止放出新版本的更新,但即使是放到今天,它也仍然不乏为一个十分优秀的Android-x86项目产品,不仅在国内,在国外也拥有众多忠实粉丝,最新版本为 V3.0.207

获取系统镜像

为了成功使用Magisk并获取ROOT,我们需要一个已经打过Magisk补丁的ISO镜像。制作ISO镜像步骤有点复杂,涉及提取boot.img等方面的知识,贴心的我已经把制作好的镜像放在文章最后,使用的Remix OS版本为 V3.0.207,直接下载使用即可:↓文件1↓

制作过程可以参照我的另一篇文章,有兴趣的同学可以自行尝试:Android-x86项目提取boot.img并使用Magisk获取ROOT
由于技德官方已经不提供镜像下载,需要官方镜像可以在国外的Fosshub网站上找到备份文件,这里提供一个国内的下载地址:↓文件2↓

阅读更多
ROC项目详细步骤获取Remix OS ROOT权限(集成Busybox+Adaway)

同样在Remix OS探索的道路上遇见了moman2000大大,本文搬运自其在XDA论坛的帖子Remix OS for PC W/ Xposed Project ROC - [Pre-rooted][Busybox][GAPPS]

概述

!本文仅摘录其目前仍未失效、基于 Remix OS V3.0.206 版本的部分!

XDA论坛中提供的文件都存放在Google硬盘,国内无法访问,所以文末会提供相关文件的国内下载连接 ↓传送↓ ,下载后请使用MD5检查文件有无损坏。(本文中提供的所有文件皆搬运自原贴,请自行检查并承担相应风险。刷机有风险,备份很重要)

阅读更多
简单七步在Remix OS实现Xposed+SuperSU获取ROOT权限(附懒人镜像下载)

在Remix OS探索的道路上偶然遇见名字可以吃的PizzaG大大,本文搬运自其在XDA论坛的帖子RemixOS_x64-UEFI or Legacy-Xposed-SuperSU-Gapps

概述

!本文所使用原始镜像基于 Remix OS 的 V3.0.207 版本!

XDA论坛中提供的文件都存放在Google硬盘,国内无法访问,所以文末会提供相关文件的国内下载连接 ↓传送↓ ,下载后请使用MD5检查文件有无损坏。(本文中提供的所有文件皆搬运自原贴,请自行检查并承担相应风险。刷机有风险,备份很重要)

阅读更多
Android-x86项目提取boot.img并使用Magisk获取ROOT

概述

这篇文章主要记录了如何在Android-x86项目上使用Magisk获取ROOT权限,背景是某日在VMware上安装了Android-x86,原来计划直接用SuperSU+Xposed框架的方法,但无奈2018年SuperSU以及Xposed的作者都纷纷宣布停止更新,因此对Android新版系统的支持着实不好。后来想到了进来大火的Magisk方案,所以有了下面的尝试。其中会包括如何提取制作boot.img文件、获得magisk_patched.img文件并重新打包回ISO文件等内容。

阅读更多
Python实现LFSR+Geffe密钥流生成器

概述

使用Python实现一个流密码的密钥流生成器,本文采用LFSR(线性反馈移位寄存器)+Geffe序列的组合方式实现。(同样的也可用LFSR+J-K触发器的组合方式)

密钥流生成器的目的是由一个短的随机密钥(也称实际密钥或种子密钥)生成一个长的密钥流,用这个长的密钥流对明文加密或对密文解密,从而使一个短的密钥可用来加密更长的明文或解密更长的密文的目的。

——摘录自百度百科

流密码密钥流生成器的基本构造为一个线性的反馈移位寄存器(LFSR)加上一个非线性的组合子系统,这样的组合能够实现消耗不多的性能以及有较好的安全性的平衡。

阅读更多