- 博客(15)
- 收藏
- 关注
原创 pytorch 中的nn.BCELoss 和 nn.CrossEntropyLoss 的数学计算
在分类问题和概率预测问题,我们经常会用到torch.nn中的binary cross entropy loss和cross entropy loss。那么这两者之间有什么区别,其输出是依据怎么样数学呢?
2023-03-15 11:13:50
130
原创 colab 中model输出为nan
在colab运行,使用pytorch训练了一个model,但输出经查看为nan。查看loss,发现loss在训练中已经为nan。重新启动代码执行程序后,问题解决。
2021-09-08 17:40:41
327
原创 pytorch中detach()和with torch.no_grad()的区别
当我们参考一些基于pytorch的深度学习代码时,不难发现当我们不希望计算被反向传播,进入梯度计算时,会使用到detach()或with torch.no_grad().那么两者有些什么区别呢?当我们使用with torch.no_grad()时,我们即创建了一张图,在这张图中,所有的计算都不会进入梯度计算。但当我们使用detach()时,我们则是将一个变量从图中剥离出来进而使得此变量的计算不会进入到梯度计算中。...
2021-07-03 16:25:58
1549
2
原创 policy gradient 在pendulum环境中的实现
这个policy gradient代码是在tensorflow的框架中完成的,并且是基于openai gym 中的pendulum环境。此代码有借鉴莫凡老师的相关代码。有必要记录的一点是关于 self.sample_op = tf.squeeze(self.pi.sample(1)), 当没使用 tf.squueze 时,总会出现关于state shape的报错。尽管此时state已经是(1,3)的shape,但是会报错说是(3,1,1)的shape。要记得使用tf.squeeze。import ten
2021-02-08 00:43:05
479
2
原创 如何计算神经网络的参数
如何计算神经网络的参数在比较两个神经网络结构时,我们往往需要尽量保证两个网络所包含的参数数量相近。因此,计算网络参数数量就很有必要了。 卷积神经网络parameters=(w∗h∗fprevious+1)∗fcurrentparameters = (w*h*f_{previous}+1)*f_{current}parameters=(w∗h∗fprevious+1)∗fcurrentw,h 为当前卷积层filter的width和hight。 fpreviosuf_{previosu}fpr
2021-02-05 21:09:07
1080
原创 tf.distributions.Categorical 工作原理
一般用法tf.distributions.Categorical(logits).log_prob(index)作为一个离散型分布,一个神经网络会输出分类数量长度的向量。举例,有4类,输出为[1,2,3,4]。我们想知道第三类(index 为 2)的log probability。此时只需将[1,2,3,4]作为参数logits,2作为参数index。其计算prob(index=2)=e3e1+e2+e3+e4=0.23688log_prob=log(0.23688)=−1.4402prob(in
2020-12-12 07:46:46
3211
1
原创 conda环境配置 linux (tensorflow)
下载conda,此处推荐Anaconda。下载地址进入下载conda的文件夹,运行如下命令conda文件可被执行。chmod +x [conda文件名]在terminal运行conda文件。将conda的环境变量加入bashrc文件。环境变量大概长这样: export PATH=/home/[你的用户名]/anaconda3/bin:$PATHcdgedit .bashrc重新打开终端。以后想打开虚拟环境只需要source activate [自创的环境名].con..
2020-12-09 04:00:58
276
原创 拉格朗日乘子法 (Largrange Multiplier)
看到一篇关于拉格朗日乘子法很好的讲解https://www.cnblogs.com/mo-wang/p/4775548.html
2020-11-09 20:58:47
601
原创 transfer learning 实际应用于图像分类
关于CNN, 浅层的卷积层的output是low-level的特征如线, 越深层特征level越高。因此当迁移目标和训练目标相似时,取深层。当需要运用 transfer learning 在不同feature space 上的图片时。 一般有以下几种做法。将pre-train的model或者部分model当做feature extracter可以将pre-train的model参数冻结接到新的model上可以将pre-train model 接到新model上,但使用一个较小的lr。这时,比较像当
2020-10-27 19:52:12
204
原创 Keras image flow from directory
在使用Keras做图像分类时,我们构建数据集一般是使用flow from directory而不是直接加载整个数据集。而使用flow from directory一般有两个办法。tf.keras.preprocessing.image_dataset_from_directory( directory, labels="inferred", label_mode="int", class_names=None, color_mode="rgb", b
2020-10-26 04:45:31
360
原创 global_step不随训练变化
今天运行代码时发现,跑完后 loss 记录出现问题。相关代码如下,记录loss时调用了global_step。但结果global_step一直未随网络update变化。self.summaries = tf.summary.merge([ tf.summary.scalar("loss", self.loss), tf.summary.scalar("loss_state", self.loss_state), tf.summary.
2020-10-17 01:57:28
276
原创 Unable to contact my own serve
Unable to contact my own server今天运行ros的时候,突然蹦出个如题的错误。查看了网上的一些解决方法但都没能解决。 然后发现网络的ip地址变了。打开。打开 .bashrc 把ip地址改为新的ip地址即可。
2020-08-12 22:22:38
366
原创 update-alternatives: error: no alternatives for g++处理
Ubuntu 16.04 无法使用alternativeUbuntu 16.04 自带的c++是5.0版本和有些scripts不兼容。之前我有下载过才c++7,但是始终用不了也没法将其写入alternative。也无法用以下代码configure。sudo update-alternatives --config g++会报错。update-alternatives: error: no alternatives for g++.得其原因,需用以下代码将默认文件修改为使用c++7.sudo
2020-07-03 21:47:37
6611
1
原创 在一个python文件中运行另一个python文件
在一个python文件中运行另一个python文件尝试用下面代码实现运行另一个py文件时,显示了error sh: /Users/<user>/Desktop/<scriptname>.py: Permission denied。import osos.system("python filename.py")报错原因,这个cmd只能运行当前目录下的py文件,如需运行其他目录下的文件,需使用下面代码。loc为文件的绝对地址。os.system('{} {}'.format(
2020-06-27 21:48:21
5745
原创 将tensor转换成numpy
将tensor转换成numpysess =tf.Session() #定义一个sessionimage_decoded1=image_decoded1.eval(session=sess)这时候tensor就已经被成功转换,即可进行np的操作了。
2020-06-26 16:23:57
2671
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人