自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(21)
  • 收藏
  • 关注

原创 web3py 环境搭建

pycharm,python的环境搭建我就不赘述了,网上一大堆。第一步直接pip install web3,我安装的过程报了一个错,弄好了好久,错误跟这个一样,我直接安装下载这个链接。电脑花7个G的硬盘,节约了很多时间。第二步web3安装好了后,去https://infura.io/网站注册,然后创建一个项目,然后把这个红色箭头所指的网站复制一下。在pycharm中,输入from web3 import Web3infura_url = 'https://mainnet.infura.io/

2021-11-03 16:15:04 739

原创 Tensorflow 2. 0 自动求梯度

Tensorflow 自动求梯度import tensorflow as tfimport timeita = tf.constant(1.)b = tf.constant(2.)c = tf.constant(3.)w = tf.constant(4.)with tf.GradientTape() as tape: tape.watch([w]) y = a * w **2 + b *w +c[dy_dw] = tape.gradient(y, [w])print

2020-11-27 14:57:21 185

原创 第2章 神经网络的数学基础

2.2 神经网络的数据表示张量:数字的容器。2.2.1 标量(0D张量)仅包含一个数字的张量叫做标量(scalar, 也叫标量张量,零维张量,0D张量)使用ndim属性查看Numpy张量的轴的个数。标量张量有0个轴(ndim == 0)。张量轴的个数也叫阶(rank)import numpy as npx = np.array(12)x>>> array(12)x.ndim>>> 02.2.2 向量(1D张量)一维张量只有一个轴。一个轴称作一个阶

2020-11-22 15:56:01 270

原创 第7章 优化与深度学习

7.2.4 随机梯度下降在深度学习中,目标函数通常是训练数据集中有各个样本损失函数的平均。损失函数:f(x)=1n∑i=1nfi(x)f(x)= \frac{1}{n}\sum_{i=1}^nf_i(x)f(x)=n1​i=1∑n​fi​(x)n是训练数据样本数x是模型的参数向量随机梯度下降(stochastic gradient descent, SGD)减小了每次迭代的计算开销。 而随机梯度下降在每次迭代中只随机采样⼀个样本来计算梯度7.3 小批量随机梯度下降使用一个小批量的平均

2020-11-18 20:00:37 363

原创 第三章 深度学习基础

跟着《动手学深度学习》学习3.2 线性回归的从零开始实现书中使用的是mxnet,我参照着并用numpy自己实现。具体题目可看书中3.2章节。import numpy as npimport matplotlib.pylab as pltnum_inputs = 2num_examples = 1000true_w = [2, -3.4]true_b = 4.2# 定义数据features = np.random.normal(scale=1, size=(num_examples,

2020-11-04 16:50:13 830

原创 第2章 函数

第14条:尽量用异常来表示特殊情况,而不要返回None异常情况时,不要返回None。解决方法:1.返回一个二维数组表示异常:元组中第一个元素表示操作是否成功。第二个元素才是真正的运算结果。直接抛出异常给上一级。def divide(a, b): try: return a / b except ZeroDivisionError as e: raise ValueError('Invalid inputs') from e第15条:了解...

2020-10-29 13:54:04 152

原创 第1章 用Pythonic方式来思考

第1条pass第2条:遵循PEP8风格指南使用space(空格)来表示缩进,而不要用tab和语法相关的每一层都用4个空格来表示每行的字符数不超过79受保护的实例属性,应该以单个下划线开头私有的实例属性,应该以两个下划线开头类与异常,应该以每个单词首字母均大写的形式来命名模块级别的常量,应该全部采用大写字母来拼写,各单词之间以下划线相连if a is not b 而不是 if not a is b不要通过检测长度的方法(if len(somelist) == 0)来判断somelist

2020-10-27 17:14:46 141

原创 第7章 卷积神经网络

