python learing
重智成城
重要的事情多了
展开
-
深度学习的经验
①由于时论文复现,暂时不考虑网络结构;②显存要大 8g③batchsize要适中,选择32或者64④善用pytoch的imageload 和 dataset 来进行预处理⑤训练时的结构:训练集与验证集同时出现。model.train() 开启BN 和Dropoutmodel.eval() 关闭BN 和Dropout,关闭后可以进行单张预测,不然就需要一个batchsize能预测成功for epoch in range(xxx): model.train()原创 2021-03-14 12:34:16 · 250 阅读 · 0 评论 -
未知
import numpydef cos(theta): return numpy.cos(theta)def sin(theta): return numpy.sin(theta)'''设置上面两个函数避免麻烦''''''变换矩阵的参数'''theta1=0#30/180*numpy.pitheta2=0#30/180*numpy.pitheta3=0#30/180*numpy.pitheta4=30/180*numpy.pitheta5=30/180*numpy.p原创 2021-03-01 22:36:52 · 287 阅读 · 0 评论 -
python_opencv颜色检测加自动跟踪
import cv2import numpy as np''''''tracker = cv2.TrackerKCF_create()video = cv2.VideoCapture(0)kernel = cv2.getStructuringElement(cv2.MORPH_RECT, (3, 3))''''''def roi_select(frame,): # 将图像转换到 HSV 空间 hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV原创 2021-02-22 16:13:42 · 348 阅读 · 0 评论 -
python-opencv颜色识别,圆检测。
import cv2import numpy as npcap = cv2.VideoCapture(0)while(1): # Take each frame _, frame = cap.read() frame1=frame.copy() # 将图像转换到 HSV 空间 hsv = cv2.cvtColor(frame, cv2.COLOR_BGR2HSV) # 设置 HSV 阈值到蓝色范围。 lower_blue = np.arr原创 2021-02-10 23:09:25 · 1414 阅读 · 1 评论 -
基于pybullet的机械臂导纳控制实验
基于pybullet的机械臂导纳控制实验——根据知乎韩冰老师的文章谢谢韩冰老师的原创图:这副图大概的意思是:对机械臂的末端执行器搭载的外部六维力矩传感器施加一个力,导纳控制公式,得到一个(x…加速度),加速度通过积分,可以使用梯形公式等数值积分方法得到(x.)速度,再通过积分得到(x)位置。上面的加速度,速度,位置都是施加力引起的位移变化,所以要在原来的位置上加上这些变化。随着力的施加,位置会发生变化。当力释放时,这个也是计算过程,机械臂会弹回原来的位置。所以要给在计算时,要给时间它复原。下面原创 2020-12-09 14:41:27 · 3110 阅读 · 5 评论 -
不用matlab,不用ros,用pybullet,完成机械臂的轨迹规划
import pybulletfrom time import sleepimport pybullet_data,pybullet_envs,pybullet_robots,pybullet_utilsfrom circle import draw_cirlceimport numpy############physicsClient = pybullet.connect(pybullet.GUI) #物理连接pybullet.setAdditionalSearchPath(pybull原创 2020-12-03 12:12:37 · 2895 阅读 · 0 评论 -
安装pybullet 时,可以在vs上装,不会出错
安装pybullet 时,可以在vs上装,不会出错原创 2020-12-02 11:13:06 · 692 阅读 · 2 评论 -
强化学习基础代码 pytorchs手写
import torchimport torch.nn as nnimport torch.nn.functional as Fimport numpy as npimport gym# Hyper ParametersBATCH_SIZE = 32LR = 0.01 # learning rateEPSILON = 0.9 # greedy policyGAMMA = 0.9 # reward discountTARGET_REPLACE_ITER = 100 # target upd原创 2020-11-25 17:44:28 · 422 阅读 · 0 评论 -
利用pytorch 实现BP网络异或功能,基于cuda加速
import torch as torimport torch.nn as nnimport torch.nn.functional as Fimport torch.optim as optimimport numpy as npdef f_function(x): x=np.mat(x) data=1+2*x+np.multiply(x,x)+ np.random.uniform(0.0001,0.0002,(1,1)) #注意是这样调用 #data1=0原创 2020-11-18 10:42:31 · 409 阅读 · 0 评论 -
激活函数的作用
使用pytorch弄一个单层网络,但是激活函数选择线性函数,不然永远达不到要求,激活函数的作用,摘自知乎。f(*)称为激活函数或激励函数(Activation Function),激活函数的主要作用是完成数据的非线性变换,解决线性模型的表达、分类能力不足的问题;激活函数的主要作用是改变之前数据的线性关系,如果网络中全部是线性变换,则多层网络可以通过矩阵变换,直接转换成一层神经网络。所以激活函数的存在,使得神经网络的“多层”有了实际的意义,使网络更加强大,增加网络的能力,使它可以学习复杂的事物,复杂的数原创 2020-11-16 23:36:51 · 3907 阅读 · 0 评论 -
最速下降法——实例(有点小错误,帮忙修改一下)
import numpy as np#import matplotlib.pyplot as pltdef f_function(x): data=0.5*x+1.8+np.random.uniform(0.01,0.02,(1,1)) #注意是这样调用 return data###生成带噪音的数据的公式def use_function(): x=np.mat(np.linspace(0,100,num=1000)) y=np.mat(f_function(x))原创 2020-11-16 10:36:16 · 334 阅读 · 0 评论 -
python的记录
①unicode与utf-8由于Python的字符串类型是str,在内存中以Unicode表示,一个字符对应若干个字节。如果要在网络上传输,或者保存 到磁盘上,就需要把str变为以字节为单位的bytes。从网页上获取的数据大多是utf-8类型。服务器上存储着网页的数据,使用的是unicode编码。输出在使用者面前,可阅读的则是utf-8编码。如果我们从网络上获取的数据是属于bytes类型的,这个时候需要将其转换为str类型。使用decode()函数 b'\xe4\xb8\xad\xe6\x96\原创 2020-08-12 14:18:41 · 140 阅读 · 0 评论 -
正则表达式的学习
正则表达式正则表达式是对字符串操作的一种逻辑方式,就是用实现定义好的特定字符和这些特定字符的组合组成一个规则字符串,这个规则字符窜用来表达对字符窜一种过滤逻辑。match方法re.match(pattern,string,flags=0)其中:pattern是正则表达式,包含一些特殊的字符,使用者需要的字符string为要待匹配的字符串flags用来控制正则表达式,如区分大小写,多行匹配等import rem=re.match('abc','abcdefg') #pattern 为原创 2020-08-11 15:31:22 · 128 阅读 · 0 评论 -
python3的初认识
name = "ada lovelace" print(name.title())作用:首字母大写print(name.upper()) print(name.lower())作用:全部字母大写/小写first_name = "ada"last_name = "lovelace"full_name = first_name + " " + last_nameprint(full_name)作用:合并字母print("\tPython")print("Languages:\nPy原创 2020-08-05 19:46:47 · 225 阅读 · 0 评论