UMBRELLA

未雨绸缪,举重若轻

Pytrees

什么是Pytree?如果我们按照文档中提供的Pytress定义,那么Pytree是指由类似容器的Python对象构建的树状结构。什么是类似容器的Python对象?看到名称,您可能已经猜到类似容器的Python对象包括列表、元组、字典、namedtupleOrderedDictNone。这些数据结构是默认的类似容器的对象,被视为Pytree。我们还可以告诉JAX将视为类似容器的对象,但我们需要首先将它们包含在Pytree注册表中。让我们看一下Pytree的几个例子。

阅读全文 »

今天,我们将研究另一个重要概念自动微分。我们已经在TensorFlow中看到了自动微分自动微分的想法在所有框架中都非常相似,但IMO JAX比所有框架都做得更好。

阅读全文 »

如果我了解TensorFlow/Torch,为什么还要去学习JAX?尽管有n个理由,但我将介绍JAX中的一个概念,足以说服您尝试一下。我们将研究自动矢量化。我们接下来将讨论两种转换,即vmappmap

阅读全文 »

什么是即时(JIT)编译?

如果我们按照JIT的定义,那么JIT就是在执行期间编译代码的一种方式。实现JIT编译器的系统通常会连续分析正在执行的代码,并识别代码中从编译或重新编译获得的加速将超过编译该代码的开销的部分。

阅读全文 »

什么是PRNG?

如果我们按照定义,那么伪随机数生成是通过算法生成随机数序列的过程,使得生成的随机数的属性近似于从分布中采样的随机数序列的属性。当我们说随机时,意味着预测这个序列的概率并不比随机猜测更好。尽管我们担心这里的随机性,但伪随机数生成并不是真正的随机过程。为什么?因为序列是由提供给算法的初始值或初始状态决定的。用于生成这些随机数序列的算法称为伪随机数生成器Pseudo Random Number Generator)。

阅读全文 »

纯函数(Pure Functions)

函数就是纯函数:

  • 当使用相同的输入调用时,该函数返回相同的值。
  • 函数调用没有观察到副作用。

虽然这个定义看起来很简单,但如果没有示例可能很难理解,而且听起来很模糊(尤其是对于初学者)。副作用是什么意思呢?是什么导致了副作用?做什么可以来避免副作用?让我们举几个例子,看一下产生副作用的错误。

阅读全文 »

JAX是一个高性能机器学习库JAX在加速器(例如GPUTPU)上编译并运行NumPy代码。您可以使用JAX(以及为JAX构建的神经网络库FLAX)来构建和训练深度学习模型。

阅读全文 »

JAX是一个高性能机器学习库JAX在加速器(例如GPUTPU)上编译并运行NumPy代码。您可以使用JAX(以及为JAX构建的神经网络库FLAX)来构建和训练深度学习模型。

阅读全文 »

游戏AI

环境设置

游戏环境配备了已经为您实现的代理。要查看这些默认代理的列表,请运行:

1
2
3
4
5
6
7
8
9
from kaggle_environments import make, evaluate

# Create the game environment
# Set debug=True to see the errors if your agent refuses to run
env = make("connectx", debug=True)

# List of available default agents
print(list(env.agents))
# ['random', 'negamax']
阅读全文 »

处理缺失值

数据清理是数据科学的关键部分,但它可能会令人深感沮丧。为什么有些文本字段出现乱码?对于那些缺失的值你应该做什么?为什么您的日期格式不正确?如何快速清理不一致的数据输入?您将学习如何解决一些最常见的数据清理问题,以便您可以更快地分析数据。 您将使用真实、混乱的数据完成五个实践练习,并解决一些最常见的数据清理问题。

阅读全文 »
0%