7.1 整体结构全连接和CNN的对比7.2 卷积层7.2.1 全连接层存在的问题MNIST数据集例子中,图片是2828的,但是训练/预测时,将2828的数据排列成一列, 以784个数据的形式输入到神经网络。忽略了数据的“形状”图像通常是高,长,通道方向上的三位形状。这个形状中包含了重要的空间信息。而全连接神经网络忽视了这个信息。而卷积层可以保持形状不变。当输入数据是图像时,卷积层会以3维 数据的形式接收输入数据,并同样以3维数据的形式输出至下一层。因此, 在CNN中,可以(有可能)正确理解图

2020-10-27 10:20:44 716

原创 第7章 数据清洗和准备

7.1 处理缺失数据np.nan: 表示缺失数据,可通过isnull()函数检测出理缺失数据的函数滤除缺失数据通过dropna方法,返回一个近含非空数据和索引值的Series等价于dropna默认丢弃任何含有na的行,通过传入how = all将只丢弃全为NA的那些行。thresh参数可设置清洗的阈值填充缺失数据主要方法是fillna方法,通过df.fillna(0)方法将缺失值设置为0若是通过一个字典调用fillna,就可以实现对不同的列填充不同的值:fillna默认会返

2020-10-26 21:18:55 136

原创 第9章 绘图和可视化

