版本:Ubuntu,CentOS,Redhat
虚拟机软件:VMware Workstation版安装包–虚拟机-操作系统Ubuntu
软件工具 rufus-3.15.exe: http://rufus.ie/zh/
Ubuntu系统:https://ubuntu.com/
安装步骤(双系统):https://www.bilibili.com/video/BV11k4y1k7Li
双系统启动设置:sudo update-grub
https://blog.csdn.net/jyqxerxes/article/details/80355343
Ubuntu启动时只挂载系统所在的一个256G固态硬盘,而1T机械每次都得手动挂载。
sudo fdisk -l # 查看确认硬盘信息
# 查看UUID:
sudo blkid
# 打开/etc/fstab文件,在末尾增加一行: UUID=<磁盘或分区UUID> <挂载点> <文件系统> <挂载参数> <是否开机检查磁盘> <分区类型>
# 目录是一个专门供用户挂载磁盘的地方,在这里创建一个子目录,我创建了./sda1
#如果想让系统开机时检查这个磁盘就把倒数第二个参数改成1。
#最后一位数写2,因为这不是一个启动分区(1)或交换分区(0),否则开机等待90秒。
UUID=刚才查到的UUID /data/sda1 ntfs defaults 0 2
Ubuntu安装Pycharm:https://www.bilibili.com/video/BV16N411R7GC
Ubuntu安装截图软件Flameshot: sudo apt-get install flameshot
并设置快捷键:打开系统设置->设备->键盘拉到最下方,此处有个“+”添加自定义快捷键
名称:Flameshot
命令:/usr/bin/flameshot gui
参考:https://blog.csdn.net/qq_39543404/article/details/110121874
细节:1.解压,2.bin目录下**$ ./pycharm.sh**
创建pycharm快捷方式:https://blog.csdn.net/qq_20515461/article/details/90745100
【常用指令】:
显卡:AMD Radeon R5 M230 显存:2G
(base) pyl@PYL:~$ which conda
/home/pyl/Anaconda3/bin/conda
(base) pyl@PYL:~$ which python
/home/pyl/Anaconda3/bin/python
(base) pyl@PYL:~$ ipython
Python 3.7.4 (default, Aug 13 2019, 20:35:49)
~$ whereis python3
python3: /usr/local/bin/python3 /usr/local/python3
linux上进程有5种状态:
1)国内镜像源汇总
清华大学:https://pypi.tuna.tsinghua.edu.cn/simple
北京理工大学:http://mirror.bit.edu.cn/web/
中国科技大学 :https://pypi.mirrors.ustc.edu.cn/simple/
中国科学院:http://www.opencas.org/mirrors/
华中理工大学:http://pypi.hustunique.com/
山东理工大学:http://pypi.sdutlinux.org/
阿里云:http://mirrors.aliyun.com/pypi/simple/
豆瓣:http://pypi.douban.com/simple/
淘宝:http://npm.taobao.org/
网易:http://mirrors.163.com/
搜狐:http://mirrors.sohu.com/
Python安装包镜像源:http://npm.taobao.org/mirrors/python/
MySQL 国内镜像
北京理工大学:http://mirror.bit.edu.cn/mysql/Downloads/
搜狐:http://mirrors.sohu.com/mysql/
中国科技大学:http://mirrors.ustc.edu.cn/mysql-ftp/Downloads/
Linux国内镜像
centos
CentOS官网:http://www.centos.org/
CentOS搜狐镜像:http://mirrors.sohu.com/centos/
CentOS网易镜像:http://mirrors.163.com/centos/
CentOS北京理工大学镜像:http://mirror.bit.edu.cn/centos/
ubuntu
官方下载地址: https://www.ubuntu.com/download
阿里云开源镜像站: http://mirrors.aliyun.com/ubuntu-releases/
兰州大学开源镜像站 :http://mirror.lzu.edu.cn/ubuntu-releases/
北京理工大学开源 :http://mirror.bit.edu.cn/ubuntu-releases/
浙江大学: http://mirrors.zju.edu.cn/ubuntu-releases/
如果不希望打开cmd就激活conda的base环境:
conda config --set auto_activate_base false
删除:conda remove --name tf2 python=3.7
查看环境:conda info -e
conda create -n torchCpu19 python=3.7
#To activate this environment, use
#$ conda activate torchCpu19
To deactivate an active environment, use
#$ conda deactivate
conda install pytorch torchvision torchaudio cpuonly -c pytorch
ENV包括:
tensorflow 1.15.0 #tf2
tf2.1.0 #tf1
pytorch1.9.1 #torchCpu
tf1.15在其compat.v2模块中包含2.0 API的完整实现。其能够使用enable_v2_behavior()函数模拟2.0行为
Ubuntu下解决Pycharm无法正常输入中文的问题
https://blog.csdn.net/m0_54032194/article/details/119081008
#_*_coding:utf-8_*_ 表示指定文件编码格式
#!/home/pyl/Anaconda3/bin/python3
#!/python解释器的路径:用于操作系统直接执行文件选择的解释器
只有一个根目录 / 不分盘符
/bin :可执行二进制文件的目录
/etc :系统配置文件的目录
/home :用户家目录
ls 查看当前目录下的信息
pwd 查看当前目录
tree 查看多层目录信息 tree 文件夹名
clear
cd 目录 切换到指定目录
cd ~ 切换到当前用户的主目录
cd … 切换到上一级目录
cd . 切换到当前目录
cd - 切换到上一次的目录
绝对路径切换到桌面(两次TaB键显示提示:当前目录下有哪些东西)
cd /home/blackey/Desktop
相对路径
cd …/Desktop
touch 文件名 #增
1以绝对路径创建 touch /.111.txt
2创建多个:touch 1.txt 2.txt 3.txt
mkdir 目录名 #创建文件夹 -p 创建依赖文件夹
rm 文件名 #默认删文件
rmdir 目录名 #删除空目录==rm -d
cp 复制 # cp 1.txt AA
mv 移动,重命名 # mv AA CC
在终端显示的信息在文件里保存
“>” 相当于w操作:如 ls > ./Info.txt
“>>” 追加模式写入信息:ls >> ./Info.txt
追加写入自定义内容: echo “自定义内容” >> file1
cat 查看(多个)小型文件
管道 | 用于临时查看,不保存
如 ls /bin | cat # 管道相当于临时保存终端的容器
gedit 打开文件
more 分屏查看大型文件
command [-options] [parameter]
scp命令要求先[-opt]再参数
1.短选项 :-r
2.长选项:–help
查看命令帮助:
ls命令选项使用:
-l :以列表方式显示
-h :以大小单位显示,默认字节
-a :显示隐藏文件和目录
ls -alh == ls -a -h -l
ll == ls -la
e.g. drwxrwxr 3 blackey blackey 4.0k 10月 AA
**-**rwxrwxr - 表示普通文件 d 表示目录
说明:文件类型用户权限 硬链接数 用户名 用户组 文件大小 修改时间 文件名
软链接(快捷方式) ln -s 源文件(绝对路径) 快捷方式名
use: ln -s /home/blackey/桌面/ a.txt …/a_s.txt
文件类型:l … a_s.txt -> a.txt
硬链接 (源文件的别名) In 源文件 别名
use: ln a.txt a-h.txt #删除源文件,仍然能通过别名访问
搜索(在文本中): grep ‘搜索内容’ 文件地址 -n
-i 忽略大小写; -n 显示匹配行号; -v 搜索内容取反
结合正则表达式: ^ : 以指定字符串开头; $ : 以指定字符串结尾; . : 匹配一个非换行符的字符
grep ‘^d’ Note.txt -n : 以d 开头的行搜索
grep ‘s$’ Note.txt -n
grep ‘d.s’ Note.txt -n :用 . 替换字符,如查找des
查询文件名: 如 ls ./bin | grep ‘文件名’ #引号可以不加
查找:find ./ -name ‘11.txt’
通配符: * 代表0个或多个任意字符; ? 代表任意1个字符
如: find . -name 1?.txt # 用通配符,不能加引号
支持格式: .gz .bz2 ; .zip(压缩出来容量较大)
use: tar(压缩和解压缩) : tar -zcvf test.tar.gz *.txt (压缩) 解压:tar -zxvf test.tar.gz
(只支持解压到指定目录:tar -zxvf test.gar.gz -C File1)
tar -c 创建打包文件; -x 解包
-v 显示包里的文件 -f 指定文件名称,放在最后用
-z 压缩或解压; -C 解压到指定目录
# 针对 .bz2文件的解压:tar -jxvf test.bz2
zip zip testz.zip *.txt
unzip -d : (解压到指定目录)
修改文件权限: chmod u-r 1.txt
u :user g:grop o:othet a:all user
+ :增加权限 -:撤销权限 = :设置权限
权限包括: r, w, x(可执行), - (无权限)
chmod u+x fx.py
执行前需要先声明解释器:
which Python >> /home/pyl/Anaconda3/bin/python3
#!/home/pyl/Anaconda3/bin/python3
执行文件:./fx.py
反之为000: —
r :4 w: 2 x : 1 - :0 rwx: 7
sudo -s 进入管理员 root@PYL:~/Desktop#
exit pyl@PYL:~/Desktop$
passwd 修改密码
关机与重启:shutdown -h now reboot
1.创建用户组
sudo groupadd 用户组名
修改用户主组:sudo usermod -g 用户组名 用户组名1
删除用户组: sudo gropedel 用户组名
2.useradd 创建用户
sudo useradd -m -g pyler 创建用户及主目录 -g 设置主组
sudo passwd pyler 指定用户设置密码
su - pyler 切换用户
userdel 删除用户
sudo userdel -r pyler
apt list | grep openssh-server # (服务器端)查看软件是否安装
客户端(cmd): ssh -Vss
远程拷贝: scp 1.txt [email protected]:/home/pyl/Desktop # 本地远程拷贝至服务器
scp [email protected]:/home/pyl/Desktop/1.txt ./ #拷贝至本地
[拷贝文件夹需要 -r ]: scp -r
命令模式(默认) →(i) 编辑模式 esc →( 末行模式 esc
编辑模式 ( i )
末行模式 ( : )
保存&退出: wq 或 x 不保存强制退出:q!
其他指令:
yy 复制光标所在行 dd 删除光标所在行
u 撤销 ctrl+r 反撤销 p 粘贴
G 回到最后一行 gg 回到第一行
搜索:在末行模式:/搜索内容 下一个:n
修改: :26,29s/Hello/Hi #限定从26-29行的Helllo替换成Hi
离线安装:(包.deb)
sudo dpkg -i 包.deb
在线安装:apt-get
sudo apt-get install 安装包
查看所有安装文件: apt list
sudo dpkg -r 安装包名 (通过离线安装包软件的卸载)
sudo apt-get remove 包名
———————————————————————————————————
ndarray.shape 数组维度的元组
ndarray.size 元素的数量
ndarray.itemsize 一个元素的长度(字节)
创建数组
a = np.array([ [1,2],[2,3] ] , [ [3,4],[5,6] ]) # 三维数组,shape(高2, 行2,列3)
指定数组类型(不指定默认int64,小数默认float64)
如 np.object_ :Python对象
a = np.array( [ [1,2],[2,3] ] , [ [3,4],[5,6] ], detype=np.float32)
a = np.array([‘tensor’, ‘torch’, ‘python’], detype=np.string_)
生成数组:
f0 = np.ones([4,8]); np.zeros()
np.one_like(f0) #按f0的维度生成
f= np.array([ [1,2],[2,3] ] , [ [3,4],[5,6] ] ); # 深拷贝
np.asarray(f) #浅拷贝
生成指定范围:
np.linspace(0,100,10) # 从0-100等间隔生成10个数 num
np.logspace(0,100,2) # 0-100等2间隔生成 step
生成随机数组
np.random(2,3) # 2行3列随机数组
均匀分布–
#均匀分布的方差:值越大,数据越集中,瘦高
np.random.rand(d0,d1,…dn) #返回[0,1)内一组均匀分布的数
np.random.randint()
np.random.uniform(low=0, high=1,size=(3,5)) #从一个均匀分布[low,high)中随机采样,生成一个3行5列的数组
正态分布–api
np.random.normal()
数组索引,切片
[*, #]
形状修改:
对象.reshape # 产生新变量
对象.resize # 对原值更改
对象.T # 行列互换
类型修改
对象.astype()
数组去重
np.unique()
逻辑运算
stock = np.random.normal(0, 1, (8, 10) )
qiepian = stock[0:5, 0:5] #5行5列的值
qiepian[qiepian >1] =2 # 大于1的值赋值为2 $$大于小于直接判断,满足要求直接赋值
通用判断函数
np.all() # 所有要求满足才返回True
np.any() #满足任意要求返回True
三元运算符
np.where(val >0, 1 ,0) # val>0则赋值1,否则赋值0
np.where(np.logical_and(val >0.5, val<1),1,0) # 同时满足>0.5且<1赋值为1
np.where(np.logical_or()) # 或
统计指标
val.max(axis=1) # 按行求最大值
val.argmax(axis=1) #求行最大值的下标
midian() #中位数
mean() std() # 标准差
var() # 方差
arr = np.array([1,3,5,7,9])
arr += 1 # [2,4,6,8,10]
若:
A(3), B(3) 维度相等,可以运算
A( , 2, 1)
B(8, 1, 3), 相对位置维度为1,可以运算,
res(8, 2, 3)
arr1 = np.array([[1],[2]]) # shape(2,1)
arr2 = np.array([[1,2,3],[5,6,1]]) # shape(2,3)
print(arr1+arr2) # 可以运算,ans[[2,3,4],[7,8,3]],shape(2,3)
矩阵乘法
np.matmul(A, B)
np.dot(A, B) #区别:dot支持矩阵*数字
使用tqdm库
from time import sleep
from tqdm import tqdm
# 这里同样的,tqdm就是这个进度条最常用的一个方法
for i in tqdm(range(1, 100)): # 里面存一个可迭代对象
# 模拟你的任务
sleep(0.1)
print("任务结束")
TF的预训练模型:Inception V1-4 Inception-ResNet-v2 ResNet v1-2
* 过程
import tensorflow as tf
from tensorflow import keras
from tensorflow.python.keras.preprocessing.image import ImageDataGenerator
train_gen = ImageDataGenerator()
生产图片的批次张量值,提供数据增强
flow(x_train, y_train, batch_sz) # 如minister数据集的读取
本地数据集读取的方法:
flow_from_directory(directory=path, target_size=(h, w), batch_size, class_mode=‘binary’, shuffle=True)
class_mode=‘binary’ 表示目标值的格式为1D label
categorical 表示2D one-hot encoded labels
path的目录格式为固定的:data/train/dogs/内容;cats/内容;…
是否包含最后的3个全连接层,专用于做fine-tune
from tensorflow.python.keras.applications.vgg16 import VGG16
# 在__init__中添加
# VGG在imagenet比赛中预训练的权重,使用resnet训练
self.base_model = VGG16(weights='imagenet',include_top=False)
05第四节 04.21
++++++++++++++++++未完待续+++++++++++++++++
安装git: sudo apt-get install git
在工作区增删改:git add 文件或目录;git rm 文件; git checkout – 文件
工作区到暂存区:git add login.py
暂存区到仓库区: git commit -m “备注”
工作区直接到仓库区: git commit -am “备注”
创建仓库
git init
ctrl +h 显示隐藏文件夹 .git
$$创建用户信息:
git config user.name PYL
git config user.email [email protected]
$$ touch login.py
git status; git add . ; git commit -m “登录仓库完成”; git log
pyl@PYL:/media/pyl/HDD_disk/Gitclub$ git status
位于分支 master
尚无提交
未跟踪的文件:
(使用 "git add <文件>..." 以包含要提交的内容)
login.py
提交为空,但是存在尚未跟踪的文件(使用 "git add" 建立跟踪)
## 跟踪所有文件,提交到暂存区
pyl@PYL:/media/pyl/HDD_disk/Gitclub$ git add .
位于分支 master
尚无提交
要提交的变更:
(使用 "git rm --cached <文件>..." 以取消暂存)
新文件: login.py
## 提交到仓库区
pyl@PYL:/media/pyl/HDD_disk/Gitclub$ git commit -m "登录仓库完成"
[master (根提交) 79d8e03] 登录仓库完成
1 file changed, 0 insertions(+), 0 deletions(-)
create mode 100644 login.py
## 查看信息
pyl@PYL:/media/pyl/HDD_disk/Gitclub$ git log
commit 79d8e031b887170f40e4d70ff21c6c48ac67a0aa (HEAD -> master)
Author: PYL <[email protected]>
Date: Sun Oct 17 16:47:27 2021 +0800
登录仓库完成
回退版本: git reset --hard HEAD^ # 一个^ 表示向前回退一个版本 ,,或HEAD~4 ,回退4个版本
查看所有版本:git reflog # 当前为git log
79d8e03 (HEAD -> master) HEAD@{0}: reset: moving to HEAD^
ae34583 HEAD@{1}: commit: 优化更新
79d8e03 (HEAD -> master) HEAD@{2}: commit (initial): 登录仓库完成
回退到指定版本:git reset --hard ae34583
从暂存区回退到工作区:git checkout login.py
从服务器到本地 :git clone https://github.com/PYLuck/upy3.git