Python
# 1.numpy
c = c.ravel()
将多维数组拉平
# 2.time
tic = time.time()
toc = time.time()
print(str(1000*(toc- tic))+"ms")
概念
1.
零次学习
1.零次学习
1.零次学习
Zero-Shot Learning是一种机器学习问题,旨在让模型能够识别从未见过的类别,只需利用已知类别的信息进行推理。
2.
O
N
N
X
2.ONNX
2.ONNX
1.1 什么是 ONNX
开放神经网络交换 ONNX(Open Neural Network Exchange)是一套表示深度神经网络模型的开放格式,由微软和 Facebook 于 2017 推出,然后迅速得到了各大厂商和框架的支持。通过短短几年的发展,已经成为表示深度学习模型的实际标准,并且通过 ONNX-ML,可以支持传统非神经网络机器学习模型,大有一统整个 AI 模型交换标准。
1.2 ONNX 的核心思想
ONNX 定义了一组与环境和平台无关的标准格式,为 AI 模型的互操作性提供了基础,使 AI 模型可以在不同框架和环境下交互使用。硬件和软件厂商可以基于 ONNX 标准优化模型性能,让所有兼容 ONNX 标准的框架受益。目前,ONNX 主要关注在模型预测方面(inferring),使用不同框架训练的模型,转化为 ONNX 格式后,可以很容易的部署在兼容 ONNX 的运行环境中。
3.
T
r
a
n
s
f
o
r
m
e
r
3.Transformer
3.Transformer
Transformer 是 Google 的团队在 2017 年提出的一种 NLP 经典模型,现在比较火热的 Bert 也是基于 Transformer。Transformer 模型使用了 Self-Attention 机制,不采用 RNN 的顺序结构,使得模型可以并行化训练,而且能够拥有全局信息。
指定GPU运行python程序
一、命令行运行python程序时
1、首先查看哪些GPU空闲,nvidia-smi显示当前GPU使用情况。
nvidia-smi
2、然后指定空闲的GPU运行python程序。
CUDA_VISIBLE_DEVICES=0,2,3 python test.py
二、在python程序中指定GPU
import os
os.environ["CUDA_VISIBLE_DEVICES"] = "0,2,3"
PS:周期性输出GPU使用情况
每 10s 显示一次GPU使用情况:
watch -n 10 nvidia-smi
ipynb文件
有时候github打不开ipynb文件,可以尝试
https://nbviewer.org/
粘贴进去链接。
服务器安装python包缓慢
可以使用
pip install 安装包 -i https://pypi.tuna.tsinghua.edu.cn/simple
pip install torch==1.9.1+cu111 torchvision==0.10.1+cu111 -f https://download.pytorch.org/whl/torch_stable.html -i https://pypi.tuna.tsinghua.edu.cn/simple
可视化代码
对模型运行的mask添加到原始图片中显示
def show_anns(anns):
if len(anns) == 0:
return
sorted_anns = sorted(anns, key=(lambda x: x['area']), reverse=True)
ax = plt.gca()
ax.set_autoscale_on(False)
img = np.ones((sorted_anns[0]['segmentation'].shape[0], sorted_anns[0]['segmentation'].shape[1], 4))
img[:,:,3] = 0
for ann in sorted_anns:
m = ann['segmentation']
color_mask = np.concatenate([np.random.random(3), [0.35]])
img[m] = color_mask
ax.imshow(img)
plt.imshow(image)
show_anns(masks)
plt.savefig('./test2.jpg')
[代码链接](https://github.com/facebookresearch/segment-anything/blob/main/notebooks/automatic_mask_generator_example.ipynb)
plt画图
plt.axis('off') 去除坐标轴
plt.savefig('./test2.jpg',bbox_inches='tight', pad_inches=0.0)去除空白