9.1 matplotlib API入门Figure和Subplotfig = plt.figure():创建一个新的Figure创建子图ax1 = fig.add_subplot(2, 2, 1)解释:图像有2 * 2 个子图,当前选中的4个子图中的第一个(编号从1开始)。调整subplot周围的间距默认情况下,matplotlib会在subplot外围留下一定的边距,并在subplot之间留下一 定的间距。间距跟图像的高度和宽度有关,因此,如果你调整了图像大小(不管是 编程还是手工

2020-10-26 21:18:25 163

原创 第8章 数据规整:聚合,合并和重塑

8.1 层次化索引层次化索引,让你能在一个轴上拥有多个索引级别。让你能以低维度形式处理高维度数据。

2020-10-26 21:18:07 190

原创 第6章 数据加载,存储与文件格式

6.1 读写文本格式的数据读取数据函数的选项可分为以下几大类:索引: 将一个或多个列当做返回的DataFrame处理,以及是否从文件、用户获 取列名。类型推断和数据转换:包括用户定义值的转换、和自定义的缺失值标记列表 等。日期解析:包括组合功能,比如将分散在多个列中的日期时间信息组合成结果 中的单个列。迭代:支持对大文件进行逐块迭代。不规整数据问题:跳过一些行、页脚、注释或其他一些不重要的东西(比如由 成千上万个逗号隔开的数值数据)。逐块读取文本文件读大文件之前,先设置最大的显示行数

2020-10-26 21:17:45 97

原创 第6章 与学习相关的技巧

6.1 参数的更新神经网络的学习的目的是找到使损失函数的值尽可能小的参数。这是寻找最优参数的问题,解决这个问题的过程称为最优化。SGD使用参数的梯度,沿梯度方向更新参数,并重复这个步骤多次,从而逐渐靠近最优参数。数学公式:W←W−η∂L∂WW \leftarrow W-\eta\frac{\partial L}{\partial W}W←W−η∂W∂L​代码:class SGD: def __init__(self, lr = 0.01): self.lr = lr def updat

2020-10-26 21:15:16 177

原创 第五章 误差反向传播

5.1.2 局部计算局部:这个词的意思是“与自己相关的某个小范围”。局部计算是指,无论全局发生了什么,都能只根据与自己相关的信息输出接下来的结果。5.5 激活函数层的实现5.5.1 ReLU层Relu公式:y={x(x>0)y(x≤0) y=\left\{\begin{aligned}x & & (x > 0) \\y & & (x \leq 0) \\\end{aligned}\right.y={xy​​(x>0)(x≤0)​R

2020-10-24 16:37:50 395

原创 第四章 神经网络的学习

4.1 从数据中学习从数据中学习,是指可以由数据自动决定权重参数的值。4.2.3 mini-batch学习为什么使用mini-batch:当数据很多很多时,一次性计算全部数据的损失函数是很漫长且不现实的。因此,从中挑选出一部分,作为全部数据的“近似”。4.4 梯度使用定义计算梯度。def numerical_gradient(f, x): h = 1e-4 grad = np.zeros_like(x) for idx in range(x.size): tmp_val =

2020-10-23 19:19:17 255

原创 第三章 神经网络

3.3 np.shape返回值问题定义一个数组,使用np.shape查看数组的shape时,有时会返回例如(4,)这样的。 import numpy as np A = np.array([1,2,3,4]) >> A.shape >(4,)这里A.shape返回的是一个元组,这是因为一维数组的情况下也要返回和多维数组的情况一致的结果,所以才返回一个不完全的元组(4,)。3.5 实现softmax函数时的注意事项softmax函数的缺陷:softmax进行指数运算时,随

2020-10-23 14:45:15 330

原创 第5章 pandas入门

5.1 pandas的数据结构介绍pandas有两个数据结构:Series 和 DataFrameSeriesSeries是一种类似于一维数组的对象,它由一组数据(各种NumPy数据类型)以及 一组与之相关的数据标签(即索引)组成。Series的字符串表现形式为: 索引在左边,值在右边。.values返回值,.index返回索引值obj = pd.Series([4, 7, -5, 3])>> obj>0 4 1 7 2 -5 3 3 dtype: int64

2020-10-21 10:49:45 247 2

原创 第四章 Numpy 基础:数组和矢量运算

4.1 Numpy 的ndarry: 一种多维数组对象Numpy 最重要的就是N维数组对象------ndarray。ndarray是一个通用的同构数据多维容器,即其中所有的元素必须是相同类型的。每个数组都有一个shape 和 dtype(说明数组数据类型的对象)创建ndarrayarray函数用于创建数组,接受一切序列型的对象。data1 = [6, 7.5, 8, 0, 1]arr1 = np.array(data1)>> arr1 = array([ 6. , 7.5, 8.

2020-10-20 11:16:26 224

原创 第三章 Python的数据结构,函数和文件

3.1 数据结构和序列元组元组是一个固定长度的,不可改变的Python序列对象。一旦创建了元组,元组中的对象就不能修改,除非元组中的对象是可变对象,比如list。tup = tuple(['foo', [1,2],True)tup[1].append(3)tup == > ('foo', [1,2,3],True)元组的复制串联('foo', 'bar') * 4>> ('foo', 'bar','foo', 'bar','foo', 'bar','foo', 'bar'

2020-10-19 13:52:23 205

原创 帝国竞争算法(ICA)详解与python 实现

写在前面最近需要用帝国竞争算法,百度出来基本千篇一律 Ctrl + C, Ctrl + V. 所以打算自己写一篇。Reference:1.帝国竞争算法的研究与改进2.智能优化算法与涌现计算,在狗东可以免费试读3.算法的可视化例子帝国竞争算法对于一个优化算法,cost function 是用来衡量优化效果的优劣。对于最小化问题,求一个函数的全局最优,cost funcition 越小越好。最大化问题反之。本文的优化目标函数Rastrigin的全局最小值。 Rastringin函数参考百度百科

2020-10-18 17:08:16 3870 1

原创 各种锂电池的优缺点

钛酸锂电池优点:能量密度高循环性能还行稳定,手机等电子产品都采用钛酸锂缺点:钛金属太贵了热稳定性不好镍酸锂优点:镍便宜能量密度还可以缺点:致命缺点:制备过程中阳离子重排,导致结构不稳对湿度敏感,容易胀气锰酸锂优点:便宜能量密度和安全性都还行缺点:循环性能极差:锰在充放电过程中,其晶体结构会受到Jahn-Teller效应影响,发生结构变形以至于坍塌,锰离子会逐渐溶解到电解液中。使用锰酸锂的锂离子电池,循环寿命基本上也就在300-400周左右,相比之下钴酸锂有上

2020-09-07 16:27:04 3321

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除