在WSL2下编译Latex,提速64%!
最近偶然得知Linux下编译Latex要比Windows快很多。这对长期受Latex缓慢编译速度(尤其是大文件)折磨的我是一个福音。然而为此把Latex工作环境搬移到Linux又会带来其他不便。幸好有WSL这个神器,可以帮我们在Win系统下无缝运行Linux子系统。
WSL2安装Texlive
由于我的WSL2装的是Ubuntu20.04,目前Miktex不支持这一版本。所以只能选择Texlive。从CTAN镜像下载安装包 install-unx.tar.gz。解压后运行
1sudo ./install-tl
安装需要半小时到一小时不等。完成后在~/.bashrc中添加环境变量
123export PATH=/usr/local/texlive/2022/bin/x86_64-linux:$PATHexport MANPATH=/usr/local/texlive/2022/texmf-dist/doc/man:$MANPATHexport INFOPATH=/usr/local/texlive/2022/texmf-dist/doc/info:$INFOPATH
刷新环境变量
1so ...
《失眠》
《失眠》
半夜两点时
我盖好被子
你打开日光灯
断电的屋子
我看见了眼皮的血丝
血液在心脏中翻涌
空气摩擦着鼻腔
蛾子在屋里逛了一圈
扫兴地走了
我闭上嘴,问你
明天想吃什么
我说
煲点骨汤吧
我说
好,听你的
我翻了个身子
抱紧你
手指放在我的腰上
日光灯焦灼地亮着
蛾子慢吞吞地
还没飞出窗
我睁着眼睛睡觉
【selenium库+pyqt5库】实例:SEU自动打卡器
笔者学校打卡制度已经实施一年多,然而每天依然有人忘记打卡,笔者也已厌倦了每天重复的机械化操作。为了防止忘记打卡,简化流程,笔者制作了一个简易的自动打卡器,顺便熟悉selenium库和pyqt5库。
实现原理很简单,用python的selenium库模拟用户登录网站并打卡。至于设置开机自启动,只需将程序放到启动文件夹即可。因为笔者最终将程序封装成软件并发给其他人用的,所以用到shutil库和os库的一些函数,将cd到主程序的bat文件自动复制到用户电脑的启动文件夹。最后用pyqt5写一个简单的UI就行啦!至于软件封装,则是用pyinstaller将py文件转化为exe文件。
需要注意的是,selenium库需要本地安装浏览器,所以笔者将浏览器一同集成了,导致软件最终体积很大。不过现在的电脑也不在乎这点大小。
具体代码见下。
打卡模块function.py
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263 ...
用纯C++代码写一款精美的FlappyBird
先上效果图。
游戏的实现主要基于EasyX图形库,有暂停界面、结束界面、游戏音效、游戏存档,并最终集成为一个exe文件。可谓麻雀虽小,五脏俱全 。这里先放出源代码和下载链接,以后有时间会以此为例写一个C++小游戏开发教程系列。
链接:https://pan.baidu.com/s/1sBPD-LTGCTa7bfkI1RloXg
提取码:8848
组件类及其定义:
12345678910111213141516171819202122232425262728293031323334353637383940414243#pragma once#include<graphics.h>#include<utility>using namespace std;typedef pair<double, double> BVec;class Object{ int _x; int _y; //组件基类的四个成员,逻辑坐标(x,y),运动速度v,加速度g,贴图ptr、掩码ym_ptr int _width; ...
【机器学习】入门ML?跟着做这几个实验足矣!(二)
随机森林
本课程需要使用的module: os, numpy, pandas, tensorflow(2.0.0及以上), matplotlib, sklearn, graphviz, pydotplus, skimage, opencv, seaborn.
目录
0. 课程摘要
1. 决策树
2. 分类决策树
3. 回归决策树
4. 本课任务介绍
- 4.1 MNIST介绍
- 4.2 数据的预处理
5. 随机森林
- 5.1 分类式随机森林
- 5.2 回归式随机森林
- 5.3 预测错误展示
6. 非数据库图片测试
7. 总结
Homework
作业1
作业2
作业3
作业4
作业5
加载library
首先让我们将需要的module准备好。
12!pip install scikit-image!pip install pydotplus
Requirement already satisfied: scikit-image in d:\application\anaconda\lib\site-packages (0.18.3)
Requirement already sat ...
这么多Markdown编辑器,我最终选择了它~
前言
本人是一个完美主义+极简主义+颜控+强迫症的复杂矛盾体,在选择软件的时候经常会犯选择恐惧症。最近博客搭建的差不多了,之后可以专注于写文章了。但是在这之前还需要选择一款称手的写作工具,也就是markdown编辑器。
基于极简主义,或者说“如无必要,无增实体”的奥卡姆剃刀原则,我一直使用VScode集成多个工作环境,譬如写C++,写Python,写Latex,包括写Markdown。对于前三者这种代码元素比较多的工作情景,VScode确实很合适。但是像md这种以内容为主,代码偏少的轻量级标记语言来说,vscode在某些方面还是不能媲美专业的md编辑器。于是笔者开始了漫长(bushi)的寻找最佳md编辑器的历程。本文就我在搜寻过程中比较中意的几款编辑器进行比较,分别是VScode、MarkText、Typora、Zettlr。
介绍
VScode
VScode是一款很流行的文本编辑器,深受程序员们喜爱,包括我自己。它凭借极其丰富的第三方插件社区,几乎可以承担所有编辑工作。VScode原生支持md文档编辑和预览。可以通过安装Markdown Preview Enhancement插件来强 ...
【机器学习】入门ML?跟着做这几个实验足矣!(一)
前言
本系列记录《机器学习》课的实验部分。实验所有资料在此下载:百度网盘 提取码:8848
线性回归——音乐年代预测
目录
一. 概述:音乐年代预测与回归问题
二. 数据集的加载与展示
三. 特征筛选与预处理
四. 线性回归
五. 多项式回归
六. 岭回归
一. 概述:音乐年代预测与回归问题
1. 音乐年代预测问题
根据一首音乐的音频特征,推测这首音乐的发行年份。
问题的输入:音乐的特征
问题的输出:发行年份(是一个实数)
音乐年代预测问题是一个比较典型的回归问题。
2. 回归问题(regression)
和分类问题一样,回归问题也是以数据的特征为输入,以数据的标签为输出。
回归与分类的区别
分类模型的输出是离散的、孤立的类别,比如鸢尾花的种类。
回归模型的输出是连续的数值,比如这里的年份可以近似看作是连续的。
分类问题是提供定性的输出,回归问题是提供定量的输出。
生活中的回归问题
房屋价格预测
输入一个房屋的地理位置、面积等特征
输出这个房屋的价格
气温预测
输入某个时刻
输出该时刻的气温
接下来,实验正式开始。
我们需要首先安装PrettyT ...
【操作系统】虚拟机(WSL2)的性能相比真机缩水了多少?
前言
这是操作系统课的一次作业,探究虚拟机的特性与运行效果。
什么是虚拟机?
虚拟机技术是一种在隔离环境中运行操作系统的技术,虚拟机便是通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。
中国IBM解释为:
虚拟机是物理计算机的虚拟表示形式或仿真环境。 虚拟机通常被称为访客机,而它们运行所在的物理计算机被称为主机。
虚拟化使人能够在一台物理计算机上创建多个虚拟机,每个虚拟机具有各自的操作系统 (OS) 和应用。虚拟机无法与物理计算机直接交互。 而是需要借助一个叫做虚拟机管理器的轻量级软件层,在它与底层物理硬件之间进行协调。虚拟机管理器将物理计算资源(例如处理器、内存和存储)分配给每个虚拟机。 它使虚拟机之间相互分离,从而互不干扰。
虚拟机有哪些?
目前的虚拟机主要分为两大类:Type1和Type2.
Type1虚拟机管理器直接在主机的物理硬件上运行,它被称为裸机虚拟机管理程序,它不必预先加载底层操作系统。通过直接访问底层硬件而无需其他软件(例如操作系统和设备驱动程序)。
Type2虚拟机管理器通常安装在现有操作系统之上,它称为托管虚拟机管理程序,因为它 ...
【ASC超算教程】Tensorflow模型优化思路
Tensorflow模型优化思路
前言
近年来AI模型成为ASC竞赛选题的香饽饽,如2022年的三四两题分别是基于pytorch的大型语言模型,和基于tensorflow的分子动力学模型。AI模型的优化可以从许多方面入手,本文参考w3cub的文档Tensorflow Guide,对其翻译与总结,介绍Tensorflow框架的通用优化思路。
注意:本文所讲方法仅供参考,帮助大家打开思路。你可能会发现这些方法并不会有太大效果,甚至没有效果。如果想有所突破,必须靠自己深度阅读代码,对症下药。
输入流水线优化
典型的模型从磁盘检索数据并在通过网络发送数据之前对其进行预处理。例如,处理JPEG图像的模型将遵循以下流程:从磁盘加载图像,将JPEG解码为张量,裁剪和填充,可能会翻转和扭曲,然后批量处理。这个流程被称为输入流水线。随着GPU和其他硬件加速器变得更快,数据预处理可能成为瓶颈。
确定流水线是否是瓶颈可能很复杂。最简单的方法之一是在流水线之后将模型简化为单个操作(平凡模型)并每秒测量示例。如果整个模型和平凡模型的每秒示例差异最小,则流水线可能是瓶颈。以下是一些确定问题的其他方法:
通过运行 ...
【ASC超算教程】怎么写Proposal?
前言
《超算竞赛导引》是由赛事官方编写的指导书。本文就书中的一些有用、重点的内容作摘要整理,并根据笔者自身经验加以补充,以助刚入门的同学快速了解、上手超算竞赛。欲见详细内容请自行购买、借阅书籍。
竞赛方案的要求将会随着竟赛细节的正式发布而公布。准备竞赛方案需要理论知识与实践动手能力的合理搭配。这份竞赛方案将被视为一份正式的设计报告,需清晰易懂地涵盖各种技术信息。竞赛报告应该包含不同的部分,以方便不同背景的读者阅读。
章节结构
竞赛方案应该包含主体部分和为主体提供补充说明的附录。对于概念、实验结果等信息,最好能用图表等更直观的方式表现出来,以帮助读者或者评委理解。
图表的呈现
接下来将介绍在方案中如何使用图表的形式将结果呈现出来。通过作图能够很好地反映出两个变量之间的关系(如加速比与CPU核数)。人们一般用x轴来表示自变量(如CPU核数),用y轴来表示因变量(如消耗时间)。坐标轴上应该标出尺度与单位来。图的范围应该以覆盖整个页面为宜。
在图表中使用合适的字体有助于更美观的信息呈现。图中的对象与字体一般用来表示某一主题以及解释一些想法与概念等。在使用线条时,应使用彼此之间易于区分的线条。例 ...