- 博客(22)
- 收藏
- 关注
原创 stable diffusion webui安装和运行中出现的bug及解决方式
webui的运行实在名为venv的虚拟环境中进行的,所以通过launch.py运行的时候,一定要先通过激活虚拟环境venv。
2023-04-12 14:36:41 12465 5
原创 torch.gather()用法详解
官方示例链接:https://pytorch.org/docs/stable/generated/torch.gather.htmltorch.gather(input, dim, index, *, sparse_grad=False, out=None) → Tensor# 沿由 dim 指定的轴收集input的值,其输出形状与index相同。input (Tensor) – the source tensordim (int) – the axis along which to inde
2022-04-17 20:29:40 3328
原创 sklearn.metrics 用法详解
挖个坑参考链接:[1] https://scikit-learn.org/stable/modules/model_evaluation.html[2] https://blog.csdn.net/qq_27575895/article/details/83781069用法概览数学原理实例
2022-04-11 15:34:09 16647 2
原创 闲时GPU占用脚本
为了防止做深度学习的时候出现较长时间的GPU空间,用bash写了个GPU检测的程序。主要就是通过nvidia-smi的API获取当前节点上GPU的使用情况,如果空闲内存小于所需的最小内存就一直等待,大于则执行code.sh文件。#!/bin/bash# use 'nvidia-smi' API to get used memorymemory=`nvidia-smi --format=csv,noheader --query-gpu=memory.free -i 0`memory=${memor
2022-03-30 15:02:18 1404
原创 tensorboard 主要用法
renderNumberedHeading: truegrammar_cjkRuby: truegrammar_mathjax: truetensorboard主要是用于记录训练过程中的各种参数,基本上可以把展现出所有的训练细节。对于改进模型的有着极大的益处。from datetime import datetimefrom tensorboardX import SummaryWriter# TIMESTAMP用于新建一个文件夹,存储不同时间训练得到的结果TIMESTAMP = "{0:.
2022-03-26 23:13:41 915
原创 python,numpy中一些与矩阵变化相关的问题
1、保留两个矩阵中对应位置较大(较小)的值import numpy as nparr1 = np.random.randint(1,10,[3,3])arr2 = np.random.randint(1,10,[3,3])arr = arr1 * (arr1 > arr2) + arr2 * (arr2 > arr1)
2021-12-16 19:29:30 517
原创 os.walk()遍历文件夹下所有文件
用法:os.walk(top[, topdown=True[, onerror=None[, followlinks=False]]])参数:top – 是你所要遍历的目录的地址, 返回的是一个三元组(root,dirs,files)。root 所指的是当前正在遍历的这个文件夹的本身的地址dirs 是一个 list ,内容是该文件夹中所有的目录的名字(不包括子目录)files 同样是 list , 内容是该文件夹中所有的文件(不包括子目录)topdown --可选,为 True,则优先遍
2021-09-28 20:36:01 1349
原创 python中图像的读取、存储与显示
主要讲一下关于图片的读取、显示以及保存,包括用transform预处理过的图片。(后来发现预处理过的图片没多大变化,不需要单独列出)1、PIL中的Image类可以利用PIL中的Image类来读取图片,Image是一个类,它的常用方法有open(),save(),show(),spilt()和merge()等。更多方法from PIL import Imageimport numpy as npfile_path = '/home/fj/Pictures/85mm'img = Image.ope
2021-06-25 17:45:38 1524
原创 Linux 深度学习踩过的坑
1、Python之 /usr/bin/python^M: bad interpreter: No such file or directory所遇问题: 在windows系统下写的python脚本,在linux下赋予权限chmod +x xxx.py 以后,执行./xxx.py运行提示:bash: /usr/bin/autocrorder: /usr/bin/python^M: bad interpreter: No such file or directory分析: 这是不同系统编码格式引起的:在wi
2021-06-25 14:17:27 265
原创 pytorch 踩坑笔记
本来应该很早就写一个的,现在也不晚,慢慢记录吧1、数据同时存在于CPU和GPU上报错:RuntimeError: Expected all tensors to be on the same device, but found at least two devices, cuda:0 and cpu!代码片段class Linear(nn.Module): def __init__(self,in_features=1024,out_features=31, momentum=0.9):
2021-06-22 20:58:36 2260
原创 pytorch计算图
计算图(Computational Graph),叶子节点和运算节点仅仅只是个人对于pytorch中计算图的理解一个计算图由两部分构成:数据节点和运算节点,数据节点包含叶子节点和非叶子节点,运算节点也称运算操作。数据可以在计算图上正向传播也可以反向更新。叶子节点: 凡是具有requires_grad = False属性的Tensor都是叶子节点,但是并不是所有叶子节点的requires_grad都是False;那些由使用者自己定义的requires_grad = True的数据节点也是叶子节点,这
2021-06-22 12:42:37 1755
原创 如何创建一个Tensor
首先简单说明一下什么是Tensor,它指的是高维张量,存在于n维空间;其维度不同于向量或矩阵的维度,他们只存在于平面上;与numpy里的Array比较类似。可以将其维度看作“[”括号的个数。其中每个数字代表的就是中括号里元素的个数,2就是最外成的中括号里有2个元素,这里将每个中括号看作一个元素。2和3同理。这样的话,任意给定一个高维的张量,也能判断它的形状了。再就是axis的理解。从输出结果看,axis从小到大指定的就是shape输出里从左至右的维度。比如3,就是值最里层的那个中括号里有三个元素。ten
2021-06-22 11:45:16 4945
原创 TensorFlow中Optimizer.minimize()与Optimizer.compute_gradients()和Optimizer.apply_gradients()的用法
1、Optimizer.minimize()实际上根据官方文档的说明,minimize()就是compute_gradients()和apply_gradients()这两个方法的简单组合,minimize()的源码如下: def minimize(self, loss, global_step=None, var_list=None, gate_grad...
2019-10-22 19:25:20 16942 6
原创 TensorFlow中读取数据的方法及其优缺点(二)
首先简单说明一下用到的函数,自定义函数“_parse_function”可以看做一个解析函数,将包含路径的文件名称映射到对应的图片数据上,返回图片数据、图片名称和对应的类别。“tf.data.Dataset.map()”其用法如下,这个映射将map_func应用于此数据集的每个元素,并返回一个包含已转换元素的新数据集,其顺序与输入中出现的顺序相同。map( map_func,...
2019-09-26 23:11:54 564
原创 TensorFlow中读取数据的方法及其优缺点(一)
使用queue读硬盘中的数据,详细过程可以参考:https://zhuanlan.zhihu.com/p/27238630【(占坑)关于文件读取部分,列出胡所有文件的文件名】以上图片为例。用queue方法读取为batch。主要函数是tf.train.string_input_producer,现已更新为“tf.data.Dataset.from_tensor_slices(stri...
2019-09-26 20:50:46 744
原创 python中的argparse模块
官方文档:https://docs.python.org/3.7/library/argparse.html#the-parse-args-methodargparse模块可以让用户轻松编写命令行界面。 该程序定义了它需要的参数,argparse将指出如何解析sys.argv(一个传递给Python脚本的命令行列表)中的参数。 当用户给程序提供无效参数时,argparse模块还会自动生成帮助和...
2019-09-20 10:11:19 418
原创 resnet_v1_50源码的理解与分析
源代码链接:https://github.com/tensorflow/models/blob/master/research/slim/nets/resnet_utils.pyhttps://github.com/tensorflow/models/blob/master/research/slim/nets/resnet_v1.py1、TensorFlow中resnet_v1_50的用法...
2019-09-10 20:40:39 3343
原创 python中数据类型(array,str,list)之间的转换
import numpy as npfrom numpy import randomrandom.seed(5)array = random.standard_normal(10)print(array)# array to listlist_ = list(array) # 由float数字类型组成的listprint(list_) # list to strings...
2019-07-17 16:34:18 4584
原创 python中的修饰符以及@tf.custom_gradient用法
1. 修饰符首先说一下修饰符“@”,其功能是在不改变原有函数内部代码的基础上,拓展原函数的功能。由于python里一切皆是对象,所以一个函数的形式参数可以是另一个函数,同时也可以返回一个函数。如这篇文章中的例子,我们定义了一个函数get_text,再将其作为p_decorate的参数输入,最后返回函数func_wrapper。def get_text(name): return "...
2019-07-11 21:51:04 5628 2
原创 numpy中张量维度的简单理解
接触numpy不久,一直不太理解里面的张量还有axis轴究竟是个什么东西。貌似随便给我一个高维的张量都不能描述它的shape是什么样的。后来自己仔细研究了一下,有所收获。 首先,张量不同于向量或者矩阵。一维的张量是没有行与列之分的。import numpy as npA = [1, 2]B = [[1],[2]]a = np.array(A)b =...
2019-05-19 15:53:54 4257 1
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人