- 博客(139)
- 资源 (1)
- 收藏
- 关注
原创 安装python包时报‘HTMLParser‘ object has no attribute ‘unescape‘
安装python包时报'HTMLParser'object has no attribute'unescape'
2022-11-15 14:47:11 663
原创 selenium通过chromedriver打开网页提醒 Flash Player没有安装
selenium通过chromedriver打开网页提醒Flash Player没有安装
2022-06-10 13:04:27 345
原创 VS2019 将多个(窗口)选项卡同时并列显示
VS2019每次点击不同脚本窗口都会切换过去,如果要并列显示脚本窗口,可以在右上角的那个小图标上点一下,可以将选项卡保持在打开状态
2022-05-04 17:20:17 3350
原创 C++ sqlite3 0x00007FF9DA42F621 (ucrtbased.dll)处(位于 TestSqlite.exe 中)引发的异常: 0xC0000005: 读取位置 0x000000
最近使用C++ Sqlite3,通过回调函数获取查询的结果时报的错。搞了一上午不知道什么情况,后来发现是因为创建sqlite3时没有创建自增主键id,而sqlite3自动创建了一个id字段,但是该id不是必须存在自增的,所以返回null.导致通过column_value[i]获取值时报的错误。sqlite3创建自增主键id语句string createsql = "create table if not exists dtable (id INTEGER PRIMARY KEY AUTOINCR
2022-05-04 13:54:13 2340
原创 C++ 替换更新数组
其实要求不高,就是想用同一个变量不变,但是可以像python一样任意替换这个变量所代表的数组。不应该想着什么清空数组,然后将新的数组的值赋予原数组,还有考虑原数组的长度。直接用指针变量去替换就行了int a[] = { 1,2,3,4,5 };int b[] = { 333,4444 };int* arr = NULL;arr = a;cout << arr[0] << endl;arr = b;cout << arr[0] << en
2022-05-03 16:43:22 1152
原创 C++ map数组
其实map数组与一般的数组一样,声明方式:map<键类型xx,值类型xx> 数组名称xxx [ 元素个数x ]#include <iostream>#include<map>using namespace std;int main(){ map<string, string> data; data["_id"] = "7846464"; data["name"] = "老张"; data["comment"] = "记住:别想着返回
2022-05-03 13:44:33 5595 2
原创 ERROR: torch-1.11.0+cu113-cp39-cp39-win_amd64_2.whl is not a supported wheel on this platform.
ERROR: torch-1.11.0+cu113-cp39-cp39-win_amd64_2.whl is not a supported wheel on this platform.网上说是python不是64位的,通过输入python发现是64位的。后面发现自己手动下载的自动给后面添加_2的尾缀,删除掉变成torch-1.11.0+cu113-cp39-cp39-win_amd64.whl就好了...
2022-03-19 23:40:23 10463 1
原创 关于python字典的get方法添加默认值依旧返回None的原因
说明:python字典get方法返回默认值,仅适用于该字典中不存在的key,如果key存在,而key对应的值又是None,那么即时使用get添加默认值,也会返回Nonea = {'A':None}result = a.get('A',5)print(result)# None
2021-11-10 09:32:56 3666 1
原创 PyQt6中QImage没有byteCount方法了
PyQt6中QImage删除了byteCount方法,替代手法:通过每一行的字节数乘以图片高度# qimg为QImage类型byte_count = qimg.bytesPerLine()*self.height()
2021-10-10 10:03:20 598
原创 三句话理解tensorflow GAN中判别器trainable=False的风骚操作
第一句trainable 是层Layer上的属性,看源码就知道无论判别器还是生成器所创建的模型Model都是继承于Layer的。第二句trainable的作用就是绝定该层在训练时是否更新权重。当为True时则更新,为False时不更新第三句编译过后的模型其结构固定不会再变,直到再次编译,所以联合模型(对抗模型)编译前记录的是trainable=False的判别模型结构,与在默认trainable=True状态下编译后的判别模型本身没关系, 它们是两个模型。怎么理解?创建的模型都需要经过编译co
2021-09-16 15:51:46 1520
原创 关于tensorflow中Sequential与Model的模型输入与输出
看了网上很多关于Tensorflow的Sequential与Model的讲解,绝大部分都是照搬官方说明讲一遍。不想想要是官方说明说的清还会来看你的讲解?两者简单说明tf.keras.Sequential是通过序列层来构建模型的,其本身返回的还是一个继承tf.keras.Model的实例。tf.keras.Model是一个模型类,作用就是来构建模型的。输入与输出对于任何模型,最关键的就是其输入与输出,Tensorflow从设计上就通过类的参数来强势让你自己先理清什么是输入与输出。对于tf.kera
2021-09-08 16:24:48 6849 1
原创 一句话理解GlobalAveragePooling2D的算法效果
GlobalAveragePooling2D就是将每张图片的每个通道值各自加起来再求平均,最后结果是没有了宽高维度,只剩下个数与平均值两个维度。可以理解为变成了多张单像素图片。从形状上看:[B,H,W,C] ->GlobalAveragePooling2D -> [B,C]下面有1张图片,高宽分别是2像素,RGB3个通道。即[1,2,2,3]经过GlobalAveragePooling2D得到一个单通道单像素图片[1,3].其中RGB各分通道的像素值都加起来之后得到了一个平均值。imp
2021-09-02 15:01:14 6846 2
原创 关于tensorflow中Conv2D与Conv2DTranspose的same与valid算法
在tensorflow对图片的卷积操作,常用到2D卷积层Conv2D与2D反卷积层Conv2DTranspose。这些卷积层中都有两个个padding方式,“same"与"valid”same 保持输入输出宽高一致公式:Conv2D : W = ceil(W`/S)Conv2DTranspose : W = W`*SW`: 输入宽或高S: strides 步长ceil:向上取整import tensorflow as tfx = tf.random.normal((2,7,7,
2021-09-02 11:28:28 903 2
原创 一句话理解tf.keras.layers.UpSampling2D
UpSampling2DUpSampling2D就是对图片数据在高与宽的方向进行数据插值倍增参数说明tf.keras.layers.UpSampling2D( size=(2, 2), data_format=None, interpolation='nearest', **kwargs)参数: size: int或者tuple,行与列的采样数,一个int表示两个值都相同。 data_format: 数据格式。str, 默认"channels_last",还有"channels
2021-08-28 09:03:15 7328 2
原创 关于tf.keras.layers.Dense与tf.keras.layers.Flatten的区别
tf.keras.layers.Dense 全连接层该层的效果是将输入的最高维(也就是最后一维)转成指定的维度数如下例,将[5,2]形状的向量输入给Dense(8),最后输出形状维[5,8]import tensorflow as tfimport numpy as npinput_data = np.arange(10).reshape(5,2)input_data'''array([[0, 1], [2, 3], [4, 5], [6, 7],
2021-08-24 11:59:21 4712
原创 cgai-DD钉钉群机器人python3 API
一、简介cgai-DD是专门处理钉钉群机器人的python3 API,支持官方提供的5种格式:文本信息网页链接markdownActionCardFreecard二、安装pip install cgai-DD三、创建并获取群机器人Hook1.在钉钉桌面版里找到"智能群助手"2.点击"添加机器人"3.添加"自定义"4.自定义设置说明:必须要选择一种安全设置才能添加机器人。自定义关键词:所发送的信息中必须包含该关键词,无论是标题还是内容。加签名:需要HmacSHA
2021-08-06 14:45:37 509
原创 Message: ‘Selenium‘ executable may have wrong permissions.
今天使用python Selenium来操作网页,发现出现这个问题。我这里是window系统,如果是linux或者mac应该也一样,都是权限的问题。可以尝试如下解决办法:1.将pycharm或者其他IDE通过右键管理员的方式运行,或者直接兼容面板下设置管理员运行2.将chromedriver.exe驱动添加管理员权限3.保证chromedriver.exe驱动版本与你当前Chrome浏览器的版本一致...
2021-08-04 13:01:02 596
原创 PyQt5/Qt keyPressEvent由于焦点切换导致无法监听一些按键的解决方案
首先得明白keyPressEvent的监听机制:仅对当前覆写的keyPressEvent的组件实现自定义监听。所以如果当前焦点切换了,自然也就不对当前组件进行监听操作了。如果焦点是到了子组件身上,也会由于子组件的自身预设的快捷方式导致覆你设定的按键事件实效。归根结底是焦点的问题,尤其是子组件的焦点问题。所以我们只需要禁掉子组件的焦点功能即可。语法:child.setFocusPolicy(Qt.NoFocus)#C++child->setFocusPolicy(Qt::NoFocus)
2021-07-24 21:46:09 1958
原创 tf.split张量拆分(很简单)
tf.split的作用就是将张量按指定维度和分割个数拆分为子张量列表。源码解释tf.split( value, num_or_size_splits, axis=0, num=None, name='split')参数:value: 张量 num_or_size_splits:int或者一维张量或者list,将根据axis所指向的维度进行切分数据。 可以理解为切这个张量的分割量(注意不是比例)。 当时一个整数时,表示按该值均分,比如2,则一分为二,当是列表时,则按列表的元素值来分
2021-07-22 15:09:03 2014
原创 cgai-time一个简单又实用的时间日期处理python库
一、简介cgai-time一个简单又实用的时间日期处理python库,可以快速实现:日期格式化日期,时间计算涉及时分秒,年月日各方面计算日期格式要求:非时分秒日期格式:推荐的日期格式为%Y-%m-%d,比如:2021-07-20也支持数字数组格式表示,比如: (2021,7,20)时分秒格式:仅支持%Y-%m-%d %H:%M:%S,比如:“2021-07-20 09:43:49”建议以时间戳的形式计算时间计算,最后显示格式化日期二、安装pip install cgai
2021-07-20 14:24:39 263 1
原创 关于列表循环删除自身元素的问题
关于列表循环删除自身元素的问题不能在循环自身的时候删除自身元素!!!例:我想要删除a与start和end中共有的元素a = ['2021-07-01', '2021-07-02', '2021-07-03', '2021-07-04', '2021-07-05', '2021-07-06', '2021-07-07', '2021-07-08', '2021-07-09', '2021-07-10', '2021-07-11', '2021-07-12', '2021-07-13', '2021
2021-07-18 11:11:01 268
原创 cgai-io一个简单轻量又快速的文件/文件夹操作跨平台python库
一、简介1.cgai-io是针对文件以及文件目录进行快速复制与删除的python库,底层调用的是系统原生命令,支持跨平台,效率比shutil要快得多。2.支持目录删除保留原目录结构二、安装pip install cgai-io三、快速上手1.复制文件from cgai_io.Copy import copyfilesrc1 = r'D:\MZ\bg.jpg'des1 = r'D:\Temp\Test\bg.jpg'copyfile(src1,des1)2.复制文件目录from
2021-07-15 09:06:29 204
原创 python 判断一个变量是否为可执行函数
使用callable(xxx)来判定def func(): print('A')r = callable(func)print(r)#True
2021-07-15 08:46:27 413
原创 pandas水平concat后出现NaN值
pandas水平拼接result = pd.concat([df1, df2, df3,...], axis=1)问题原因:如果排除本身每个df自身有NaN值外,出现这种情况就是各df的索引顺序不统一。你可能是随机抽取的df数据,所以索引不一致。解决办法:重置索引方法一:使用reset_index重置df = df.reset_index(drop=True)drop=True表示删除原索引(可以理解为覆盖原索引),为False时,则会保留原索引,新增一列重置索引方法二:直接替换
2021-07-09 10:37:48 4328
原创 tensorflow2 当精准率accuracy一直浮动变化不大时的解决方案
解决方案调整batch_size大小。如果数据集少,则相对减少batch_size,其实是变相增加训练次数。模型中增加层。这是参数拟合上的效果,不管三七二十一,先过拟合再说。更换优化器。有时候adam模式一直不变,切换成RMSprop反而有奇效调整学习率。如果学习率过小会导致收敛太慢,accuracy上不去,适当增加一些。加大epochs。在前面方法都用尽的情况下,增加训练轮数往往能够实现逆转。...
2021-07-01 16:22:49 1835
原创 tensorflow2.5 loss损失值非常大,或者非常小
解决办法:数据是否归一化或者标准化处理过学习率是否比较大,一般归一化后0.001都算大了。
2021-07-01 16:20:00 1421
原创 关于tensorflow模型训练时loss: nan的问题
其他情况我不清楚,我这里查了半天,发现是csv数据集中有空值,也就是pandas里所说的null值。使用pandas函数dropna()去掉就好了。
2021-07-01 14:00:45 491
原创 关于Tensorflow输入数据的shape
关于Tensorflow输入数据的shape确定注意:1.模型数据输入的shape与batch_size无关!2.只有"单个"样本的shape有关!3.且只与样本的"特征数据"的shape有关,与标签shape无关!因为从框架设计上来说,每个人训练的输入batch_size不一定一样,所以模型输入shape就肯定不能带上batch_size。只当真正训练时,自动每批次求导即可。即,你每次输入1个样本,它就计算1个样本,求一次损失;如果你输入10个,那么它就计算10个样本,求其均值损失。ten
2021-07-01 10:21:49 2621 1
原创 cgai-socket一个轻量简单又快速的python socket库
cgai-socket介绍简单轻量又快速的python socket服务与客户请求库,支持绑定自定义函数安装pip install cgai-socket简例server:from cgai_socket.cgai_server import Serverdef func1(data): print('func1',data) return Nonedef func2(data,_id,_name): print('func2:',_id,_name)
2021-06-28 23:00:05 245
原创 ubuntu 安装TensorFlow tf.config.list_physical_devices(‘GPU‘)检测为[]
如果你更新了驱动,又下载了正确的cuda与cudnn版本,还是出现这个问题,那么可能是环境变量的问题。因为~/.bashrc是每个账户独立的。你在root权限下修改的bashrc其实没有影响你当前账户下的bashrc。所以你需要在你当前执行TensorFlow的账号下编辑bashrc,或者在/etc/profile里添加环境变量。例如:export PATH=/usr/local/cuda-11.2/bin${PATH:+:${PATH}}export LD_LIBRARY_PATH=/usr/l
2021-06-26 21:04:59 4262
原创 name ‘keras_applications‘ is not defined
TensorFlow官方文档里很多都是老版本的api也不更新一下。解决办法:使用tf.keras.applications代替keras_applicationshelp(tf.keras.applications.mobilenet_v2.preprocess_input)
2021-06-25 23:54:49 695
原创 TensorFlow的一些数据集
存一下,慢慢来添加flower_photos链接:https://pan.baidu.com/s/1dNw96k8gCdILdvbOAPj0rg提取码:CGAI
2021-06-25 17:57:27 236
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人