Category Archives: 编程研究

vs code 中 jupter notebook 提示Kernel died with exit code 1 解决

提示 Kernel died with exit code 1时 错误类似如下形式: traitlets.py:2195: FutureWarning: Supporting extra quotes around Unicode is deprecated in traitlets 5.0. Use ‘hmac-sha256’ instead of ‘”hmac-sha256″‘ – or use CUnicode. warn( C:\Users\rohit\AppData\Roaming\Python\Python38\site-packages\traitlets\traitlets.py:2150: FutureWarning: Supporting extra quotes around Bytes is deprecated in traitlets 5.0.  处理方案:

R Studio在Windows 10下绘图不清晰之解决

首先安装R: sudo apt-get install r-base 在安装后,如果在Windows10下R studio中,绘图颇不清晰,所绘之圆及线条,边缘颇有锯齿,故改用wsl2,并以ubuntun为后端,改用R Studio Server。 sudo apt-get install gdebi-core wget https://download2.rstudio.org/server/bionic/amd64/rstudio-server-1.4.1106-amd64.deb sudo gdebi rstudio-server-1.4.1106-amd64.deb 又 ggplot2绘图中文无法显示,是故: ubuntun中需装: sudo apt-get install libfreetype6-dev R中安装: install.packages(‘showtext’) 以 library(showtext) 可查看所支持之字体,若有,直接用之,否则加之regular 参数,定字体之位,如: font_add(‘DejaVuSans’,regular = “/usr/share/fonts/dejavu/DejaVuSans.ttf”) 再以: showtext_auto() 即可,例: install.packages(‘showtext’) font_add(‘DejaVuSans’,regular = “/usr/share/fonts/dejavu/DejaVuSans.ttf”) showtext_auto() 如此绘之,便可清晰。

Linux上的swap最佳速度设置

vi test.sh #!/bin/bash # Since we’re dealing with dd, abort if any errors occur set -e TEST_FILE=${1:-dd_ibs_testfile} if [ -e “$TEST_FILE” ]; then TEST_FILE_EXISTS=$?; fi TEST_FILE_SIZE=134217728 # Exit if file exists if [ -e $TEST_FILE ]; then echo “Test file $TEST_FILE exists, aborting.” exit 1 fi TEST_FILE_EXISTS=1 if [ $EUID -ne 0 ]; then echo “NOTE: … 阅读全文 Linux上的swap最佳速度设置

npm run build后,在docker中使用alpine及nginx作为http服务

为了实现简单的ci配置,提交代码后自动编译并部署到目标服务器上,部署好gitea及jenkins后,还需要进一步处理才可将此步骤。 如用node.js中使用npm build后,于dist目录中可得纯属html代码,如用npm install http-server -g,其docker镜像颇大,高达100M,故而改用alpine配合nginx进行目标部署,基本容量可降至13M。 mkdir project cd project mkdir app mkdir nginx 将nodejs下所有项目文件放放app后, 再在nginx目录下建立一个文件defaut.conf。 server { listen 80 default_server; listen [::]:80 default_server; location / { root /app; index index.html; } } 然后在project目录下,建立一个dockerfile FROM node:12.6.0-buster-slim AS build ENV PROJECT_ENV production EXPOSE 80 WORKDIR /app COPY ./app/ ./ RUN npm config set registry http://registry.npm.taobao.org/ RUN … 阅读全文 npm run build后,在docker中使用alpine及nginx作为http服务

pytorch 在conda下载并离线安装

1、安装anconda 2、添加清华镜像 conda config –add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/pkgs/free/ conda config –add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/conda-forge conda config –add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/msys2/ conda config –add channels https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch 3、在线安装 conda install pytorch torchvision torchaudio cudatoolkit=11.1 4、出现y/n时,选择y,然后过一会儿中断 5、下载并本地安装 于Anaconda3\pkgs查看urls.txt文件,得到如: https://mirrors.tuna.tsinghua.edu.cn/anaconda/cloud/pytorch/win-64/pytorch-1.8.0-py3.8_cuda10.2_cudnn7_0.tar.bz2 可进行下载 conda安装此包: conda install –use-local pytorch-1.8.0-py3.8_cuda10.2_cudnn7_0.tar.bz2 conda install –use-local cudatoolkit-10.2.89-hb195166_8.tar.bz2 此步会自动将包拷入到pkgs目录下并解压 到指定的conda 激活环境下,再执行: conda install -c local pytorch cudatoolkit=10.2 即可,如果需要其它包,则对应一一下载

Flutter配置

见到Flutter颇为有趣,不禁下载一试,当下完android studio之后,又用visual studio code,安装flutter插件,按说明直接F5却无法运用,无奈又接真机试了一试,仍旧无法。 需按如下步骤,才可一次调通: 1、下载android studio 2、下载flutter 3、增加环境变量 4、下载并配置gradle,直接在在setting中设置,以免wapper下载过慢 5、修改项目下之gradle,将build.gadle文件中 google() 及 jcenter()注释,并添加: maven { url ‘https://maven.aliyun.com/repository/google’ } maven { url ‘https://maven.aliyun.com/repository/jcenter’ } maven { url ‘http://maven.aliyun.com/nexus/content/groups/public’ } 另外要注意classpath中的版本号,如默认是3.5.1,要修改与下载的android studio一致 classpath ‘com.android.tools.build:gradle:4.0.1’ 6、SDK中 flutter/packages/flutter_tools/gradle/flutter.gradle 改为 private static final String MAVEN_REPO=”http://download.flutter.io”; flutter/packages/flutter_tools/gradle/resolve_dependencies.gradle 改为 url “http://download.flutter.io”

量子计算与四象(二)

如果把量子操作视作类似电路那样的话,因为单个量子比特不但有阴态还有阳态以及混合态,要实现可控性可以利用其中的相互作用来实现控制。 所以可以设计进行逻辑控制的门,那么需要操作的最基础为四种情况:不变,翻转,等0,等1。 简单说操作其实就是控制一个量子态转换成另外一个量子态,这个过程可以称为演化,而演化,实际上就在Hilbert空间中的旋转。 而在Hilbert空间中的旋转可以使用矩阵来进行,而矩阵使用的是酉矩阵,也叫酉变换,所以这里可以叫作U操作。 酉变换特点就是能够保证内积、长度、向量夹角、形状四者不变的进行下进行变换。 如图中所示,如|0>、|1>、|u⟩ 三个态,对它们进行U操作后,变换出来的结果,并不会改变|0>、|1>、|u⟩ 之间的关系。 所以比如时,很显然 ,所以可以放心大胆的进行U操作。 单个量子比特用一个2*1的向量可以表达,而一个单量子比特门,就成了一个2*2的向量,|0⟩ 变到 U|0⟩ 这个过程,相当于把 [1,0] 变成了 ,这里需要理解的就是,这里的值发生了变化,然而它还是等价的,是因为它参考系发生了变化,所以看起来值也就发生了变化,而U操作特点是可逆的,所以同样也可以反向将U|0⟩变换成|0>。 这类似于比如在一个固定的二元的线性方程上,在等号左右两侧同时乘以一个倍率,而X与Y的值仍然能保持不变一样。 这些细节其实即使是不知道也没有大问题,只用简单的知道通过符合规范的矩阵可以进行量子操作就可以了。 那么可以对量子比特进行什么操作?最最基础的有以下几种: 第一个是X门,作用就是翻转,即把|0>变成|1>,或反之,用四象表达就是把阴态变成阳态,或把阳态变成阴态,通过这个矩阵便能够实现,这个称为X门,也就是阴阳转换用的门。 第二个是Y门,它的特点是对i进行操作 突然冒出来向量i,会有些无可适从,不知道它表达的是什么,其实这里相当于一种简化,实际上: 第三个是Z门,Z门也叫相位翻转门,它可以把 |+⟩ 变成 |−⟩ , −|1⟩ 变成 |1⟩。 第四种是H门,它的作用非常重要,它可以把 |1⟩ 变成 |−⟩, 把|0⟩ 变成 |+⟩ ,它的表达是: 举例来说,比如现在有一个|1>,称为阳态,要它变成叠加态,可以使用H门操作它,然后就变成了|->,如果对它进行一个Z操作,它就变成了|+> 那么|+>及|->是代表的什么含义?在狄拉克定义中,是这样的: 为什么会有这种看起来奇怪的表达,因为波可叠加与干涉是有方向的,以需要有正负号出现,可以相象一下有叠加与消除,有波峰波谷以及其它部分 为了以示区别,取其阳升之故,可以将|+>称之为青龙,而取阳降之故,|->称之为白虎态。

量子计算与四象(一)

一般的比特位只有0与1两种状态,而量子比特却能有更多的状态,但它同样有0与1的两种情况,通常记录为 |1> 或 |0>这两种态,如果使用矩阵的表示话,它们分别是: 1|0⟩+0|1⟩ 表示为0的叠加态,即阴的叠加态,相当于1概率的阴态与0概率的阳态进行叠加,构成的10态,即为少阴态 0|0⟩+1|1⟩ 表示为1的叠加态,即阳的叠加态,相当于0概率的阴态与1概念的阳态进行叠加,构成的01态,即为少阳态 如果是0与1的混合叠加态,则表达为:   最终得到的是0还是1,作为是量子测量后的结果,而在量子位被测量前,它处于混合态,而系数的平方才是阴态与阳态的分别的概率,这就表达出了50%的机率是阴,以及有50%的机率为阳。 理论上只要符合两个平方概率加起来的值为1,那么这个公式就能成立,所以也不一定就是阴与阳的准确概率,换而言之,它们的系数只要各自平方后,加起来的概率为1方便可以了。 实际上,采用如这种值在用圆进行表达时,便会有特别的位置—-它们正好在八个方位,如同对应八卦一样。  

Android绘制透明叠加Canvas之技巧

余写一罗盘代码,盖下层为摄像头所摄之实时图像,上层乃罗盘之数据。 盖因不知其透明之法,只能依创建之图书于Canvas之上: var bitmap = Bitmap.CreateBitmap(Screen.Instance.Width, Screen.Instance.Height, Bitmap.Config.Argb8888) 用毕,则将其释之。 然频繁建造其对象,内存压力颇大,手机亦热之。 后竟得一简法,盖仍重用bitmpa一图,只需以: bitmap.EraseColor(Color.Argb(0, 0, 0, 0)); 用此法拭之,则透明矣。 吾思术数之道,方法多端,有繁有简,有曲有直,虽有条条大路通罗马之谓,然路有远近,载具亦有多端,此中有效率之别也。  

NetworkX中四种网络模型的生成函数

1、规则图 random_graphs.random_regular_graph(d, n) 含有n个节点,每个节点有d个邻居节点的规则图。 2、ER图 random_graphs.erdos_renyi_graph(n,p) 生成一个含有n个节点,以概率p来连接N个节点中的每一对节点 3、WS小世界模型 random_graphs.watts_strogatz_graph(n, k, p) 生成一个含有n个节点、每个节点有k个邻居、以概率p随机化重连边的WS小世界网络。 简单说,小世界网络外圈是是一个环形,然后每个环形上的节点随机连接到其它节点。 这种结构的网络模型是一类具有较短的平均路径长度又具有较高的聚类系数的网络的总称。 通过调节一个参数可以从规则网络向随机网络过渡,该模型成为WS小世界模型。 从一个环状的规则网络开始:网络含有N个结点,每个节点向与它最临近的K个节点连出K条边,并满足N>>K>>ln(N)>>1。 以概率p随机地重新连接网络中的每个边,即将边的一个端点保持不变,而另一个端点取为网络中随机选择的一个节点。其中规定,任意两个不同的节点之间至多只能有一条边,并且每一个节点都不能有边与自身相连。 这样就会产生pNK/2条长程的边把一个节点和远处的结点联系起来。改变p值可以实现从规则网络(p=0)向随机网络(p=1)转变。 注意WS小世界模型构造算法中的随机化过程有可能破坏网络的连通性,更佳的模型需要考虑:NW小世界网络模型。 4、BA图(无标度) andom_graphs.barabasi_albert_graph(n, m) 生成一个含有n个节点、每次加入m条边的BA无标度网络。 无标度网络的特征是具有严重的异质性,其各节点之间的连接度数具有严重的不均匀分布性。 典型的如的路由器,网络中少数称之为Hub点的节点拥有极其多的连接,而大多数节点只有很少量的连接。 又比如呼叫中心、发电厂等,由少数Hub点对无标度网络的运行起着主导的作用。 无标度网络的无标度性,是描述大量复杂系统整体上严重不均匀分布的一种内在性质。 在无标度网络中,如果中心节点受到攻击,那么会引起大规模瘫痪。