mlx/docs/build/html/searchindex.js
2025-06-04 01:01:49 +00:00

1 line
198 KiB
JavaScript

Search.setIndex({"docnames": ["cpp/ops", "dev/extensions", "dev/metal_debugger", "examples/linear_regression", "examples/llama-inference", "examples/mlp", "index", "install", "python/_autosummary/mlx.core.Device", "python/_autosummary/mlx.core.Dtype", "python/_autosummary/mlx.core.DtypeCategory", "python/_autosummary/mlx.core.abs", "python/_autosummary/mlx.core.add", "python/_autosummary/mlx.core.all", "python/_autosummary/mlx.core.allclose", "python/_autosummary/mlx.core.any", "python/_autosummary/mlx.core.arange", "python/_autosummary/mlx.core.arccos", "python/_autosummary/mlx.core.arccosh", "python/_autosummary/mlx.core.arcsin", "python/_autosummary/mlx.core.arcsinh", "python/_autosummary/mlx.core.arctan", "python/_autosummary/mlx.core.arctanh", "python/_autosummary/mlx.core.argmax", "python/_autosummary/mlx.core.argmin", "python/_autosummary/mlx.core.argpartition", "python/_autosummary/mlx.core.argsort", "python/_autosummary/mlx.core.array", "python/_autosummary/mlx.core.array.T", "python/_autosummary/mlx.core.array.abs", "python/_autosummary/mlx.core.array.all", "python/_autosummary/mlx.core.array.any", "python/_autosummary/mlx.core.array.argmax", "python/_autosummary/mlx.core.array.argmin", "python/_autosummary/mlx.core.array.astype", "python/_autosummary/mlx.core.array.at", "python/_autosummary/mlx.core.array.cos", "python/_autosummary/mlx.core.array.cummax", "python/_autosummary/mlx.core.array.cummin", "python/_autosummary/mlx.core.array.cumprod", "python/_autosummary/mlx.core.array.cumsum", "python/_autosummary/mlx.core.array.diag", "python/_autosummary/mlx.core.array.diagonal", "python/_autosummary/mlx.core.array.dtype", "python/_autosummary/mlx.core.array.exp", "python/_autosummary/mlx.core.array.flatten", "python/_autosummary/mlx.core.array.item", "python/_autosummary/mlx.core.array.itemsize", "python/_autosummary/mlx.core.array.log", "python/_autosummary/mlx.core.array.log10", "python/_autosummary/mlx.core.array.log1p", "python/_autosummary/mlx.core.array.log2", "python/_autosummary/mlx.core.array.logsumexp", "python/_autosummary/mlx.core.array.max", "python/_autosummary/mlx.core.array.mean", "python/_autosummary/mlx.core.array.min", "python/_autosummary/mlx.core.array.moveaxis", "python/_autosummary/mlx.core.array.nbytes", "python/_autosummary/mlx.core.array.ndim", "python/_autosummary/mlx.core.array.prod", "python/_autosummary/mlx.core.array.reciprocal", "python/_autosummary/mlx.core.array.reshape", "python/_autosummary/mlx.core.array.round", "python/_autosummary/mlx.core.array.rsqrt", "python/_autosummary/mlx.core.array.shape", "python/_autosummary/mlx.core.array.sin", "python/_autosummary/mlx.core.array.size", "python/_autosummary/mlx.core.array.split", "python/_autosummary/mlx.core.array.sqrt", "python/_autosummary/mlx.core.array.square", "python/_autosummary/mlx.core.array.squeeze", "python/_autosummary/mlx.core.array.sum", "python/_autosummary/mlx.core.array.swapaxes", "python/_autosummary/mlx.core.array.tolist", "python/_autosummary/mlx.core.array.transpose", "python/_autosummary/mlx.core.array.var", "python/_autosummary/mlx.core.array_equal", "python/_autosummary/mlx.core.atleast_1d", "python/_autosummary/mlx.core.atleast_2d", "python/_autosummary/mlx.core.atleast_3d", "python/_autosummary/mlx.core.block_masked_mm", "python/_autosummary/mlx.core.broadcast_to", "python/_autosummary/mlx.core.ceil", "python/_autosummary/mlx.core.clip", "python/_autosummary/mlx.core.compile", "python/_autosummary/mlx.core.concatenate", "python/_autosummary/mlx.core.conv1d", "python/_autosummary/mlx.core.conv2d", "python/_autosummary/mlx.core.conv_general", "python/_autosummary/mlx.core.convolve", "python/_autosummary/mlx.core.cos", "python/_autosummary/mlx.core.cosh", "python/_autosummary/mlx.core.cummax", "python/_autosummary/mlx.core.cummin", "python/_autosummary/mlx.core.cumprod", "python/_autosummary/mlx.core.cumsum", "python/_autosummary/mlx.core.default_device", "python/_autosummary/mlx.core.default_stream", "python/_autosummary/mlx.core.degrees", "python/_autosummary/mlx.core.dequantize", "python/_autosummary/mlx.core.diag", "python/_autosummary/mlx.core.diagonal", "python/_autosummary/mlx.core.disable_compile", "python/_autosummary/mlx.core.divide", "python/_autosummary/mlx.core.divmod", "python/_autosummary/mlx.core.enable_compile", "python/_autosummary/mlx.core.equal", "python/_autosummary/mlx.core.erf", "python/_autosummary/mlx.core.erfinv", "python/_autosummary/mlx.core.eval", "python/_autosummary/mlx.core.exp", "python/_autosummary/mlx.core.expand_dims", "python/_autosummary/mlx.core.expm1", "python/_autosummary/mlx.core.eye", "python/_autosummary/mlx.core.fast.layer_norm", "python/_autosummary/mlx.core.fast.rms_norm", "python/_autosummary/mlx.core.fast.rope", "python/_autosummary/mlx.core.fast.scaled_dot_product_attention", "python/_autosummary/mlx.core.fft.fft", "python/_autosummary/mlx.core.fft.fft2", "python/_autosummary/mlx.core.fft.fftn", "python/_autosummary/mlx.core.fft.ifft", "python/_autosummary/mlx.core.fft.ifft2", "python/_autosummary/mlx.core.fft.ifftn", "python/_autosummary/mlx.core.fft.irfft", "python/_autosummary/mlx.core.fft.irfft2", "python/_autosummary/mlx.core.fft.irfftn", "python/_autosummary/mlx.core.fft.rfft", "python/_autosummary/mlx.core.fft.rfft2", "python/_autosummary/mlx.core.fft.rfftn", "python/_autosummary/mlx.core.flatten", "python/_autosummary/mlx.core.floor", "python/_autosummary/mlx.core.floor_divide", "python/_autosummary/mlx.core.full", "python/_autosummary/mlx.core.grad", "python/_autosummary/mlx.core.greater", "python/_autosummary/mlx.core.greater_equal", "python/_autosummary/mlx.core.identity", "python/_autosummary/mlx.core.inner", "python/_autosummary/mlx.core.isclose", "python/_autosummary/mlx.core.isinf", "python/_autosummary/mlx.core.isnan", "python/_autosummary/mlx.core.isneginf", "python/_autosummary/mlx.core.isposinf", "python/_autosummary/mlx.core.issubdtype", "python/_autosummary/mlx.core.jvp", "python/_autosummary/mlx.core.less", "python/_autosummary/mlx.core.less_equal", "python/_autosummary/mlx.core.linalg.norm", "python/_autosummary/mlx.core.linalg.qr", "python/_autosummary/mlx.core.linspace", "python/_autosummary/mlx.core.load", "python/_autosummary/mlx.core.log", "python/_autosummary/mlx.core.log10", "python/_autosummary/mlx.core.log1p", "python/_autosummary/mlx.core.log2", "python/_autosummary/mlx.core.logaddexp", "python/_autosummary/mlx.core.logical_and", "python/_autosummary/mlx.core.logical_not", "python/_autosummary/mlx.core.logical_or", "python/_autosummary/mlx.core.logsumexp", "python/_autosummary/mlx.core.matmul", "python/_autosummary/mlx.core.max", "python/_autosummary/mlx.core.maximum", "python/_autosummary/mlx.core.mean", "python/_autosummary/mlx.core.meshgrid", "python/_autosummary/mlx.core.metal.clear_cache", "python/_autosummary/mlx.core.metal.get_active_memory", "python/_autosummary/mlx.core.metal.get_cache_memory", "python/_autosummary/mlx.core.metal.get_peak_memory", "python/_autosummary/mlx.core.metal.is_available", "python/_autosummary/mlx.core.metal.set_cache_limit", "python/_autosummary/mlx.core.metal.set_memory_limit", "python/_autosummary/mlx.core.metal.start_capture", "python/_autosummary/mlx.core.metal.stop_capture", "python/_autosummary/mlx.core.min", "python/_autosummary/mlx.core.minimum", "python/_autosummary/mlx.core.moveaxis", "python/_autosummary/mlx.core.multiply", "python/_autosummary/mlx.core.negative", "python/_autosummary/mlx.core.new_stream", "python/_autosummary/mlx.core.not_equal", "python/_autosummary/mlx.core.ones", "python/_autosummary/mlx.core.ones_like", "python/_autosummary/mlx.core.outer", "python/_autosummary/mlx.core.pad", "python/_autosummary/mlx.core.partition", "python/_autosummary/mlx.core.prod", "python/_autosummary/mlx.core.quantize", "python/_autosummary/mlx.core.quantized_matmul", "python/_autosummary/mlx.core.radians", "python/_autosummary/mlx.core.random.bernoulli", "python/_autosummary/mlx.core.random.categorical", "python/_autosummary/mlx.core.random.gumbel", "python/_autosummary/mlx.core.random.key", "python/_autosummary/mlx.core.random.multivariate_normal", "python/_autosummary/mlx.core.random.normal", "python/_autosummary/mlx.core.random.randint", "python/_autosummary/mlx.core.random.seed", "python/_autosummary/mlx.core.random.split", "python/_autosummary/mlx.core.random.truncated_normal", "python/_autosummary/mlx.core.random.uniform", "python/_autosummary/mlx.core.reciprocal", "python/_autosummary/mlx.core.repeat", "python/_autosummary/mlx.core.reshape", "python/_autosummary/mlx.core.round", "python/_autosummary/mlx.core.rsqrt", "python/_autosummary/mlx.core.save", "python/_autosummary/mlx.core.save_gguf", "python/_autosummary/mlx.core.save_safetensors", "python/_autosummary/mlx.core.savez", "python/_autosummary/mlx.core.savez_compressed", "python/_autosummary/mlx.core.set_default_device", "python/_autosummary/mlx.core.set_default_stream", "python/_autosummary/mlx.core.sigmoid", "python/_autosummary/mlx.core.sign", "python/_autosummary/mlx.core.sin", "python/_autosummary/mlx.core.sinh", "python/_autosummary/mlx.core.softmax", "python/_autosummary/mlx.core.sort", "python/_autosummary/mlx.core.split", "python/_autosummary/mlx.core.sqrt", "python/_autosummary/mlx.core.square", "python/_autosummary/mlx.core.squeeze", "python/_autosummary/mlx.core.stack", "python/_autosummary/mlx.core.std", "python/_autosummary/mlx.core.stop_gradient", "python/_autosummary/mlx.core.stream", "python/_autosummary/mlx.core.subtract", "python/_autosummary/mlx.core.sum", "python/_autosummary/mlx.core.swapaxes", "python/_autosummary/mlx.core.synchronize", "python/_autosummary/mlx.core.take", "python/_autosummary/mlx.core.take_along_axis", "python/_autosummary/mlx.core.tan", "python/_autosummary/mlx.core.tanh", "python/_autosummary/mlx.core.tensordot", "python/_autosummary/mlx.core.tile", "python/_autosummary/mlx.core.topk", "python/_autosummary/mlx.core.transpose", "python/_autosummary/mlx.core.tri", "python/_autosummary/mlx.core.tril", "python/_autosummary/mlx.core.triu", "python/_autosummary/mlx.core.value_and_grad", "python/_autosummary/mlx.core.var", "python/_autosummary/mlx.core.vjp", "python/_autosummary/mlx.core.vmap", "python/_autosummary/mlx.core.where", "python/_autosummary/mlx.core.zeros", "python/_autosummary/mlx.core.zeros_like", "python/_autosummary/mlx.nn.quantize", "python/_autosummary/mlx.nn.value_and_grad", "python/_autosummary/mlx.utils.tree_flatten", "python/_autosummary/mlx.utils.tree_map", "python/_autosummary/mlx.utils.tree_map_with_path", "python/_autosummary/mlx.utils.tree_unflatten", "python/_autosummary/stream_class", "python/array", "python/data_types", "python/devices_and_streams", "python/fast", "python/fft", "python/linalg", "python/metal", "python/nn", "python/nn/_autosummary/mlx.nn.ALiBi", "python/nn/_autosummary/mlx.nn.AvgPool1d", "python/nn/_autosummary/mlx.nn.AvgPool2d", "python/nn/_autosummary/mlx.nn.BatchNorm", "python/nn/_autosummary/mlx.nn.Conv1d", "python/nn/_autosummary/mlx.nn.Conv2d", "python/nn/_autosummary/mlx.nn.Dropout", "python/nn/_autosummary/mlx.nn.Dropout2d", "python/nn/_autosummary/mlx.nn.Dropout3d", "python/nn/_autosummary/mlx.nn.Embedding", "python/nn/_autosummary/mlx.nn.GELU", "python/nn/_autosummary/mlx.nn.GRU", "python/nn/_autosummary/mlx.nn.GroupNorm", "python/nn/_autosummary/mlx.nn.InstanceNorm", "python/nn/_autosummary/mlx.nn.LSTM", "python/nn/_autosummary/mlx.nn.LayerNorm", "python/nn/_autosummary/mlx.nn.Linear", "python/nn/_autosummary/mlx.nn.MaxPool1d", "python/nn/_autosummary/mlx.nn.MaxPool2d", "python/nn/_autosummary/mlx.nn.Mish", "python/nn/_autosummary/mlx.nn.Module.apply", "python/nn/_autosummary/mlx.nn.Module.apply_to_modules", "python/nn/_autosummary/mlx.nn.Module.children", "python/nn/_autosummary/mlx.nn.Module.eval", "python/nn/_autosummary/mlx.nn.Module.filter_and_map", "python/nn/_autosummary/mlx.nn.Module.freeze", "python/nn/_autosummary/mlx.nn.Module.leaf_modules", "python/nn/_autosummary/mlx.nn.Module.load_weights", "python/nn/_autosummary/mlx.nn.Module.modules", "python/nn/_autosummary/mlx.nn.Module.named_modules", "python/nn/_autosummary/mlx.nn.Module.parameters", "python/nn/_autosummary/mlx.nn.Module.save_weights", "python/nn/_autosummary/mlx.nn.Module.set_dtype", "python/nn/_autosummary/mlx.nn.Module.state", "python/nn/_autosummary/mlx.nn.Module.train", "python/nn/_autosummary/mlx.nn.Module.trainable_parameters", "python/nn/_autosummary/mlx.nn.Module.training", "python/nn/_autosummary/mlx.nn.Module.unfreeze", "python/nn/_autosummary/mlx.nn.Module.update", "python/nn/_autosummary/mlx.nn.Module.update_modules", "python/nn/_autosummary/mlx.nn.MultiHeadAttention", "python/nn/_autosummary/mlx.nn.PReLU", "python/nn/_autosummary/mlx.nn.QuantizedEmbedding", "python/nn/_autosummary/mlx.nn.QuantizedLinear", "python/nn/_autosummary/mlx.nn.RMSNorm", "python/nn/_autosummary/mlx.nn.RNN", "python/nn/_autosummary/mlx.nn.ReLU", "python/nn/_autosummary/mlx.nn.RoPE", "python/nn/_autosummary/mlx.nn.SELU", "python/nn/_autosummary/mlx.nn.Sequential", "python/nn/_autosummary/mlx.nn.SiLU", "python/nn/_autosummary/mlx.nn.SinusoidalPositionalEncoding", "python/nn/_autosummary/mlx.nn.Softshrink", "python/nn/_autosummary/mlx.nn.Step", "python/nn/_autosummary/mlx.nn.Transformer", "python/nn/_autosummary/mlx.nn.Upsample", "python/nn/_autosummary/mlx.nn.init.constant", "python/nn/_autosummary/mlx.nn.init.glorot_normal", "python/nn/_autosummary/mlx.nn.init.glorot_uniform", "python/nn/_autosummary/mlx.nn.init.he_normal", "python/nn/_autosummary/mlx.nn.init.he_uniform", "python/nn/_autosummary/mlx.nn.init.identity", "python/nn/_autosummary/mlx.nn.init.normal", "python/nn/_autosummary/mlx.nn.init.uniform", "python/nn/_autosummary_functions/mlx.nn.elu", "python/nn/_autosummary_functions/mlx.nn.gelu", "python/nn/_autosummary_functions/mlx.nn.gelu_approx", "python/nn/_autosummary_functions/mlx.nn.gelu_fast_approx", "python/nn/_autosummary_functions/mlx.nn.glu", "python/nn/_autosummary_functions/mlx.nn.hardswish", "python/nn/_autosummary_functions/mlx.nn.leaky_relu", "python/nn/_autosummary_functions/mlx.nn.log_sigmoid", "python/nn/_autosummary_functions/mlx.nn.log_softmax", "python/nn/_autosummary_functions/mlx.nn.losses.binary_cross_entropy", "python/nn/_autosummary_functions/mlx.nn.losses.cosine_similarity_loss", "python/nn/_autosummary_functions/mlx.nn.losses.cross_entropy", "python/nn/_autosummary_functions/mlx.nn.losses.gaussian_nll_loss", "python/nn/_autosummary_functions/mlx.nn.losses.hinge_loss", "python/nn/_autosummary_functions/mlx.nn.losses.huber_loss", "python/nn/_autosummary_functions/mlx.nn.losses.kl_div_loss", "python/nn/_autosummary_functions/mlx.nn.losses.l1_loss", "python/nn/_autosummary_functions/mlx.nn.losses.log_cosh_loss", "python/nn/_autosummary_functions/mlx.nn.losses.margin_ranking_loss", "python/nn/_autosummary_functions/mlx.nn.losses.mse_loss", "python/nn/_autosummary_functions/mlx.nn.losses.nll_loss", "python/nn/_autosummary_functions/mlx.nn.losses.smooth_l1_loss", "python/nn/_autosummary_functions/mlx.nn.losses.triplet_loss", "python/nn/_autosummary_functions/mlx.nn.mish", "python/nn/_autosummary_functions/mlx.nn.prelu", "python/nn/_autosummary_functions/mlx.nn.relu", "python/nn/_autosummary_functions/mlx.nn.relu6", "python/nn/_autosummary_functions/mlx.nn.selu", "python/nn/_autosummary_functions/mlx.nn.sigmoid", "python/nn/_autosummary_functions/mlx.nn.silu", "python/nn/_autosummary_functions/mlx.nn.softmax", "python/nn/_autosummary_functions/mlx.nn.softplus", "python/nn/_autosummary_functions/mlx.nn.softshrink", "python/nn/_autosummary_functions/mlx.nn.step", "python/nn/_autosummary_functions/mlx.nn.tanh", "python/nn/functions", "python/nn/init", "python/nn/layers", "python/nn/losses", "python/nn/module", "python/ops", "python/optimizers", "python/optimizers/_autosummary/mlx.optimizers.AdaDelta", "python/optimizers/_autosummary/mlx.optimizers.Adafactor", "python/optimizers/_autosummary/mlx.optimizers.Adagrad", "python/optimizers/_autosummary/mlx.optimizers.Adam", "python/optimizers/_autosummary/mlx.optimizers.AdamW", "python/optimizers/_autosummary/mlx.optimizers.Adamax", "python/optimizers/_autosummary/mlx.optimizers.Lion", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.apply_gradients", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.init", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.state", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.update", "python/optimizers/_autosummary/mlx.optimizers.RMSprop", "python/optimizers/_autosummary/mlx.optimizers.SGD", "python/optimizers/_autosummary/mlx.optimizers.cosine_decay", "python/optimizers/_autosummary/mlx.optimizers.exponential_decay", "python/optimizers/_autosummary/mlx.optimizers.join_schedules", "python/optimizers/_autosummary/mlx.optimizers.linear_schedule", "python/optimizers/_autosummary/mlx.optimizers.step_decay", "python/optimizers/common_optimizers", "python/optimizers/optimizer", "python/optimizers/schedulers", "python/random", "python/transforms", "python/tree_utils", "usage/compile", "usage/function_transforms", "usage/indexing", "usage/lazy_evaluation", "usage/numpy", "usage/quick_start", "usage/saving_and_loading", "usage/unified_memory", "usage/using_streams"], "filenames": ["cpp/ops.rst", "dev/extensions.rst", "dev/metal_debugger.rst", "examples/linear_regression.rst", "examples/llama-inference.rst", "examples/mlp.rst", "index.rst", "install.rst", "python/_autosummary/mlx.core.Device.rst", "python/_autosummary/mlx.core.Dtype.rst", "python/_autosummary/mlx.core.DtypeCategory.rst", "python/_autosummary/mlx.core.abs.rst", "python/_autosummary/mlx.core.add.rst", "python/_autosummary/mlx.core.all.rst", "python/_autosummary/mlx.core.allclose.rst", "python/_autosummary/mlx.core.any.rst", "python/_autosummary/mlx.core.arange.rst", "python/_autosummary/mlx.core.arccos.rst", "python/_autosummary/mlx.core.arccosh.rst", "python/_autosummary/mlx.core.arcsin.rst", "python/_autosummary/mlx.core.arcsinh.rst", "python/_autosummary/mlx.core.arctan.rst", "python/_autosummary/mlx.core.arctanh.rst", "python/_autosummary/mlx.core.argmax.rst", "python/_autosummary/mlx.core.argmin.rst", "python/_autosummary/mlx.core.argpartition.rst", "python/_autosummary/mlx.core.argsort.rst", "python/_autosummary/mlx.core.array.rst", "python/_autosummary/mlx.core.array.T.rst", "python/_autosummary/mlx.core.array.abs.rst", "python/_autosummary/mlx.core.array.all.rst", "python/_autosummary/mlx.core.array.any.rst", "python/_autosummary/mlx.core.array.argmax.rst", "python/_autosummary/mlx.core.array.argmin.rst", "python/_autosummary/mlx.core.array.astype.rst", "python/_autosummary/mlx.core.array.at.rst", "python/_autosummary/mlx.core.array.cos.rst", "python/_autosummary/mlx.core.array.cummax.rst", "python/_autosummary/mlx.core.array.cummin.rst", "python/_autosummary/mlx.core.array.cumprod.rst", "python/_autosummary/mlx.core.array.cumsum.rst", "python/_autosummary/mlx.core.array.diag.rst", "python/_autosummary/mlx.core.array.diagonal.rst", "python/_autosummary/mlx.core.array.dtype.rst", "python/_autosummary/mlx.core.array.exp.rst", "python/_autosummary/mlx.core.array.flatten.rst", "python/_autosummary/mlx.core.array.item.rst", "python/_autosummary/mlx.core.array.itemsize.rst", "python/_autosummary/mlx.core.array.log.rst", "python/_autosummary/mlx.core.array.log10.rst", "python/_autosummary/mlx.core.array.log1p.rst", "python/_autosummary/mlx.core.array.log2.rst", "python/_autosummary/mlx.core.array.logsumexp.rst", "python/_autosummary/mlx.core.array.max.rst", "python/_autosummary/mlx.core.array.mean.rst", "python/_autosummary/mlx.core.array.min.rst", "python/_autosummary/mlx.core.array.moveaxis.rst", "python/_autosummary/mlx.core.array.nbytes.rst", "python/_autosummary/mlx.core.array.ndim.rst", "python/_autosummary/mlx.core.array.prod.rst", "python/_autosummary/mlx.core.array.reciprocal.rst", "python/_autosummary/mlx.core.array.reshape.rst", "python/_autosummary/mlx.core.array.round.rst", "python/_autosummary/mlx.core.array.rsqrt.rst", "python/_autosummary/mlx.core.array.shape.rst", "python/_autosummary/mlx.core.array.sin.rst", "python/_autosummary/mlx.core.array.size.rst", "python/_autosummary/mlx.core.array.split.rst", "python/_autosummary/mlx.core.array.sqrt.rst", "python/_autosummary/mlx.core.array.square.rst", "python/_autosummary/mlx.core.array.squeeze.rst", "python/_autosummary/mlx.core.array.sum.rst", "python/_autosummary/mlx.core.array.swapaxes.rst", "python/_autosummary/mlx.core.array.tolist.rst", "python/_autosummary/mlx.core.array.transpose.rst", "python/_autosummary/mlx.core.array.var.rst", "python/_autosummary/mlx.core.array_equal.rst", "python/_autosummary/mlx.core.atleast_1d.rst", "python/_autosummary/mlx.core.atleast_2d.rst", "python/_autosummary/mlx.core.atleast_3d.rst", "python/_autosummary/mlx.core.block_masked_mm.rst", "python/_autosummary/mlx.core.broadcast_to.rst", "python/_autosummary/mlx.core.ceil.rst", "python/_autosummary/mlx.core.clip.rst", "python/_autosummary/mlx.core.compile.rst", "python/_autosummary/mlx.core.concatenate.rst", "python/_autosummary/mlx.core.conv1d.rst", "python/_autosummary/mlx.core.conv2d.rst", "python/_autosummary/mlx.core.conv_general.rst", "python/_autosummary/mlx.core.convolve.rst", "python/_autosummary/mlx.core.cos.rst", "python/_autosummary/mlx.core.cosh.rst", "python/_autosummary/mlx.core.cummax.rst", "python/_autosummary/mlx.core.cummin.rst", "python/_autosummary/mlx.core.cumprod.rst", "python/_autosummary/mlx.core.cumsum.rst", "python/_autosummary/mlx.core.default_device.rst", "python/_autosummary/mlx.core.default_stream.rst", "python/_autosummary/mlx.core.degrees.rst", "python/_autosummary/mlx.core.dequantize.rst", "python/_autosummary/mlx.core.diag.rst", "python/_autosummary/mlx.core.diagonal.rst", "python/_autosummary/mlx.core.disable_compile.rst", "python/_autosummary/mlx.core.divide.rst", "python/_autosummary/mlx.core.divmod.rst", "python/_autosummary/mlx.core.enable_compile.rst", "python/_autosummary/mlx.core.equal.rst", "python/_autosummary/mlx.core.erf.rst", "python/_autosummary/mlx.core.erfinv.rst", "python/_autosummary/mlx.core.eval.rst", "python/_autosummary/mlx.core.exp.rst", "python/_autosummary/mlx.core.expand_dims.rst", "python/_autosummary/mlx.core.expm1.rst", "python/_autosummary/mlx.core.eye.rst", "python/_autosummary/mlx.core.fast.layer_norm.rst", "python/_autosummary/mlx.core.fast.rms_norm.rst", "python/_autosummary/mlx.core.fast.rope.rst", "python/_autosummary/mlx.core.fast.scaled_dot_product_attention.rst", "python/_autosummary/mlx.core.fft.fft.rst", "python/_autosummary/mlx.core.fft.fft2.rst", "python/_autosummary/mlx.core.fft.fftn.rst", "python/_autosummary/mlx.core.fft.ifft.rst", "python/_autosummary/mlx.core.fft.ifft2.rst", "python/_autosummary/mlx.core.fft.ifftn.rst", "python/_autosummary/mlx.core.fft.irfft.rst", "python/_autosummary/mlx.core.fft.irfft2.rst", "python/_autosummary/mlx.core.fft.irfftn.rst", "python/_autosummary/mlx.core.fft.rfft.rst", "python/_autosummary/mlx.core.fft.rfft2.rst", "python/_autosummary/mlx.core.fft.rfftn.rst", "python/_autosummary/mlx.core.flatten.rst", "python/_autosummary/mlx.core.floor.rst", "python/_autosummary/mlx.core.floor_divide.rst", "python/_autosummary/mlx.core.full.rst", "python/_autosummary/mlx.core.grad.rst", "python/_autosummary/mlx.core.greater.rst", "python/_autosummary/mlx.core.greater_equal.rst", "python/_autosummary/mlx.core.identity.rst", "python/_autosummary/mlx.core.inner.rst", "python/_autosummary/mlx.core.isclose.rst", "python/_autosummary/mlx.core.isinf.rst", "python/_autosummary/mlx.core.isnan.rst", "python/_autosummary/mlx.core.isneginf.rst", "python/_autosummary/mlx.core.isposinf.rst", "python/_autosummary/mlx.core.issubdtype.rst", "python/_autosummary/mlx.core.jvp.rst", "python/_autosummary/mlx.core.less.rst", "python/_autosummary/mlx.core.less_equal.rst", "python/_autosummary/mlx.core.linalg.norm.rst", "python/_autosummary/mlx.core.linalg.qr.rst", "python/_autosummary/mlx.core.linspace.rst", "python/_autosummary/mlx.core.load.rst", "python/_autosummary/mlx.core.log.rst", "python/_autosummary/mlx.core.log10.rst", "python/_autosummary/mlx.core.log1p.rst", "python/_autosummary/mlx.core.log2.rst", "python/_autosummary/mlx.core.logaddexp.rst", "python/_autosummary/mlx.core.logical_and.rst", "python/_autosummary/mlx.core.logical_not.rst", "python/_autosummary/mlx.core.logical_or.rst", "python/_autosummary/mlx.core.logsumexp.rst", "python/_autosummary/mlx.core.matmul.rst", "python/_autosummary/mlx.core.max.rst", "python/_autosummary/mlx.core.maximum.rst", "python/_autosummary/mlx.core.mean.rst", "python/_autosummary/mlx.core.meshgrid.rst", "python/_autosummary/mlx.core.metal.clear_cache.rst", "python/_autosummary/mlx.core.metal.get_active_memory.rst", "python/_autosummary/mlx.core.metal.get_cache_memory.rst", "python/_autosummary/mlx.core.metal.get_peak_memory.rst", "python/_autosummary/mlx.core.metal.is_available.rst", "python/_autosummary/mlx.core.metal.set_cache_limit.rst", "python/_autosummary/mlx.core.metal.set_memory_limit.rst", "python/_autosummary/mlx.core.metal.start_capture.rst", "python/_autosummary/mlx.core.metal.stop_capture.rst", "python/_autosummary/mlx.core.min.rst", "python/_autosummary/mlx.core.minimum.rst", "python/_autosummary/mlx.core.moveaxis.rst", "python/_autosummary/mlx.core.multiply.rst", "python/_autosummary/mlx.core.negative.rst", "python/_autosummary/mlx.core.new_stream.rst", "python/_autosummary/mlx.core.not_equal.rst", "python/_autosummary/mlx.core.ones.rst", "python/_autosummary/mlx.core.ones_like.rst", "python/_autosummary/mlx.core.outer.rst", "python/_autosummary/mlx.core.pad.rst", "python/_autosummary/mlx.core.partition.rst", "python/_autosummary/mlx.core.prod.rst", "python/_autosummary/mlx.core.quantize.rst", "python/_autosummary/mlx.core.quantized_matmul.rst", "python/_autosummary/mlx.core.radians.rst", "python/_autosummary/mlx.core.random.bernoulli.rst", "python/_autosummary/mlx.core.random.categorical.rst", "python/_autosummary/mlx.core.random.gumbel.rst", "python/_autosummary/mlx.core.random.key.rst", "python/_autosummary/mlx.core.random.multivariate_normal.rst", "python/_autosummary/mlx.core.random.normal.rst", "python/_autosummary/mlx.core.random.randint.rst", "python/_autosummary/mlx.core.random.seed.rst", "python/_autosummary/mlx.core.random.split.rst", "python/_autosummary/mlx.core.random.truncated_normal.rst", "python/_autosummary/mlx.core.random.uniform.rst", "python/_autosummary/mlx.core.reciprocal.rst", "python/_autosummary/mlx.core.repeat.rst", "python/_autosummary/mlx.core.reshape.rst", "python/_autosummary/mlx.core.round.rst", "python/_autosummary/mlx.core.rsqrt.rst", "python/_autosummary/mlx.core.save.rst", "python/_autosummary/mlx.core.save_gguf.rst", "python/_autosummary/mlx.core.save_safetensors.rst", "python/_autosummary/mlx.core.savez.rst", "python/_autosummary/mlx.core.savez_compressed.rst", "python/_autosummary/mlx.core.set_default_device.rst", "python/_autosummary/mlx.core.set_default_stream.rst", "python/_autosummary/mlx.core.sigmoid.rst", "python/_autosummary/mlx.core.sign.rst", "python/_autosummary/mlx.core.sin.rst", "python/_autosummary/mlx.core.sinh.rst", "python/_autosummary/mlx.core.softmax.rst", "python/_autosummary/mlx.core.sort.rst", "python/_autosummary/mlx.core.split.rst", "python/_autosummary/mlx.core.sqrt.rst", "python/_autosummary/mlx.core.square.rst", "python/_autosummary/mlx.core.squeeze.rst", "python/_autosummary/mlx.core.stack.rst", "python/_autosummary/mlx.core.std.rst", "python/_autosummary/mlx.core.stop_gradient.rst", "python/_autosummary/mlx.core.stream.rst", "python/_autosummary/mlx.core.subtract.rst", "python/_autosummary/mlx.core.sum.rst", "python/_autosummary/mlx.core.swapaxes.rst", "python/_autosummary/mlx.core.synchronize.rst", "python/_autosummary/mlx.core.take.rst", "python/_autosummary/mlx.core.take_along_axis.rst", "python/_autosummary/mlx.core.tan.rst", "python/_autosummary/mlx.core.tanh.rst", "python/_autosummary/mlx.core.tensordot.rst", "python/_autosummary/mlx.core.tile.rst", "python/_autosummary/mlx.core.topk.rst", "python/_autosummary/mlx.core.transpose.rst", "python/_autosummary/mlx.core.tri.rst", "python/_autosummary/mlx.core.tril.rst", "python/_autosummary/mlx.core.triu.rst", "python/_autosummary/mlx.core.value_and_grad.rst", "python/_autosummary/mlx.core.var.rst", "python/_autosummary/mlx.core.vjp.rst", "python/_autosummary/mlx.core.vmap.rst", "python/_autosummary/mlx.core.where.rst", "python/_autosummary/mlx.core.zeros.rst", "python/_autosummary/mlx.core.zeros_like.rst", "python/_autosummary/mlx.nn.quantize.rst", "python/_autosummary/mlx.nn.value_and_grad.rst", "python/_autosummary/mlx.utils.tree_flatten.rst", "python/_autosummary/mlx.utils.tree_map.rst", "python/_autosummary/mlx.utils.tree_map_with_path.rst", "python/_autosummary/mlx.utils.tree_unflatten.rst", "python/_autosummary/stream_class.rst", "python/array.rst", "python/data_types.rst", "python/devices_and_streams.rst", "python/fast.rst", "python/fft.rst", "python/linalg.rst", "python/metal.rst", "python/nn.rst", "python/nn/_autosummary/mlx.nn.ALiBi.rst", "python/nn/_autosummary/mlx.nn.AvgPool1d.rst", "python/nn/_autosummary/mlx.nn.AvgPool2d.rst", "python/nn/_autosummary/mlx.nn.BatchNorm.rst", "python/nn/_autosummary/mlx.nn.Conv1d.rst", "python/nn/_autosummary/mlx.nn.Conv2d.rst", "python/nn/_autosummary/mlx.nn.Dropout.rst", "python/nn/_autosummary/mlx.nn.Dropout2d.rst", "python/nn/_autosummary/mlx.nn.Dropout3d.rst", "python/nn/_autosummary/mlx.nn.Embedding.rst", "python/nn/_autosummary/mlx.nn.GELU.rst", "python/nn/_autosummary/mlx.nn.GRU.rst", "python/nn/_autosummary/mlx.nn.GroupNorm.rst", "python/nn/_autosummary/mlx.nn.InstanceNorm.rst", "python/nn/_autosummary/mlx.nn.LSTM.rst", "python/nn/_autosummary/mlx.nn.LayerNorm.rst", "python/nn/_autosummary/mlx.nn.Linear.rst", "python/nn/_autosummary/mlx.nn.MaxPool1d.rst", "python/nn/_autosummary/mlx.nn.MaxPool2d.rst", "python/nn/_autosummary/mlx.nn.Mish.rst", "python/nn/_autosummary/mlx.nn.Module.apply.rst", "python/nn/_autosummary/mlx.nn.Module.apply_to_modules.rst", "python/nn/_autosummary/mlx.nn.Module.children.rst", "python/nn/_autosummary/mlx.nn.Module.eval.rst", "python/nn/_autosummary/mlx.nn.Module.filter_and_map.rst", "python/nn/_autosummary/mlx.nn.Module.freeze.rst", "python/nn/_autosummary/mlx.nn.Module.leaf_modules.rst", "python/nn/_autosummary/mlx.nn.Module.load_weights.rst", "python/nn/_autosummary/mlx.nn.Module.modules.rst", "python/nn/_autosummary/mlx.nn.Module.named_modules.rst", "python/nn/_autosummary/mlx.nn.Module.parameters.rst", "python/nn/_autosummary/mlx.nn.Module.save_weights.rst", "python/nn/_autosummary/mlx.nn.Module.set_dtype.rst", "python/nn/_autosummary/mlx.nn.Module.state.rst", "python/nn/_autosummary/mlx.nn.Module.train.rst", "python/nn/_autosummary/mlx.nn.Module.trainable_parameters.rst", "python/nn/_autosummary/mlx.nn.Module.training.rst", "python/nn/_autosummary/mlx.nn.Module.unfreeze.rst", "python/nn/_autosummary/mlx.nn.Module.update.rst", "python/nn/_autosummary/mlx.nn.Module.update_modules.rst", "python/nn/_autosummary/mlx.nn.MultiHeadAttention.rst", "python/nn/_autosummary/mlx.nn.PReLU.rst", "python/nn/_autosummary/mlx.nn.QuantizedEmbedding.rst", "python/nn/_autosummary/mlx.nn.QuantizedLinear.rst", "python/nn/_autosummary/mlx.nn.RMSNorm.rst", "python/nn/_autosummary/mlx.nn.RNN.rst", "python/nn/_autosummary/mlx.nn.ReLU.rst", "python/nn/_autosummary/mlx.nn.RoPE.rst", "python/nn/_autosummary/mlx.nn.SELU.rst", "python/nn/_autosummary/mlx.nn.Sequential.rst", "python/nn/_autosummary/mlx.nn.SiLU.rst", "python/nn/_autosummary/mlx.nn.SinusoidalPositionalEncoding.rst", "python/nn/_autosummary/mlx.nn.Softshrink.rst", "python/nn/_autosummary/mlx.nn.Step.rst", "python/nn/_autosummary/mlx.nn.Transformer.rst", "python/nn/_autosummary/mlx.nn.Upsample.rst", "python/nn/_autosummary/mlx.nn.init.constant.rst", "python/nn/_autosummary/mlx.nn.init.glorot_normal.rst", "python/nn/_autosummary/mlx.nn.init.glorot_uniform.rst", "python/nn/_autosummary/mlx.nn.init.he_normal.rst", "python/nn/_autosummary/mlx.nn.init.he_uniform.rst", "python/nn/_autosummary/mlx.nn.init.identity.rst", "python/nn/_autosummary/mlx.nn.init.normal.rst", "python/nn/_autosummary/mlx.nn.init.uniform.rst", "python/nn/_autosummary_functions/mlx.nn.elu.rst", "python/nn/_autosummary_functions/mlx.nn.gelu.rst", "python/nn/_autosummary_functions/mlx.nn.gelu_approx.rst", "python/nn/_autosummary_functions/mlx.nn.gelu_fast_approx.rst", "python/nn/_autosummary_functions/mlx.nn.glu.rst", "python/nn/_autosummary_functions/mlx.nn.hardswish.rst", "python/nn/_autosummary_functions/mlx.nn.leaky_relu.rst", "python/nn/_autosummary_functions/mlx.nn.log_sigmoid.rst", "python/nn/_autosummary_functions/mlx.nn.log_softmax.rst", "python/nn/_autosummary_functions/mlx.nn.losses.binary_cross_entropy.rst", "python/nn/_autosummary_functions/mlx.nn.losses.cosine_similarity_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.cross_entropy.rst", "python/nn/_autosummary_functions/mlx.nn.losses.gaussian_nll_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.hinge_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.huber_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.kl_div_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.l1_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.log_cosh_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.margin_ranking_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.mse_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.nll_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.smooth_l1_loss.rst", "python/nn/_autosummary_functions/mlx.nn.losses.triplet_loss.rst", "python/nn/_autosummary_functions/mlx.nn.mish.rst", "python/nn/_autosummary_functions/mlx.nn.prelu.rst", "python/nn/_autosummary_functions/mlx.nn.relu.rst", "python/nn/_autosummary_functions/mlx.nn.relu6.rst", "python/nn/_autosummary_functions/mlx.nn.selu.rst", "python/nn/_autosummary_functions/mlx.nn.sigmoid.rst", "python/nn/_autosummary_functions/mlx.nn.silu.rst", "python/nn/_autosummary_functions/mlx.nn.softmax.rst", "python/nn/_autosummary_functions/mlx.nn.softplus.rst", "python/nn/_autosummary_functions/mlx.nn.softshrink.rst", "python/nn/_autosummary_functions/mlx.nn.step.rst", "python/nn/_autosummary_functions/mlx.nn.tanh.rst", "python/nn/functions.rst", "python/nn/init.rst", "python/nn/layers.rst", "python/nn/losses.rst", "python/nn/module.rst", "python/ops.rst", "python/optimizers.rst", "python/optimizers/_autosummary/mlx.optimizers.AdaDelta.rst", "python/optimizers/_autosummary/mlx.optimizers.Adafactor.rst", "python/optimizers/_autosummary/mlx.optimizers.Adagrad.rst", "python/optimizers/_autosummary/mlx.optimizers.Adam.rst", "python/optimizers/_autosummary/mlx.optimizers.AdamW.rst", "python/optimizers/_autosummary/mlx.optimizers.Adamax.rst", "python/optimizers/_autosummary/mlx.optimizers.Lion.rst", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.apply_gradients.rst", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.init.rst", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.state.rst", "python/optimizers/_autosummary/mlx.optimizers.Optimizer.update.rst", "python/optimizers/_autosummary/mlx.optimizers.RMSprop.rst", "python/optimizers/_autosummary/mlx.optimizers.SGD.rst", "python/optimizers/_autosummary/mlx.optimizers.cosine_decay.rst", "python/optimizers/_autosummary/mlx.optimizers.exponential_decay.rst", "python/optimizers/_autosummary/mlx.optimizers.join_schedules.rst", "python/optimizers/_autosummary/mlx.optimizers.linear_schedule.rst", "python/optimizers/_autosummary/mlx.optimizers.step_decay.rst", "python/optimizers/common_optimizers.rst", "python/optimizers/optimizer.rst", "python/optimizers/schedulers.rst", "python/random.rst", "python/transforms.rst", "python/tree_utils.rst", "usage/compile.rst", "usage/function_transforms.rst", "usage/indexing.rst", "usage/lazy_evaluation.rst", "usage/numpy.rst", "usage/quick_start.rst", "usage/saving_and_loading.rst", "usage/unified_memory.rst", "usage/using_streams.rst"], "titles": ["Operations", "Developer Documentation", "Metal Debugger", "Linear Regression", "LLM inference", "Multi-Layer Perceptron", "MLX", "Build and Install", "mlx.core.Device", "mlx.core.Dtype", "mlx.core.DtypeCategory", "mlx.core.abs", "mlx.core.add", "mlx.core.all", "mlx.core.allclose", "mlx.core.any", "mlx.core.arange", "mlx.core.arccos", "mlx.core.arccosh", "mlx.core.arcsin", "mlx.core.arcsinh", "mlx.core.arctan", "mlx.core.arctanh", "mlx.core.argmax", "mlx.core.argmin", "mlx.core.argpartition", "mlx.core.argsort", "mlx.core.array", "mlx.core.array.T", "mlx.core.array.abs", "mlx.core.array.all", "mlx.core.array.any", "mlx.core.array.argmax", "mlx.core.array.argmin", "mlx.core.array.astype", "mlx.core.array.at", "mlx.core.array.cos", "mlx.core.array.cummax", "mlx.core.array.cummin", "mlx.core.array.cumprod", "mlx.core.array.cumsum", "mlx.core.array.diag", "mlx.core.array.diagonal", "mlx.core.array.dtype", "mlx.core.array.exp", "mlx.core.array.flatten", "mlx.core.array.item", "mlx.core.array.itemsize", "mlx.core.array.log", "mlx.core.array.log10", "mlx.core.array.log1p", "mlx.core.array.log2", "mlx.core.array.logsumexp", "mlx.core.array.max", "mlx.core.array.mean", "mlx.core.array.min", "mlx.core.array.moveaxis", "mlx.core.array.nbytes", "mlx.core.array.ndim", "mlx.core.array.prod", "mlx.core.array.reciprocal", "mlx.core.array.reshape", "mlx.core.array.round", "mlx.core.array.rsqrt", "mlx.core.array.shape", "mlx.core.array.sin", "mlx.core.array.size", "mlx.core.array.split", "mlx.core.array.sqrt", "mlx.core.array.square", "mlx.core.array.squeeze", "mlx.core.array.sum", "mlx.core.array.swapaxes", "mlx.core.array.tolist", "mlx.core.array.transpose", "mlx.core.array.var", "mlx.core.array_equal", "mlx.core.atleast_1d", "mlx.core.atleast_2d", "mlx.core.atleast_3d", "mlx.core.block_masked_mm", "mlx.core.broadcast_to", "mlx.core.ceil", "mlx.core.clip", "mlx.core.compile", "mlx.core.concatenate", "mlx.core.conv1d", "mlx.core.conv2d", "mlx.core.conv_general", "mlx.core.convolve", "mlx.core.cos", "mlx.core.cosh", "mlx.core.cummax", "mlx.core.cummin", "mlx.core.cumprod", "mlx.core.cumsum", "mlx.core.default_device", "mlx.core.default_stream", "mlx.core.degrees", "mlx.core.dequantize", "mlx.core.diag", "mlx.core.diagonal", "mlx.core.disable_compile", "mlx.core.divide", "mlx.core.divmod", "mlx.core.enable_compile", "mlx.core.equal", "mlx.core.erf", "mlx.core.erfinv", "mlx.core.eval", "mlx.core.exp", "mlx.core.expand_dims", "mlx.core.expm1", "mlx.core.eye", "mlx.core.fast.layer_norm", "mlx.core.fast.rms_norm", "mlx.core.fast.rope", "mlx.core.fast.scaled_dot_product_attention", "mlx.core.fft.fft", "mlx.core.fft.fft2", "mlx.core.fft.fftn", "mlx.core.fft.ifft", "mlx.core.fft.ifft2", "mlx.core.fft.ifftn", "mlx.core.fft.irfft", "mlx.core.fft.irfft2", "mlx.core.fft.irfftn", "mlx.core.fft.rfft", "mlx.core.fft.rfft2", "mlx.core.fft.rfftn", "mlx.core.flatten", "mlx.core.floor", "mlx.core.floor_divide", "mlx.core.full", "mlx.core.grad", "mlx.core.greater", "mlx.core.greater_equal", "mlx.core.identity", "mlx.core.inner", "mlx.core.isclose", "mlx.core.isinf", "mlx.core.isnan", "mlx.core.isneginf", "mlx.core.isposinf", "mlx.core.issubdtype", "mlx.core.jvp", "mlx.core.less", "mlx.core.less_equal", "mlx.core.linalg.norm", "mlx.core.linalg.qr", "mlx.core.linspace", "mlx.core.load", "mlx.core.log", "mlx.core.log10", "mlx.core.log1p", "mlx.core.log2", "mlx.core.logaddexp", "mlx.core.logical_and", "mlx.core.logical_not", "mlx.core.logical_or", "mlx.core.logsumexp", "mlx.core.matmul", "mlx.core.max", "mlx.core.maximum", "mlx.core.mean", "mlx.core.meshgrid", "mlx.core.metal.clear_cache", "mlx.core.metal.get_active_memory", "mlx.core.metal.get_cache_memory", "mlx.core.metal.get_peak_memory", "mlx.core.metal.is_available", "mlx.core.metal.set_cache_limit", "mlx.core.metal.set_memory_limit", "mlx.core.metal.start_capture", "mlx.core.metal.stop_capture", "mlx.core.min", "mlx.core.minimum", "mlx.core.moveaxis", "mlx.core.multiply", "mlx.core.negative", "mlx.core.new_stream", "mlx.core.not_equal", "mlx.core.ones", "mlx.core.ones_like", "mlx.core.outer", "mlx.core.pad", "mlx.core.partition", "mlx.core.prod", "mlx.core.quantize", "mlx.core.quantized_matmul", "mlx.core.radians", "mlx.core.random.bernoulli", "mlx.core.random.categorical", "mlx.core.random.gumbel", "mlx.core.random.key", "mlx.core.random.multivariate_normal", "mlx.core.random.normal", "mlx.core.random.randint", "mlx.core.random.seed", "mlx.core.random.split", "mlx.core.random.truncated_normal", "mlx.core.random.uniform", "mlx.core.reciprocal", "mlx.core.repeat", "mlx.core.reshape", "mlx.core.round", "mlx.core.rsqrt", "mlx.core.save", "mlx.core.save_gguf", "mlx.core.save_safetensors", "mlx.core.savez", "mlx.core.savez_compressed", "mlx.core.set_default_device", "mlx.core.set_default_stream", "mlx.core.sigmoid", "mlx.core.sign", "mlx.core.sin", "mlx.core.sinh", "mlx.core.softmax", "mlx.core.sort", "mlx.core.split", "mlx.core.sqrt", "mlx.core.square", "mlx.core.squeeze", "mlx.core.stack", "mlx.core.std", "mlx.core.stop_gradient", "mlx.core.stream", "mlx.core.subtract", "mlx.core.sum", "mlx.core.swapaxes", "mlx.core.synchronize", "mlx.core.take", "mlx.core.take_along_axis", "mlx.core.tan", "mlx.core.tanh", "mlx.core.tensordot", "mlx.core.tile", "mlx.core.topk", "mlx.core.transpose", "mlx.core.tri", "mlx.core.tril", "mlx.core.triu", "mlx.core.value_and_grad", "mlx.core.var", "mlx.core.vjp", "mlx.core.vmap", "mlx.core.where", "mlx.core.zeros", "mlx.core.zeros_like", "mlx.nn.quantize", "mlx.nn.value_and_grad", "mlx.utils.tree_flatten", "mlx.utils.tree_map", "mlx.utils.tree_map_with_path", "mlx.utils.tree_unflatten", "mlx.core.Stream", "Array", "Data Types", "Devices and Streams", "Fast", "FFT", "Linear Algebra", "Metal", "Neural Networks", "mlx.nn.ALiBi", "mlx.nn.AvgPool1d", "mlx.nn.AvgPool2d", "mlx.nn.BatchNorm", "mlx.nn.Conv1d", "mlx.nn.Conv2d", "mlx.nn.Dropout", "mlx.nn.Dropout2d", "mlx.nn.Dropout3d", "mlx.nn.Embedding", "mlx.nn.GELU", "mlx.nn.GRU", "mlx.nn.GroupNorm", "mlx.nn.InstanceNorm", "mlx.nn.LSTM", "mlx.nn.LayerNorm", "mlx.nn.Linear", "mlx.nn.MaxPool1d", "mlx.nn.MaxPool2d", "mlx.nn.Mish", "mlx.nn.Module.apply", "mlx.nn.Module.apply_to_modules", "mlx.nn.Module.children", "mlx.nn.Module.eval", "mlx.nn.Module.filter_and_map", "mlx.nn.Module.freeze", "mlx.nn.Module.leaf_modules", "mlx.nn.Module.load_weights", "mlx.nn.Module.modules", "mlx.nn.Module.named_modules", "mlx.nn.Module.parameters", "mlx.nn.Module.save_weights", "mlx.nn.Module.set_dtype", "mlx.nn.Module.state", "mlx.nn.Module.train", "mlx.nn.Module.trainable_parameters", "mlx.nn.Module.training", "mlx.nn.Module.unfreeze", "mlx.nn.Module.update", "mlx.nn.Module.update_modules", "mlx.nn.MultiHeadAttention", "mlx.nn.PReLU", "mlx.nn.QuantizedEmbedding", "mlx.nn.QuantizedLinear", "mlx.nn.RMSNorm", "mlx.nn.RNN", "mlx.nn.ReLU", "mlx.nn.RoPE", "mlx.nn.SELU", "mlx.nn.Sequential", "mlx.nn.SiLU", "mlx.nn.SinusoidalPositionalEncoding", "mlx.nn.Softshrink", "mlx.nn.Step", "mlx.nn.Transformer", "mlx.nn.Upsample", "mlx.nn.init.constant", "mlx.nn.init.glorot_normal", "mlx.nn.init.glorot_uniform", "mlx.nn.init.he_normal", "mlx.nn.init.he_uniform", "mlx.nn.init.identity", "mlx.nn.init.normal", "mlx.nn.init.uniform", "mlx.nn.elu", "mlx.nn.gelu", "mlx.nn.gelu_approx", "mlx.nn.gelu_fast_approx", "mlx.nn.glu", "mlx.nn.hardswish", "mlx.nn.leaky_relu", "mlx.nn.log_sigmoid", "mlx.nn.log_softmax", "mlx.nn.losses.binary_cross_entropy", "mlx.nn.losses.cosine_similarity_loss", "mlx.nn.losses.cross_entropy", "mlx.nn.losses.gaussian_nll_loss", "mlx.nn.losses.hinge_loss", "mlx.nn.losses.huber_loss", "mlx.nn.losses.kl_div_loss", "mlx.nn.losses.l1_loss", "mlx.nn.losses.log_cosh_loss", "mlx.nn.losses.margin_ranking_loss", "mlx.nn.losses.mse_loss", "mlx.nn.losses.nll_loss", "mlx.nn.losses.smooth_l1_loss", "mlx.nn.losses.triplet_loss", "mlx.nn.mish", "mlx.nn.prelu", "mlx.nn.relu", "mlx.nn.relu6", "mlx.nn.selu", "mlx.nn.sigmoid", "mlx.nn.silu", "mlx.nn.softmax", "mlx.nn.softplus", "mlx.nn.softshrink", "mlx.nn.step", "mlx.nn.tanh", "Functions", "Initializers", "Layers", "Loss Functions", "Module", "Operations", "Optimizers", "mlx.optimizers.AdaDelta", "mlx.optimizers.Adafactor", "mlx.optimizers.Adagrad", "mlx.optimizers.Adam", "mlx.optimizers.AdamW", "mlx.optimizers.Adamax", "mlx.optimizers.Lion", "mlx.optimizers.Optimizer.apply_gradients", "mlx.optimizers.Optimizer.init", "mlx.optimizers.Optimizer.state", "mlx.optimizers.Optimizer.update", "mlx.optimizers.RMSprop", "mlx.optimizers.SGD", "mlx.optimizers.cosine_decay", "mlx.optimizers.exponential_decay", "mlx.optimizers.join_schedules", "mlx.optimizers.linear_schedule", "mlx.optimizers.step_decay", "Common Optimizers", "Optimizer", "Schedulers", "Random", "Transforms", "Tree Utils", "Compilation", "Function Transforms", "Indexing Arrays", "Lazy Evaluation", "Conversion to NumPy and Other Frameworks", "Quick Start Guide", "Saving and Loading Arrays", "Unified Memory", "Using Streams"], "terms": {"you": [1, 2, 4, 5, 6, 7, 264, 316, 319, 365, 392, 395, 396, 397, 399, 401, 402], "can": [1, 2, 4, 6, 7, 12, 16, 61, 74, 84, 101, 102, 103, 104, 106, 109, 135, 136, 146, 147, 148, 156, 163, 176, 178, 181, 191, 192, 197, 200, 201, 208, 228, 243, 264, 267, 274, 283, 289, 302, 307, 314, 320, 340, 365, 368, 370, 378, 379, 392, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403], "extend": [1, 185], "mlx": [1, 2, 3, 4, 5, 7, 264, 365, 368, 370, 392, 394, 395, 396, 397, 398, 399, 400, 401, 402], "custom": [1, 319], "thi": [1, 4, 5, 7, 13, 14, 15, 16, 23, 24, 25, 26, 105, 139, 145, 148, 149, 156, 160, 161, 162, 164, 166, 167, 175, 186, 187, 192, 213, 218, 219, 220, 225, 229, 232, 238, 244, 254, 264, 271, 272, 273, 276, 279, 286, 287, 289, 290, 293, 294, 295, 300, 302, 303, 304, 305, 308, 310, 318, 322, 323, 324, 325, 331, 332, 333, 346, 362, 368, 379, 394, 395, 396, 398, 399, 401], "guid": [1, 6], "explain": 1, "how": [1, 4, 5, 264, 266, 267, 269, 270, 274, 282, 283, 307, 320, 378, 395, 397, 402], "do": [1, 4, 7, 264, 291, 302, 365, 368, 375, 395, 396, 398], "simpl": [1, 4, 5, 264, 274, 364, 395, 396, 398], "let": [1, 3, 4, 395, 396, 398, 399], "": [1, 3, 4, 5, 43, 47, 58, 84, 97, 99, 119, 120, 122, 123, 125, 126, 128, 129, 134, 148, 151, 164, 184, 188, 192, 205, 208, 209, 225, 227, 243, 244, 246, 251, 264, 267, 276, 279, 283, 289, 290, 292, 296, 297, 298, 302, 310, 370, 379, 380, 392, 395, 396, 398, 399, 400, 401, 402], "sai": [1, 4, 365, 398], "would": [1, 4, 320, 397, 398, 399, 402], "like": [1, 4, 6, 144, 183, 249, 273, 346, 379, 381, 395, 396, 398, 399, 400, 402], "an": [1, 2, 4, 5, 7, 9, 13, 15, 27, 77, 78, 79, 81, 86, 87, 88, 109, 113, 114, 117, 130, 133, 137, 148, 151, 172, 177, 182, 183, 185, 187, 188, 189, 203, 204, 205, 220, 223, 230, 232, 233, 236, 237, 240, 246, 248, 249, 252, 253, 254, 264, 266, 267, 271, 277, 279, 280, 281, 282, 283, 285, 305, 306, 308, 310, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 331, 353, 365, 371, 381, 385, 390, 392, 394, 395, 396, 397, 398, 399, 400, 401, 402, 403], "take": [1, 4, 5, 84, 134, 145, 163, 176, 183, 189, 233, 243, 245, 246, 249, 254, 305, 392, 396, 397, 401, 402, 403], "two": [1, 12, 14, 76, 78, 80, 101, 103, 106, 119, 122, 128, 135, 136, 139, 146, 147, 149, 156, 161, 163, 176, 178, 181, 184, 230, 267, 279, 283, 333, 339, 395, 396, 397, 402], "arrai": [1, 4, 5, 6, 9, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 98, 99, 100, 101, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 175, 176, 177, 178, 179, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 228, 229, 230, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 264, 268, 279, 285, 292, 295, 300, 306, 320, 321, 322, 323, 324, 325, 326, 327, 328, 333, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 362, 365, 368, 371, 372, 373, 374, 375, 376, 377, 382, 383, 384, 385, 386, 387, 388, 395, 396, 398, 399, 400, 402], "x": [1, 3, 4, 5, 35, 80, 107, 112, 114, 115, 137, 148, 189, 193, 205, 210, 214, 241, 242, 247, 253, 264, 266, 267, 268, 275, 277, 278, 280, 281, 282, 283, 284, 285, 306, 309, 311, 316, 318, 320, 329, 330, 331, 332, 333, 334, 335, 336, 337, 350, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 368, 370, 377, 395, 396, 397, 398, 399, 400, 402], "y": [1, 3, 4, 5, 35, 247, 264, 268, 272, 277, 278, 280, 281, 309, 342, 347, 350, 370, 373, 395, 396, 398, 399], "scale": [1, 4, 99, 114, 115, 116, 117, 188, 189, 196, 272, 273, 280, 305, 312, 313, 316, 320, 356, 372], "them": [1, 4, 264, 290, 302, 402], "both": [1, 12, 103, 104, 106, 135, 136, 144, 146, 147, 148, 156, 163, 176, 178, 181, 192, 228, 266, 267, 278, 279, 282, 283, 370, 395, 396, 400, 402], "coeffici": [1, 371, 372, 374, 375, 376, 377], "alpha": [1, 188, 329, 351, 353, 356, 375, 382], "beta": [1, 99, 188, 268, 277, 278, 280, 350, 374, 375, 376, 377], "respect": [1, 3, 5, 114, 115, 134, 188, 243, 253, 264, 268, 275, 277, 278, 280, 368, 396, 400], "add": [1, 2, 4, 35, 111, 156, 185, 188, 269, 270, 396, 402], "togeth": [1, 5, 188, 253, 254], "get": [1, 3, 5, 7, 87, 88, 96, 97, 167, 168, 169, 194, 264, 395, 396, 398, 402], "z": [1, 276, 395, 398], "directli": [1, 4], "import": [1, 2, 3, 4, 5, 7, 148, 210, 243, 252, 253, 254, 255, 264, 266, 267, 268, 278, 282, 283, 292, 320, 338, 340, 347, 365, 368, 395, 396, 397, 398, 399, 400], "core": [1, 2, 3, 4, 5, 250, 264, 266, 267, 268, 278, 282, 283, 292, 295, 297, 300, 320, 321, 322, 323, 324, 325, 326, 327, 328, 338, 340, 347, 365, 368, 370, 395, 399, 400], "mx": [1, 2, 3, 4, 5, 35, 130, 144, 148, 149, 151, 210, 243, 264, 266, 267, 268, 278, 282, 283, 285, 292, 296, 311, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 335, 338, 339, 340, 344, 347, 354, 363, 365, 368, 370, 392, 395, 396, 397, 398, 399, 400, 401, 402, 403], "def": [1, 3, 4, 5, 243, 264, 368, 395, 396, 397, 398, 399, 402], "simple_axpbi": 1, "float": [1, 10, 14, 16, 73, 114, 115, 116, 117, 132, 133, 139, 144, 148, 189, 191, 196, 258, 268, 271, 272, 273, 277, 278, 280, 285, 297, 309, 312, 316, 318, 319, 320, 321, 322, 323, 324, 325, 327, 328, 339, 340, 341, 343, 347, 350, 351, 361, 362, 371, 372, 373, 374, 375, 376, 377, 382, 383, 384, 385, 387, 388], "return": [1, 3, 4, 5, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 34, 46, 64, 73, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 98, 99, 100, 101, 103, 104, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 168, 171, 172, 175, 176, 177, 178, 179, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 199, 200, 201, 202, 203, 204, 205, 206, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 264, 276, 279, 285, 286, 287, 289, 290, 291, 292, 293, 294, 295, 299, 300, 302, 303, 304, 310, 321, 322, 323, 324, 325, 326, 327, 328, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 365, 368, 378, 394, 395, 396, 397, 398, 399, 401, 402], "function": [1, 2, 3, 4, 5, 6, 14, 84, 104, 107, 108, 134, 139, 145, 148, 149, 161, 214, 243, 245, 246, 251, 253, 254, 264, 275, 284, 286, 290, 297, 302, 306, 310, 311, 313, 314, 315, 317, 318, 319, 330, 331, 332, 333, 334, 336, 337, 352, 357, 359, 360, 361, 362, 363, 365, 370, 379, 392, 394, 397, 398, 399, 401], "perform": [1, 2, 4, 6, 80, 88, 92, 93, 94, 95, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 161, 189, 205, 218, 232, 264, 277, 319, 324, 325, 395, 397, 398, 402], "while": [1, 2, 4, 7, 204, 312, 398, 399], "leav": [1, 109, 253, 254], "howev": [1, 264, 275, 277, 379, 392, 395, 398, 399], "mai": [1, 148, 250, 272, 396, 397], "need": [1, 4, 5, 6, 76, 188, 264, 303, 304, 316, 319, 392, 396, 398, 399, 400, 402], "underli": 1, "perhap": [1, 4], "make": [1, 2, 4, 5, 7, 161, 180, 213, 264, 384, 385, 387, 388, 395, 398, 400, 402], "faster": [1, 104, 330, 395, 396], "differenti": [1, 6], "In": [1, 4, 5, 35, 161, 188, 253, 264, 272, 277, 368, 371, 373, 374, 376, 377, 378, 394, 395, 396, 398, 401, 402], "tutori": 1, "we": [1, 3, 4, 5, 99, 188, 189, 264, 274, 307, 314, 375, 377, 392, 394, 395, 396, 398, 402], "go": [1, 4, 396], "through": [1, 226, 319, 377, 395, 396, 399], "ad": [1, 3, 7, 114, 278, 368, 371, 372, 373, 374, 375, 376, 382, 398, 401], "extens": [1, 151, 173, 296, 401], "It": [1, 4, 7, 134, 213, 243, 264, 304, 308, 378, 390, 399, 401], "cover": 1, "The": [1, 2, 4, 5, 6, 7, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 34, 43, 47, 57, 58, 64, 73, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 98, 99, 100, 101, 103, 104, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 168, 169, 171, 172, 173, 175, 176, 177, 178, 179, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 199, 200, 201, 202, 203, 204, 208, 209, 214, 215, 216, 217, 218, 219, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 258, 266, 267, 268, 269, 270, 271, 272, 273, 274, 276, 277, 278, 279, 280, 281, 282, 283, 285, 286, 290, 292, 296, 297, 298, 299, 302, 303, 304, 305, 307, 308, 309, 310, 312, 314, 316, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 333, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 362, 365, 368, 370, 371, 372, 373, 374, 375, 376, 377, 380, 382, 383, 384, 387, 390, 395, 396, 397, 398, 399, 400, 401, 402, 403], "structur": [1, 378, 396], "librari": [1, 7, 264], "redirect": 1, "acceler": [1, 268], "when": [1, 4, 6, 7, 84, 88, 148, 151, 269, 270, 320, 324, 325, 344, 350, 368, 386, 392, 395, 402], "appropri": [1, 395], "metal": [1, 6], "vjp": [1, 400], "jvp": [1, 400], "comput": [1, 3, 4, 5, 6, 7, 92, 93, 94, 95, 99, 112, 116, 134, 145, 148, 156, 164, 184, 188, 218, 225, 226, 236, 243, 244, 245, 251, 264, 268, 276, 277, 278, 279, 280, 290, 303, 308, 309, 312, 319, 322, 323, 324, 325, 331, 332, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 370, 371, 372, 374, 375, 376, 377, 381, 395, 396, 400, 402], "graph": [1, 4, 5, 6, 396], "provid": [1, 4, 99, 134, 236, 243, 253, 264, 285, 290, 292, 302, 303, 304, 307, 308, 319, 320, 364, 368, 401, 403], "rule": 1, "evalu": [1, 4, 5, 6, 109, 145, 245, 264, 288, 299, 368, 370, 395, 400], "start": [1, 3, 4, 6, 7, 16, 116, 150, 173, 220, 395, 397, 402], "discuss": 1, "more": [1, 2, 5, 9, 73, 101, 161, 171, 172, 208, 209, 258, 264, 268, 272, 312, 316, 319, 320, 322, 323, 324, 325, 392, 395, 396, 397, 400, 402], "detail": [1, 9, 171, 264, 272, 312, 316, 320, 322, 323, 324, 325, 371, 373, 374, 376, 377, 397, 400], "ar": [1, 3, 4, 5, 6, 7, 14, 16, 76, 80, 81, 83, 84, 88, 89, 101, 109, 113, 119, 120, 122, 123, 125, 126, 128, 129, 130, 134, 139, 140, 141, 142, 143, 144, 145, 148, 149, 151, 161, 172, 184, 185, 186, 188, 189, 191, 192, 193, 197, 200, 201, 210, 211, 223, 224, 232, 243, 245, 246, 250, 252, 253, 258, 268, 269, 270, 271, 272, 273, 277, 278, 280, 281, 292, 305, 308, 320, 338, 340, 341, 364, 368, 377, 379, 394, 395, 396, 397, 398, 399, 400, 401, 402], "front": 1, "thei": [1, 3, 4, 14, 89, 139, 314, 342, 368, 377, 394, 395, 398, 400, 401, 402], "defin": [1, 3, 4, 5, 7, 148, 189, 252, 399], "c": [1, 4, 148, 266, 267, 268, 269, 270, 272, 273, 278, 279, 282, 283, 399, 400, 402], "api": [1, 396], "axpbi": 1, "scalar": [1, 12, 14, 27, 46, 73, 76, 80, 81, 83, 103, 104, 106, 132, 133, 134, 135, 136, 139, 146, 147, 148, 150, 156, 157, 158, 159, 161, 163, 176, 178, 181, 185, 191, 197, 200, 201, 208, 228, 243, 247, 251, 351, 396, 398, 400], "i": [1, 2, 4, 5, 6, 7, 14, 16, 25, 34, 73, 83, 86, 87, 88, 89, 92, 93, 94, 95, 100, 101, 104, 109, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 132, 133, 139, 144, 145, 148, 149, 151, 156, 160, 161, 165, 169, 170, 172, 185, 186, 188, 189, 191, 192, 195, 196, 199, 200, 201, 204, 207, 208, 209, 214, 218, 220, 225, 226, 231, 232, 233, 236, 239, 243, 244, 245, 246, 247, 250, 252, 253, 254, 258, 264, 266, 267, 268, 269, 270, 271, 272, 273, 275, 276, 277, 278, 279, 280, 281, 282, 283, 289, 290, 296, 298, 299, 301, 302, 304, 305, 306, 308, 309, 310, 312, 316, 318, 319, 320, 324, 325, 330, 332, 338, 339, 341, 346, 347, 350, 351, 353, 358, 362, 368, 372, 375, 377, 378, 379, 384, 386, 387, 392, 395, 396, 397, 398, 399, 400, 401, 402, 403], "sum": [1, 3, 12, 95, 138, 148, 160, 218, 236, 264, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 397, 399], "vector": [1, 3, 6, 138, 145, 148, 232, 245, 246, 274, 340, 400], "element": [1, 11, 12, 17, 18, 19, 20, 21, 22, 25, 66, 82, 90, 91, 92, 93, 94, 95, 99, 103, 104, 106, 107, 108, 110, 112, 113, 131, 132, 135, 136, 139, 140, 141, 142, 143, 146, 147, 152, 153, 154, 155, 156, 157, 158, 159, 163, 165, 176, 178, 179, 181, 186, 188, 189, 202, 203, 206, 214, 215, 216, 217, 221, 222, 228, 232, 234, 235, 238, 243, 247, 271, 272, 273, 276, 279, 284, 306, 310, 312, 334, 336, 337, 352, 353, 355, 358, 359, 360, 395, 396], "wise": [1, 11, 12, 17, 18, 19, 20, 21, 22, 82, 90, 91, 103, 104, 106, 107, 108, 110, 112, 131, 132, 135, 136, 139, 146, 147, 152, 153, 154, 155, 156, 157, 158, 159, 163, 176, 178, 179, 181, 202, 206, 214, 215, 216, 217, 221, 222, 228, 234, 235, 272, 273, 284, 306, 334, 336, 337, 352, 353, 355, 358, 359, 360, 395], "follow": [1, 4, 5, 6, 7, 16, 89, 99, 148, 188, 254, 264, 331, 332, 344, 371, 372, 373, 374, 375, 376, 377, 383, 392, 395, 396, 402], "numpi": [1, 4, 5, 6, 12, 14, 16, 81, 103, 104, 106, 135, 136, 139, 146, 147, 156, 161, 163, 176, 178, 181, 228, 398, 400, 401], "style": [1, 12, 14, 103, 104, 106, 135, 136, 139, 146, 147, 156, 161, 163, 176, 178, 181, 228], "broadcast": [1, 12, 14, 81, 83, 103, 104, 106, 133, 135, 136, 139, 146, 147, 156, 161, 163, 176, 178, 181, 191, 192, 195, 200, 201, 228, 233, 247, 305], "between": [1, 6, 83, 130, 319, 339, 342, 343, 346, 386, 398, 402], "input": [1, 3, 4, 11, 12, 13, 14, 15, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 98, 100, 101, 103, 104, 106, 107, 108, 110, 111, 112, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 134, 135, 136, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 175, 176, 177, 178, 179, 181, 183, 184, 185, 186, 187, 188, 189, 190, 199, 202, 203, 204, 205, 206, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 228, 229, 230, 232, 233, 234, 235, 236, 237, 238, 239, 241, 242, 243, 244, 246, 247, 249, 266, 267, 268, 269, 270, 272, 273, 274, 276, 277, 278, 279, 280, 281, 282, 283, 305, 308, 309, 310, 312, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 333, 338, 339, 341, 342, 343, 344, 346, 347, 349, 351, 362, 365, 395, 396, 397, 400, 401], "upcast": 1, "const": [1, 341], "factor": [1, 149, 320, 340, 385, 388], "streamordevic": 1, "stream": [1, 6, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 65, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 97, 98, 99, 100, 101, 103, 104, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 136, 137, 138, 139, 140, 141, 142, 143, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 195, 196, 197, 199, 200, 201, 202, 203, 204, 205, 206, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 244, 247, 248, 249, 402], "which": [1, 4, 5, 6, 7, 16, 34, 84, 88, 101, 109, 116, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 134, 140, 141, 142, 143, 145, 148, 149, 151, 165, 173, 188, 192, 193, 203, 204, 207, 208, 209, 210, 211, 223, 224, 232, 243, 245, 246, 250, 267, 272, 273, 275, 283, 285, 289, 312, 340, 343, 347, 350, 365, 378, 379, 392, 395, 396, 397, 398, 402, 403], "schedul": [1, 172, 370, 384, 385, 386, 387, 388, 390, 402], "simplest": [1, 264], "wai": [1, 4, 7, 264, 320, 395, 396, 397], "term": [1, 341, 371, 372, 373, 374, 375, 376, 382], "exist": [1, 2, 4, 290, 302], "auto": [1, 7], "ax": [1, 13, 15, 23, 24, 74, 111, 119, 120, 122, 123, 125, 126, 128, 129, 130, 138, 148, 160, 162, 164, 175, 185, 187, 218, 223, 225, 229, 230, 236, 239, 244, 396], "multipli": [1, 35, 188, 189, 271, 316, 320], "themselv": [1, 395], "contain": [1, 4, 25, 26, 64, 84, 101, 124, 125, 126, 148, 157, 158, 159, 188, 220, 247, 264, 289, 291, 292, 298, 319, 347, 365, 368, 395, 396], "act": [1, 346], "data": [1, 5, 6, 9, 16, 113, 127, 128, 133, 137, 150, 182, 200, 240, 248, 273, 321, 322, 323, 324, 325, 326, 327, 328, 395, 397, 399], "nor": [1, 134, 243], "rather": [1, 396, 402], "easi": [1, 264], "interfac": 1, "block": [1, 4, 80, 319], "A": [1, 4, 6, 7, 8, 64, 76, 84, 114, 115, 117, 134, 145, 148, 149, 151, 160, 161, 162, 175, 188, 191, 192, 193, 195, 196, 197, 200, 201, 220, 224, 227, 243, 245, 246, 250, 251, 252, 253, 254, 255, 256, 264, 268, 272, 276, 277, 278, 280, 289, 293, 294, 297, 303, 304, 309, 314, 316, 319, 322, 323, 325, 332, 351, 352, 368, 370, 374, 376, 378, 379, 381, 386, 395, 396, 398, 399], "part": [1, 396, 397], "creat": [1, 4, 7, 113, 137, 227, 264, 368, 370, 386, 395, 397, 399], "output": [1, 4, 7, 13, 14, 15, 16, 25, 80, 81, 84, 92, 93, 94, 95, 113, 114, 115, 116, 117, 124, 127, 128, 129, 133, 134, 137, 139, 148, 150, 160, 162, 164, 165, 175, 182, 183, 186, 187, 191, 192, 193, 195, 196, 197, 200, 201, 210, 211, 218, 223, 225, 229, 233, 240, 243, 244, 245, 246, 247, 248, 249, 266, 267, 268, 269, 270, 278, 281, 282, 283, 305, 308, 318, 319, 320, 322, 323, 324, 325, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 362, 365, 395, 396, 397, 398, 399, 400, 401, 402], "given": [1, 13, 15, 25, 35, 81, 83, 85, 92, 93, 94, 95, 99, 101, 109, 111, 118, 119, 120, 121, 122, 123, 127, 128, 129, 133, 148, 160, 162, 164, 171, 175, 180, 187, 195, 197, 205, 213, 218, 220, 225, 229, 231, 237, 238, 240, 241, 242, 244, 256, 266, 267, 271, 282, 283, 289, 305, 339, 341, 347], "further": [1, 7, 396], "ha": [1, 2, 4, 5, 6, 73, 84, 101, 124, 125, 127, 128, 129, 134, 165, 168, 192, 268, 276, 279, 281, 310, 368, 370, 395, 397, 398, 400, 402], "method": [1, 4, 8, 9, 10, 27, 256, 264, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 296, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 368, 371, 372, 373, 374, 375, 376, 377, 379, 382, 383, 390], "run": [1, 2, 4, 5, 6, 7, 8, 184, 256, 268, 285, 371, 372, 374, 375, 376, 395, 398, 402, 403], "our": [1, 4, 5, 314, 371, 372, 373, 374, 376, 377], "concret": [1, 276, 279, 281, 310, 398, 402], "class": [1, 4, 5, 8, 9, 10, 27, 256, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 368, 371, 372, 373, 374, 375, 376, 377, 382, 383, 390], "public": [1, 264], "explicit": [1, 379, 392, 399], "alpha_": 1, "beta_": 1, "must": [1, 2, 7, 80, 83, 133, 148, 191, 192, 195, 197, 200, 201, 247, 320, 399], "know": [1, 4], "itself": [1, 250, 379], "popul": 1, "To": [1, 2, 3, 4, 5, 7, 171, 264, 365, 395, 396, 400], "avoid": [1, 297, 395], "unnecessari": [1, 4], "alloc": [1, 168, 171, 172, 368], "respons": 1, "space": [1, 150, 349], "void": 1, "eval_cpu": 1, "std": [1, 327], "overrid": [1, 105], "eval_gpu": 1, "jacobian": [1, 145, 245, 400], "product": [1, 94, 138, 145, 161, 184, 187, 236, 245, 305, 400], "primal": [1, 145, 245], "tangent": [1, 21, 22, 145, 234, 235, 363], "int": [1, 4, 5, 8, 13, 15, 16, 23, 24, 25, 26, 30, 31, 32, 33, 37, 38, 39, 40, 41, 42, 45, 52, 53, 54, 55, 56, 59, 62, 64, 67, 70, 71, 72, 73, 75, 80, 81, 85, 86, 87, 88, 92, 93, 94, 95, 99, 100, 101, 111, 113, 116, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 133, 134, 137, 144, 148, 150, 160, 162, 164, 167, 168, 169, 171, 172, 175, 177, 182, 185, 186, 187, 188, 189, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 203, 204, 205, 218, 219, 220, 223, 224, 225, 229, 230, 232, 233, 236, 237, 238, 239, 240, 241, 242, 243, 244, 246, 248, 250, 256, 264, 266, 267, 268, 269, 270, 274, 276, 277, 278, 279, 280, 281, 282, 283, 305, 307, 308, 309, 310, 312, 316, 319, 333, 339, 340, 344, 349, 351, 368, 384, 386, 387, 388], "argnum": [1, 134, 243, 396], "cotan": 1, "across": [1, 277], "pair": [1, 185, 292, 312], "repres": [1, 4, 347, 351, 399], "axi": [1, 4, 5, 13, 15, 23, 24, 25, 26, 30, 31, 32, 33, 37, 38, 39, 40, 52, 53, 54, 55, 59, 67, 70, 71, 75, 85, 92, 93, 94, 95, 101, 111, 114, 115, 118, 121, 124, 125, 126, 127, 128, 129, 130, 148, 160, 162, 164, 175, 177, 185, 186, 187, 192, 203, 218, 219, 220, 223, 224, 225, 229, 230, 232, 233, 237, 238, 239, 244, 246, 266, 267, 282, 283, 310, 333, 337, 339, 340, 344, 349, 351, 359, 397], "correspond": [1, 13, 15, 73, 83, 99, 101, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 160, 162, 175, 187, 229, 236, 246, 253, 396], "dimens": [1, 4, 13, 15, 23, 24, 58, 64, 73, 77, 78, 79, 84, 87, 88, 101, 111, 116, 125, 126, 128, 129, 130, 138, 148, 149, 160, 161, 162, 164, 175, 187, 188, 192, 199, 225, 229, 233, 236, 239, 244, 268, 269, 270, 272, 273, 276, 277, 278, 279, 280, 305, 309, 310, 312, 319, 320, 333, 340, 395, 396], "virtual": 1, "vmap": [1, 396, 398, 400], "print": [1, 3, 4, 5, 7, 252, 253, 254, 255, 264, 392, 395, 396, 397, 398, 399, 400], "ostream": 1, "o": [1, 7, 117, 279], "equival": [1, 28, 61, 74, 104, 132, 232, 275, 304, 306, 308, 311, 313, 315, 317], "check": [1, 7, 76, 144, 170, 292, 396, 397], "bool": [1, 13, 14, 15, 23, 24, 30, 31, 32, 33, 37, 38, 39, 40, 52, 53, 54, 55, 59, 71, 73, 75, 76, 84, 88, 92, 93, 94, 95, 116, 139, 144, 148, 151, 160, 162, 164, 165, 170, 172, 175, 187, 189, 225, 229, 244, 268, 269, 270, 276, 277, 278, 279, 280, 281, 285, 289, 290, 292, 297, 299, 302, 305, 308, 310, 312, 316, 319, 320, 338, 341, 372, 383], "is_equival": 1, "other": [1, 4, 6, 144, 148, 264, 291, 368, 377, 395, 397, 398, 400], "privat": 1, "fall": 1, "eval": [1, 2, 3, 4, 5, 264, 368, 370, 395, 396, 398, 400], "out": [1, 7, 80, 266, 267, 272, 273, 282, 283, 299, 395, 396, 397], "deriv": [1, 396, 398], "from": [1, 4, 5, 6, 98, 99, 101, 125, 126, 128, 129, 133, 148, 151, 161, 165, 169, 171, 183, 188, 190, 191, 192, 193, 194, 197, 200, 210, 223, 226, 228, 232, 233, 238, 247, 249, 252, 253, 254, 255, 264, 281, 290, 292, 305, 322, 323, 324, 325, 327, 328, 341, 350, 365, 394, 395, 396, 398, 399, 400, 401, 402], "base": [1, 116, 148, 153, 155, 312, 319, 368, 370, 376, 390, 392, 395, 397], "treat": [1, 125, 126, 128, 129, 232, 320, 395], "paramet": [1, 3, 4, 5, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 34, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 98, 99, 100, 101, 103, 104, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 171, 172, 173, 175, 176, 177, 178, 179, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 285, 286, 289, 290, 292, 297, 298, 299, 302, 303, 304, 305, 306, 307, 308, 309, 310, 312, 314, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 333, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 362, 364, 365, 368, 370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 381, 382, 383, 384, 385, 386, 387, 388, 390, 395, 396, 398], "produc": [1, 84, 305, 365], "also": [1, 4, 5, 6, 7, 10, 12, 102, 103, 104, 106, 120, 123, 126, 129, 135, 136, 146, 147, 156, 163, 176, 178, 181, 188, 228, 250, 251, 264, 289, 303, 305, 307, 308, 315, 330, 356, 358, 364, 370, 395, 396, 397, 398, 399, 400, 403], "new": [1, 5, 81, 101, 177, 180, 204, 224, 239, 253, 254, 297, 305, 368, 370, 381, 386, 395, 397, 398, 399], "construct": [1, 5, 41, 100, 133, 182, 237, 248], "its": [1, 7, 161, 186, 199, 240, 251, 255, 264, 308, 374, 375, 376, 399, 402], "type": [1, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 34, 64, 73, 76, 77, 78, 79, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 98, 99, 100, 101, 103, 104, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 171, 172, 175, 176, 177, 178, 179, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 199, 200, 201, 202, 203, 204, 205, 206, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 228, 229, 230, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 252, 264, 297, 319, 321, 322, 323, 324, 325, 326, 327, 328, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 395, 397], "shape": [1, 2, 4, 5, 61, 76, 80, 81, 84, 86, 87, 88, 101, 117, 118, 121, 124, 127, 128, 129, 133, 145, 161, 182, 183, 191, 192, 193, 195, 196, 197, 200, 201, 204, 233, 245, 247, 248, 249, 264, 266, 267, 268, 269, 270, 272, 273, 276, 278, 279, 281, 282, 283, 292, 310, 321, 322, 323, 324, 325, 326, 327, 328, 340, 351, 370, 395, 396, 397, 400, 402], "pass": [1, 4, 5, 61, 74, 184, 185, 243, 251, 252, 253, 254, 264, 290, 302, 303, 304, 314, 395, 398], "reimplement": 1, "now": [1, 4, 7, 308, 395, 399], "promot": 1, "dtype": [1, 4, 10, 16, 27, 34, 35, 73, 113, 130, 133, 137, 144, 148, 149, 150, 182, 193, 195, 196, 197, 200, 201, 240, 248, 258, 297, 320, 321, 322, 323, 324, 325, 326, 327, 328, 338, 340, 347, 384, 385, 386, 387, 388, 395, 396, 397, 399, 400, 401], "promoted_dtyp": 1, "promote_typ": 1, "float32": [1, 10, 16, 113, 117, 137, 144, 148, 149, 150, 182, 193, 195, 196, 200, 201, 240, 248, 258, 320, 321, 322, 323, 324, 325, 326, 327, 328, 338, 340, 347, 384, 385, 386, 387, 388, 395, 396, 397, 398, 399, 400, 401], "non": [1, 7, 165, 300, 310, 352, 368], "point": [1, 3, 4, 7, 132, 189, 258], "out_dtyp": 1, "is_floating_point": 1, "cast": [1, 34, 127, 128, 129, 151, 285, 297, 399], "up": [1, 4, 395], "determin": [1, 101, 195, 258, 296, 401], "same": [1, 4, 7, 14, 35, 76, 81, 84, 87, 88, 89, 114, 115, 124, 127, 128, 129, 134, 139, 145, 185, 192, 205, 245, 247, 254, 264, 267, 268, 271, 277, 278, 283, 307, 321, 322, 323, 324, 325, 326, 327, 328, 340, 351, 368, 378, 392, 395, 397, 402], "x_cast": 1, "astyp": [1, 4, 285, 399], "y_cast": 1, "broadcasted_input": 1, "broadcast_arrai": 1, "out_shap": 1, "0": [1, 3, 4, 5, 7, 8, 16, 35, 41, 42, 45, 62, 67, 75, 85, 86, 87, 88, 100, 101, 113, 117, 130, 134, 148, 149, 166, 171, 185, 191, 196, 201, 203, 205, 220, 224, 225, 240, 241, 242, 243, 244, 246, 252, 254, 264, 266, 267, 268, 269, 270, 271, 272, 273, 275, 277, 278, 280, 282, 283, 306, 311, 312, 316, 317, 318, 319, 321, 322, 323, 324, 325, 326, 327, 328, 329, 331, 332, 334, 335, 338, 340, 342, 343, 347, 350, 351, 353, 354, 355, 356, 361, 362, 365, 368, 371, 372, 374, 375, 376, 377, 379, 382, 383, 384, 385, 386, 387, 388, 392, 395, 396, 397, 398, 399, 400, 401], "unique_ptr": 1, "make_shar": 1, "to_stream": 1, "handl": [1, 264, 395], "resolv": 1, "No": [1, 4], "happen": [1, 4, 114, 319, 370, 395, 398], "call": [1, 2, 4, 5, 28, 132, 166, 264, 274, 290, 302, 307, 314, 368, 370, 379, 395, 396, 398], "alon": [1, 399], "onli": [1, 4, 6, 7, 76, 80, 86, 87, 88, 148, 188, 195, 264, 289, 290, 292, 297, 299, 302, 303, 304, 368, 395, 396, 401, 402], "execut": [1, 7, 77, 78, 79, 169, 399, 402], "depend": [1, 2, 3, 73, 148, 276, 279, 310, 397, 401, 402], "devic": [1, 6, 7, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 65, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 103, 104, 106, 107, 108, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 135, 136, 137, 138, 139, 140, 141, 142, 143, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 172, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 195, 196, 197, 199, 200, 201, 202, 203, 204, 205, 206, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 244, 247, 248, 249, 256, 402, 403], "specifi": [1, 16, 34, 87, 88, 101, 125, 126, 133, 134, 148, 150, 177, 182, 192, 203, 230, 232, 233, 236, 239, 243, 246, 248, 268, 318, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 362, 396, 402], "user": [1, 4, 264], "memori": [1, 6, 166, 167, 168, 169, 171, 172, 319, 368, 372, 395, 398, 399], "been": [1, 4, 168, 398], "naiv": [1, 396], "gener": [1, 2, 3, 10, 16, 88, 113, 125, 126, 150, 165, 191, 195, 196, 197, 200, 201, 319, 392, 395, 397, 398, 403], "version": [1, 7, 99, 156, 160, 188, 218, 246, 392, 396, 397], "declar": 1, "member": [1, 264, 295, 300], "earlier": 1, "over": [1, 4, 5, 13, 15, 23, 24, 25, 26, 86, 87, 88, 92, 93, 94, 95, 120, 123, 126, 129, 138, 148, 150, 160, 162, 164, 175, 186, 187, 206, 218, 219, 225, 229, 236, 238, 244, 268, 269, 270, 277, 280, 309, 340, 384, 387, 396], "each": [1, 64, 99, 109, 116, 144, 161, 165, 185, 188, 189, 192, 203, 210, 211, 220, 237, 239, 246, 247, 272, 273, 274, 276, 277, 279, 310, 312, 319, 338, 340, 392, 395, 398], "find": [1, 3, 7], "captur": [1, 2, 84, 173, 174, 264, 395], "templat": 1, "axpby_impl": 1, "typenam": 1, "t": [1, 4, 107, 117, 189, 243, 264, 266, 276, 279, 282, 310, 371, 372, 373, 374, 375, 376, 377, 382, 383, 395, 396, 402], "readi": 1, "fill": [1, 133, 183, 240, 249, 321, 322, 323, 324, 325, 327, 328], "malloc_or_wait": 1, "synchron": [1, 395], "avail": [1, 3, 4, 5, 7, 9, 170, 402], "There": [1, 264, 320, 395], "wait": [1, 4, 172], "here": [1, 4, 395, 396, 398, 401, 402], "request": 1, "under": [1, 148], "pressur": 1, "condit": [1, 247, 402], "set_data": 1, "nbyte": 1, "collect": [1, 253, 254, 394], "pointer": 1, "x_ptr": 1, "y_ptr": 1, "out_ptr": 1, "relev": 1, "static_cast": 1, "size_t": 1, "out_idx": 1, "size": [1, 4, 5, 47, 64, 80, 87, 99, 111, 114, 115, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 133, 137, 144, 148, 168, 172, 188, 189, 192, 204, 220, 223, 250, 264, 266, 267, 269, 270, 274, 278, 282, 283, 307, 308, 320, 372, 398, 399], "map": [1, 5, 35, 151, 253, 274, 285], "linear": [1, 4, 5, 6, 250, 253, 264, 275, 292, 308, 310, 311, 313, 315, 320, 329, 330, 331, 332, 333, 335, 354, 355, 356, 358, 365, 368, 379, 387, 395], "indic": [1, 14, 23, 24, 25, 26, 35, 134, 139, 140, 141, 142, 143, 220, 232, 233, 243, 299, 301, 340, 347, 386, 397], "offset": [1, 4, 42, 101, 114, 116], "x_offset": 1, "elem_to_loc": 1, "stride": [1, 86, 87, 88, 266, 267, 269, 270, 282, 283, 312, 397], "y_offset": 1, "contigu": 1, "regularli": 1, "default": [1, 7, 13, 14, 15, 16, 23, 24, 25, 26, 76, 80, 84, 85, 86, 87, 88, 96, 97, 99, 100, 101, 113, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 134, 137, 139, 148, 149, 150, 151, 160, 162, 164, 165, 171, 172, 175, 182, 186, 187, 188, 189, 191, 192, 193, 195, 196, 197, 199, 200, 201, 203, 204, 205, 212, 213, 219, 220, 223, 224, 225, 227, 229, 231, 236, 238, 239, 240, 241, 242, 243, 244, 246, 248, 250, 258, 266, 267, 268, 269, 270, 276, 278, 279, 281, 282, 283, 285, 290, 292, 297, 299, 302, 305, 306, 307, 308, 310, 312, 316, 317, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 333, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 368, 371, 372, 373, 374, 375, 376, 377, 382, 383, 384, 392, 394, 395, 396, 399, 401, 403], "row": [1, 113, 137, 188, 240], "major": 1, "henc": [1, 188, 395], "doesn": [1, 264], "addit": [1, 4, 12, 114, 115, 117, 151, 268, 277, 280, 305, 309, 368, 396], "should": [1, 3, 4, 5, 7, 101, 114, 115, 117, 145, 166, 173, 188, 233, 243, 245, 250, 252, 264, 269, 270, 272, 273, 299, 305, 314, 340, 342, 347, 368, 394, 395, 396, 398, 399, 403], "work": [1, 2, 4, 7, 172, 395, 396, 397, 398], "all": [1, 2, 5, 7, 14, 25, 35, 77, 78, 79, 84, 87, 88, 113, 120, 123, 126, 129, 161, 185, 186, 223, 250, 264, 285, 286, 290, 293, 294, 295, 300, 302, 305, 316, 319, 320, 365, 368, 390, 392, 395, 397, 398, 400, 403], "incom": 1, "accordingli": 1, "dispatch": 1, "float16": [1, 10, 151, 258, 285, 398, 399], "bfloat16": [1, 10, 258, 399], "complex64": [1, 258], "throw": [1, 84], "error": [1, 7, 107, 108, 172, 220, 275, 330, 331, 332, 346, 348, 396, 399], "encount": [1, 396], "unexpect": [1, 16], "1": [1, 2, 4, 5, 16, 25, 26, 35, 42, 45, 86, 87, 88, 100, 101, 112, 117, 118, 119, 121, 122, 124, 125, 126, 127, 128, 129, 130, 138, 144, 148, 149, 161, 165, 172, 184, 186, 188, 192, 195, 196, 201, 214, 219, 232, 238, 243, 254, 258, 264, 266, 267, 268, 269, 270, 271, 272, 273, 275, 276, 277, 278, 279, 280, 281, 282, 283, 306, 309, 310, 312, 316, 318, 320, 322, 323, 324, 325, 326, 327, 328, 329, 331, 332, 333, 336, 337, 338, 339, 340, 341, 342, 343, 344, 346, 347, 349, 350, 351, 356, 357, 359, 360, 362, 365, 368, 370, 371, 372, 373, 374, 375, 376, 377, 379, 382, 383, 384, 385, 386, 387, 388, 395, 396, 397, 399, 400, 401, 402], "correct": [1, 7, 374, 375, 376, 397, 398], "els": [1, 4, 264, 290, 398], "float16_t": 1, "bfloat16_t": 1, "complex64_t": 1, "runtime_error": 1, "support": [1, 4, 6, 7, 14, 80, 86, 87, 88, 117, 130, 139, 149, 151, 161, 188, 195, 396, 397, 399, 401], "good": [1, 7, 395, 402], "fallback": 1, "routin": 1, "framework": [1, 6], "certain": [1, 299, 395], "case": [1, 4, 120, 123, 124, 126, 127, 128, 129, 130, 149, 161, 204, 223, 267, 272, 283, 318, 350, 356, 361, 362, 378, 379, 395, 396, 400, 401, 402, 403], "doe": [1, 2, 4, 7, 167, 264, 395, 397, 398, 399], "half": [1, 16, 197, 201, 312, 398], "precis": [1, 4, 112, 117, 264, 275, 309, 378, 395], "assum": [1, 4, 80, 149, 253, 264, 266, 267, 277, 282, 283], "have": [1, 4, 7, 14, 76, 77, 78, 79, 80, 125, 126, 128, 129, 139, 161, 173, 192, 252, 279, 305, 314, 377, 379, 394, 395, 397, 398, 402], "fix": [1, 4, 7, 398], "direct": [1, 4, 287, 377, 402], "column": [1, 113, 137, 188], "place": [1, 4, 35, 205, 250, 398, 399], "expect": [1, 4, 269, 270, 271, 272, 273, 316, 319, 341, 395, 397], "write": [1, 4, 264, 399], "copi": [1, 4, 6, 186, 219, 399], "right": [1, 7, 188, 266, 267, 275, 282, 283, 320, 331, 332, 341, 343, 351], "catlas_saxpbi": 1, "axpby_impl_acceler": 1, "first": [1, 2, 3, 4, 5, 7, 101, 130, 134, 157, 159, 161, 186, 199, 230, 236, 243, 252, 254, 264, 267, 277, 283, 320, 339, 347, 372, 374, 375, 376, 379, 395, 396, 399, 402], "special": 1, "copy_inplac": 1, "copytyp": 1, "inplac": 1, "n": [1, 4, 27, 80, 86, 87, 88, 113, 118, 120, 121, 123, 124, 127, 129, 137, 195, 225, 240, 244, 266, 267, 268, 269, 270, 272, 273, 276, 279, 282, 283, 310, 320, 346, 351], "incx": 1, "inci": 1, "For": [1, 4, 7, 35, 117, 144, 148, 188, 255, 264, 268, 272, 285, 290, 299, 302, 308, 312, 316, 320, 322, 323, 324, 325, 365, 392, 395, 396, 397, 398, 399, 400, 401, 402], "fit": [1, 188, 402], "criteria": 1, "With": 1, "mind": [1, 4], "finish": 1, "assert": 1, "2": [1, 3, 4, 5, 35, 87, 100, 101, 107, 119, 122, 124, 125, 126, 127, 128, 129, 130, 144, 148, 149, 155, 161, 188, 195, 199, 236, 240, 241, 242, 258, 264, 266, 267, 270, 275, 282, 283, 309, 316, 320, 321, 322, 323, 324, 325, 326, 327, 328, 331, 340, 341, 343, 350, 351, 365, 368, 371, 373, 374, 375, 379, 382, 395, 396, 397, 398, 399, 400, 401, 402], "singl": [1, 5, 109, 145, 151, 165, 185, 245, 267, 283, 395, 397, 401], "flag": [1, 395, 399], "row_contigu": 1, "col_contigu": 1, "common": [1, 370, 395, 398], "just": [1, 5, 280, 395, 397], "much": [1, 4, 266, 267, 282, 283, 395, 398], "enough": [1, 398], "If": [1, 4, 7, 13, 14, 15, 16, 23, 24, 25, 26, 73, 76, 83, 85, 89, 92, 93, 94, 95, 100, 101, 109, 114, 116, 127, 128, 129, 132, 133, 134, 139, 148, 151, 160, 161, 162, 164, 165, 171, 172, 175, 182, 185, 186, 187, 192, 195, 203, 218, 219, 220, 225, 229, 231, 232, 233, 236, 238, 243, 244, 246, 248, 250, 253, 268, 269, 270, 277, 280, 281, 290, 292, 302, 308, 310, 312, 314, 316, 320, 338, 340, 351, 372, 395, 396, 398, 401, 402, 403], "plan": [1, 395], "stop": [1, 4, 16, 150, 174, 226, 396, 397], "enjoi": 1, "speed": 1, "appl": [1, 4, 6, 7, 402], "silicon": [1, 4, 6, 7, 402], "address": 1, "shade": 1, "languag": 1, "kernel": [1, 86, 87, 88, 266, 267, 282, 283, 395, 397], "written": 1, "some": [1, 3, 4, 5, 290, 302, 379, 395, 396, 398], "help": [1, 4, 395, 402], "resourc": 1, "walkthrough": 1, "pipelin": 1, "specif": [1, 7, 396], "cpp": 1, "keep": [1, 13, 15, 23, 24, 160, 162, 164, 175, 187, 225, 229, 244, 264, 289, 396, 398], "launch": [1, 397], "exactli": [1, 4, 292, 396], "mani": [1, 220, 269, 270, 274, 307, 395, 398], "thread": 1, "pick": 1, "updat": [1, 3, 4, 5, 35, 84, 250, 253, 268, 285, 286, 292, 297, 298, 299, 304, 370, 372, 375, 377, 378, 379, 383, 384, 385, 386, 387, 388, 395, 398], "assign": [1, 35, 368], "axpby_gener": 1, "buffer": [1, 167, 399], "constant": [1, 4, 7, 114, 115, 185, 264, 268, 277, 280, 309, 341, 351, 382, 384, 395, 399], "3": [1, 4, 7, 130, 144, 148, 149, 275, 320, 323, 325, 331, 334, 372, 377, 392, 395, 397, 399, 400], "4": [1, 4, 99, 130, 148, 188, 189, 210, 250, 258, 266, 267, 268, 278, 282, 283, 307, 308, 319, 320, 322, 323, 324, 338, 395, 397, 400, 402], "5": [1, 3, 4, 7, 148, 172, 191, 266, 268, 271, 272, 273, 275, 278, 282, 317, 320, 321, 324, 325, 331, 350, 361, 365, 382, 384, 385, 395, 396, 397], "x_stride": 1, "6": [1, 4, 148, 210, 319, 323, 331, 332, 334, 341, 351, 355, 382, 395, 397, 400], "y_stride": 1, "7": [1, 4, 148, 188, 397], "ndim": [1, 130, 148, 320], "8": [1, 4, 7, 148, 188, 258, 267, 278, 283, 319, 339, 371, 372, 373, 374, 375, 376, 382, 395, 397, 400, 402], "uint": 1, "index": [1, 6, 8, 25, 35, 111, 113, 134, 165, 186, 232, 233, 243, 256], "thread_position_in_grid": 1, "convert": [1, 73, 77, 78, 79, 98, 130, 190, 307, 308, 398, 399, 400], "instanti": [1, 5, 398], "give": [1, 4, 5, 25, 395], "uniqu": [1, 392], "host": 1, "name": [1, 151, 188, 189, 208, 209, 210, 211, 264, 277, 289, 292, 294, 397, 401], "so": [1, 4, 7, 134, 243, 271, 320, 370, 395, 398, 402], "identifi": [1, 252, 394], "instantiate_axpbi": 1, "type_nam": 1, "host_nam": 1, "axpby_general_": 1, "logic": [1, 157, 158, 159], "set": [1, 4, 5, 7, 84, 102, 105, 114, 116, 171, 172, 212, 213, 227, 275, 280, 281, 288, 290, 297, 298, 299, 302, 303, 308, 312, 318, 339, 351, 362, 368, 372, 379, 392, 396, 398], "grid": [1, 165], "shown": 1, "below": [1, 7, 148, 240, 242, 258, 320, 398], "prepar": [1, 4], "carri": 1, "d": [1, 4, 100, 101, 138, 148, 161, 165, 184, 232, 240, 241, 242, 255, 273, 276, 279, 310, 371, 374, 376, 402], "ostringstream": 1, "kname": 1, "axpby_": 1, "general_": 1, "type_to_nam": 1, "sure": [1, 2, 4, 7, 264, 395], "look": [1, 4], "folder": 1, "register_librari": 1, "mlx_ext": 1, "get_colocated_mtllib_path": 1, "get_kernel": 1, "str": [1, 89, 134, 148, 151, 165, 173, 207, 208, 209, 210, 211, 243, 252, 255, 285, 286, 289, 290, 292, 294, 296, 302, 320, 324, 325, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "encod": [1, 116, 312, 316, 319, 340], "compute_encod": 1, "get_command_encod": 1, "setcomputepipelinest": 1, "regist": [1, 5], "those": [1, 4, 264], "nelem": 1, "set_array_buff": 1, "setbyt": 1, "sizeof": 1, "number": [1, 10, 16, 57, 66, 84, 87, 88, 99, 113, 134, 137, 145, 150, 185, 188, 189, 192, 196, 199, 201, 203, 205, 236, 237, 240, 243, 245, 246, 250, 264, 268, 269, 270, 272, 273, 277, 278, 305, 306, 319, 320, 322, 323, 324, 325, 384, 386, 387, 392, 395, 396, 403], "ani": [1, 4, 6, 16, 84, 252, 253, 254, 255, 264, 275, 285, 286, 289, 298, 308, 319, 320, 365, 387, 394, 395, 396, 398, 400, 401, 402], "threadgroup": 1, "higher": [1, 138, 347, 396], "than": [1, 4, 73, 89, 101, 104, 116, 135, 136, 146, 147, 161, 171, 253, 312, 318, 320, 347, 350, 362, 372, 377, 395, 396, 402], "max": [1, 148, 163, 282, 283, 306, 334, 339, 341, 342, 347, 351, 353, 355, 372, 376, 395, 396, 402], "allow": [1, 144, 264, 304, 368, 390, 397, 400], "tgp_size": 1, "min": [1, 148, 176, 306, 334, 353, 355], "maxtotalthreadsperthreadgroup": 1, "3d": [1, 268, 273, 320], "mtl": 1, "group_dim": 1, "grid_dim": 1, "divid": [1, 35, 132, 188], "among": 1, "dispatchthread": 1, "few": [1, 4, 5, 6, 398, 400], "thing": [1, 4], "note": [1, 4, 7, 14, 80, 84, 86, 87, 117, 125, 126, 139, 148, 167, 188, 192, 250, 264, 309, 320, 399, 401], "about": [1, 4, 5, 398, 402], "befor": [1, 4, 7, 25, 186, 289, 319, 379, 397, 398], "move": [1, 177, 402], "track": [1, 264, 268], "activ": [1, 7, 167, 272, 318, 319, 352, 361, 362, 364, 395], "command_buff": 1, "mtlcommandbuff": 1, "associ": [1, 210, 211, 398], "reli": 1, "u": [1, 281, 304, 390, 398], "command": [1, 2, 7], "instead": [1, 7, 264, 304, 316, 396, 398], "one": [1, 4, 7, 35, 73, 77, 83, 87, 88, 111, 113, 114, 115, 148, 154, 161, 189, 192, 223, 228, 258, 302, 320, 340, 402], "end_encod": 1, "until": [1, 398, 400], "limit": [1, 83, 171, 172, 397], "hit": 1, "flush": 1, "next": [1, 4, 5, 171], "These": [1, 84, 233, 340, 402], "built": [1, 7, 398], "top": [1, 238, 281, 320], "includ": [1, 92, 93, 94, 95, 167, 168, 172, 280, 286, 298, 308, 341, 395, 396, 397, 400, 401, 403], "forward": [1, 243, 395, 398], "mode": [1, 89, 288, 299, 301, 320, 324, 325], "diff": 1, "push": 1, "along": [1, 23, 24, 84, 85, 92, 93, 94, 95, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 148, 203, 218, 220, 224, 232, 233, 236, 237, 238, 264, 310, 333], "op": [1, 184, 290, 398], "similarli": [1, 7, 161, 396, 398], "scale_arr": 1, "contribut": 1, "tangent_x": 1, "tangent_i": 1, "cotang": [1, 245], "unus": 1, "revers": [1, 37, 38, 39, 40, 92, 93, 94, 95, 239, 316], "arg": [1, 4, 9, 10, 109, 210, 211], "push_back": 1, "fulli": [1, 6, 395, 399, 402], "overal": 1, "directori": [1, 4, 7], "h": [1, 86, 87, 148, 267, 268, 270, 272, 273, 276, 279, 283, 310, 396, 398], "mlx_sample_extens": 1, "__init__": [1, 4, 5, 8, 9, 10, 27, 256, 264, 368], "py": [1, 4, 7], "cmakelist": 1, "txt": 1, "setup": [1, 3, 5, 7, 395], "packag": [1, 3, 5, 365], "hold": [1, 4, 9, 10, 148, 395], "instal": 1, "nanobind": [1, 7, 319], "sinc": [1, 4, 5, 368, 377, 386, 399, 402], "compon": [1, 4], "etc": [1, 188, 264, 320], "alreadi": [1, 2, 4], "nb_modul": 1, "_ext": 1, "m": [1, 4, 7, 80, 113, 148, 240, 266, 267, 282, 283, 371, 395], "doc": [1, 5], "sampl": [1, 3, 4, 150, 191, 192, 193, 195, 197, 200, 201, 322, 323, 324, 325, 327, 328, 341, 347, 351, 392, 395], "_a": 1, "nb": 1, "kw_onli": 1, "none": [1, 4, 8, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 65, 67, 68, 69, 70, 71, 72, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 173, 174, 175, 176, 177, 178, 179, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 209, 210, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 246, 247, 248, 249, 250, 252, 253, 254, 256, 266, 267, 275, 282, 283, 285, 289, 290, 297, 302, 305, 310, 316, 319, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 372, 390, 397], "r": [1, 4, 149, 243, 272, 276], "most": [1, 192, 264, 381, 395, 396, 397, 398], "complex": [1, 125, 126, 127, 128, 129, 252, 258, 264, 304, 395, 396], "abov": [1, 4, 188, 241, 264, 320, 375, 396, 397, 398, 402], "come": [1, 4, 396], "bell": 1, "whistl": 1, "liter": [1, 320, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "string": [1, 399, 401], "modul": [1, 4, 5, 250, 251, 314, 319, 365, 381, 394, 395, 398], "ensur": [1, 7, 346], "caster": 1, "requir": [1, 4, 264, 398, 399], "find_packag": 1, "config": 1, "link": [1, 7], "your": [1, 4, 7, 368, 396, 398], "add_librari": 1, "sourc": [1, 2, 56, 177, 239], "target_sourc": 1, "cmake_current_list_dir": 1, "header": 1, "target_include_directori": 1, "target_link_librari": 1, "attach": 1, "conveni": [1, 5, 144], "mlx_build_metallib": 1, "metallib": [1, 7], "target": [1, 243, 338, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 395], "destin": [1, 56, 177], "automat": [1, 6, 151, 400, 401, 402], "what": [1, 4, 253], "practic": [1, 395], "mlx_build_met": [1, 7], "mlx_ext_metallib": 1, "titl": 1, "include_dir": 1, "project_source_dir": 1, "mlx_include_dir": 1, "output_directori": 1, "cmake_library_output_directori": 1, "add_depend": 1, "endif": 1, "final": [1, 3, 4, 5, 387], "nanobind_add_modul": 1, "nb_static": 1, "stable_abi": 1, "lto": 1, "nomins": 1, "nb_domain": 1, "build_shared_lib": 1, "target_link_opt": 1, "wl": 1, "rpath": 1, "loader_path": 1, "onc": [1, 395], "describ": [1, 398], "util": [1, 4, 6, 7, 210, 264], "__name__": [1, 4], "__main__": [1, 4], "descript": [1, 4, 258], "ext_modul": 1, "cmakeextens": 1, "cmdclass": 1, "build_ext": 1, "cmakebuild": 1, "package_data": 1, "dylib": 1, "extras_requir": 1, "dev": [1, 7], "zip_saf": 1, "fals": [1, 4, 13, 14, 15, 23, 24, 30, 31, 32, 33, 37, 38, 39, 40, 52, 53, 54, 55, 59, 71, 75, 76, 84, 88, 92, 93, 94, 95, 139, 144, 148, 151, 160, 162, 164, 165, 172, 175, 187, 225, 229, 244, 247, 250, 252, 253, 254, 258, 277, 278, 280, 281, 290, 292, 302, 305, 308, 312, 316, 319, 320, 338, 341, 372, 383, 399], "python_requir": 1, "even": [1, 4, 84, 395, 398, 399], "though": [1, 4, 395, 398, 399], "co": [1, 316, 396], "locat": [1, 303, 304, 402], "pip": [1, 7], "j8": 1, "libmlx_ext": 1, "cpython": 1, "3x": 1, "darwin": 1, "try": [1, 7], "after": [1, 4, 5, 25, 130, 132, 166, 186, 188, 268, 277, 280, 285, 286, 290, 292, 299, 302, 303, 304, 305, 319, 350, 395, 402], "abl": [1, 188], "simpli": [1, 4, 7, 311, 329, 335, 354, 363, 368, 395, 396], "plai": [1, 4], "ones": [1, 4, 183, 210, 240, 303, 304, 397], "b": [1, 2, 4, 12, 14, 76, 80, 103, 104, 106, 132, 135, 136, 138, 139, 146, 147, 148, 156, 157, 159, 161, 163, 176, 178, 181, 184, 188, 228, 236, 243, 254, 281, 310, 320, 333, 396, 397, 398, 399, 400, 401, 402], "f": [1, 3, 5, 148, 264, 279, 375, 395, 399], "item": [1, 3, 4, 5, 253, 398, 399, 400], "true": [1, 3, 4, 14, 37, 38, 39, 40, 76, 84, 92, 93, 94, 95, 116, 139, 144, 148, 151, 165, 172, 189, 218, 247, 250, 252, 253, 254, 258, 264, 268, 269, 270, 276, 277, 278, 279, 280, 281, 289, 290, 292, 299, 302, 308, 310, 312, 316, 319, 320, 338, 346, 372], "quick": [1, 6], "benchmark": [1, 395], "see": [1, 4, 5, 7, 9, 10, 29, 30, 31, 32, 33, 36, 37, 38, 39, 40, 42, 44, 45, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 65, 67, 68, 69, 70, 71, 72, 74, 75, 148, 171, 208, 209, 250, 258, 264, 268, 272, 275, 288, 306, 307, 308, 311, 312, 313, 315, 316, 317, 320, 322, 323, 324, 325, 330, 331, 332, 356, 395, 396, 397, 400, 402], "compar": [1, 76, 395], "time": [1, 4, 7, 172, 237, 264, 266, 267, 276, 279, 282, 283, 310, 395, 396, 398, 402], "set_default_devic": 1, "256": [1, 5], "512": [1, 2, 4, 319, 402], "random": [1, 2, 3, 4, 5, 6, 266, 267, 268, 278, 282, 283, 292, 299, 395, 396, 402, 403], "normal": [1, 3, 4, 114, 115, 195, 200, 264, 266, 267, 268, 277, 278, 280, 282, 283, 309, 319, 322, 324, 399, 402], "bench": 1, "warm": [1, 395], "rang": [1, 2, 3, 4, 5, 7, 16, 130, 150, 323, 325, 331, 332, 370, 384, 385, 386, 387, 388, 392, 395, 396, 398, 402], "100": [1, 3, 4, 387, 395, 396, 398, 402], "5000": 1, "e": [1, 5, 7, 107, 145, 214, 268, 269, 270, 272, 273, 277, 278, 280, 290, 309, 336, 337, 359, 364, 370, 373, 395, 398, 403], "simple_tim": 1, "custom_tim": 1, "3f": [1, 5, 395], "114": 1, "109": 1, "modest": 1, "improv": [1, 2, 4, 371, 372, 373, 374, 375, 376, 382, 395], "awai": [1, 4], "nn": [1, 4, 5, 210, 253, 264, 365, 368, 370, 379, 381, 395, 398], "grad": [1, 3, 5, 243, 370, 378, 395, 396, 397, 398, 400], "full": [1, 5, 61, 74, 89, 218, 303, 304, 341, 395, 398], "profil": 2, "kei": [2, 4, 117, 191, 192, 193, 195, 196, 197, 199, 200, 201, 252, 253, 289, 290, 302, 305, 379, 392, 394, 396], "step": [2, 4, 5, 16, 264, 276, 279, 310, 372, 379, 384, 386, 387, 388, 395], "optim": [2, 3, 5, 6, 303, 395, 396, 398], "build": [2, 4, 6, 324, 368, 395], "mlx_metal_debug": [2, 7], "option": [2, 4, 13, 15, 16, 23, 24, 25, 26, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 65, 67, 68, 69, 70, 71, 72, 74, 75, 77, 78, 79, 80, 84, 85, 86, 87, 88, 89, 92, 93, 94, 95, 99, 100, 101, 113, 114, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 133, 134, 137, 142, 143, 148, 149, 150, 151, 160, 162, 164, 165, 172, 175, 182, 185, 186, 187, 188, 189, 191, 192, 193, 195, 196, 197, 199, 200, 201, 203, 204, 218, 219, 220, 223, 224, 225, 229, 231, 232, 236, 238, 239, 240, 241, 242, 243, 244, 246, 248, 250, 252, 253, 254, 266, 267, 268, 269, 270, 276, 279, 281, 282, 283, 285, 289, 290, 292, 297, 302, 305, 307, 308, 310, 312, 316, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 371, 372, 373, 374, 375, 376, 377, 379, 382, 383, 384, 392, 395, 401, 403], "debug": 2, "record": [2, 169, 398], "dure": [2, 84, 271, 272, 273, 320, 399], "compil": [2, 6, 7, 102, 105, 396, 398], "later": [2, 7], "inspect": [2, 395, 400], "label": [2, 3, 340, 347], "object": [2, 9, 27, 46, 73, 84, 144, 210, 246, 252, 253, 254, 258, 272, 319, 394], "queue": 2, "readabl": 2, "enabl": [2, 4, 7, 84, 105, 383], "python": [2, 4, 46, 64, 73, 109, 252, 253, 254, 255, 368, 378, 379, 381, 394, 396, 399], "prepend": [2, 161], "cmake_arg": 2, "dmlx_metal_debug": 2, "ON": [2, 7], "start_captur": 2, "initi": [2, 3, 4, 264, 268, 277, 278, 280, 281, 306, 309, 321, 322, 323, 324, 325, 326, 327, 328, 368, 379, 384, 385, 387, 388, 395, 398], "gpu": [2, 6, 395, 397, 402], "trace": [2, 395], "applic": [2, 7], "mtl_capture_en": 2, "uniform": [2, 264, 281, 292, 323, 325, 365, 392, 395, 396, 402], "trace_fil": 2, "mlx_trace": 2, "gputrac": [2, 173], "path": [2, 7, 173, 210, 211, 250, 254, 292], "_": [2, 3, 4, 254, 264, 384, 385, 386, 387, 388, 392, 395, 398, 402], "10": [2, 4, 5, 153, 205, 210, 253, 264, 292, 365, 386, 388, 395, 397], "stop_captur": 2, "open": [2, 7, 16, 197, 201], "replai": 2, "view": [2, 399], "great": 2, "overview": 2, "oper": [2, 4, 6, 8, 34, 77, 78, 79, 88, 117, 218, 226, 233, 256, 264, 319, 377, 395, 396, 397, 398, 399, 400, 402, 403], "checkout": [2, 395], "document": [2, 6, 61, 74, 208, 209, 258, 395, 396, 397], "inform": [2, 4, 5, 7, 208, 209, 258, 264, 268, 275, 305, 396, 402], "skip": 2, "save": [2, 4, 6, 151, 173, 188, 208, 209, 210, 211, 296, 398], "within": [2, 25, 139], "project": [2, 4, 305], "us": [2, 3, 4, 5, 6, 7, 16, 35, 99, 102, 104, 116, 130, 148, 149, 161, 167, 168, 169, 171, 188, 189, 203, 204, 231, 252, 258, 264, 267, 272, 274, 275, 276, 279, 281, 283, 285, 289, 296, 303, 305, 307, 308, 310, 312, 316, 319, 320, 324, 325, 331, 332, 339, 365, 368, 370, 371, 372, 374, 375, 376, 377, 378, 379, 392, 394, 395, 396, 397, 400, 402], "cmake": [2, 7], "mkdir": [2, 7], "cd": [2, 7], "g": [2, 7, 148, 188, 279, 364, 382, 383, 398, 403], "xcodeproj": 2, "select": [2, 7, 238, 247, 285, 289, 297], "metal_captur": 2, "exampl": [2, 3, 4, 5, 16, 35, 130, 148, 149, 227, 232, 254, 264, 266, 267, 268, 278, 282, 283, 290, 292, 299, 302, 320, 321, 322, 323, 324, 325, 326, 327, 328, 338, 340, 347, 365, 370, 379, 384, 385, 386, 387, 388, 392, 396, 397, 398, 399, 400, 401], "schema": 2, "implement": [3, 5, 116, 117, 148, 274, 289, 305, 312, 314, 316, 318, 319, 320, 362, 371, 372, 373, 374, 376, 377, 378, 390, 395, 396, 399], "basic": [3, 205, 396], "model": [3, 5, 6, 210, 250, 251, 253, 254, 264, 285, 288, 290, 292, 296, 299, 301, 302, 303, 305, 319, 365, 368, 370, 378, 379, 381, 395, 398], "learn": [3, 5, 6, 268, 277, 278, 280, 306, 309, 371, 372, 373, 374, 375, 376, 377, 382, 383], "problem": [3, 5, 264], "metadata": [3, 151, 208, 209], "num_featur": [3, 268], "num_exampl": 3, "1_000": 3, "num_it": 3, "10_000": 3, "iter": [3, 5, 253, 254, 392, 395, 398], "sgd": [3, 5, 370, 377, 379, 384, 385, 388, 395], "lr": [3, 377], "01": [3, 335, 375], "rate": [3, 371, 372, 373, 374, 375, 376, 377, 382, 383], "ll": [3, 5, 343, 395, 396], "synthet": 3, "dataset": [3, 398], "design": [3, 6, 392, 402], "matrix": [3, 41, 80, 99, 100, 113, 137, 148, 149, 161, 165, 188, 189, 195, 307, 308, 326, 365], "ground": [3, 4, 340, 350], "truth": [3, 340, 350], "w_star": 3, "valu": [3, 4, 11, 14, 16, 23, 24, 46, 73, 76, 83, 113, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 133, 139, 148, 150, 185, 191, 192, 193, 195, 196, 197, 200, 201, 208, 232, 233, 243, 246, 251, 252, 253, 254, 258, 267, 271, 272, 273, 278, 281, 283, 289, 305, 306, 317, 318, 319, 321, 338, 339, 340, 341, 342, 343, 345, 346, 347, 348, 349, 350, 362, 368, 372, 375, 384, 385, 387, 388, 396], "gaussian": [3, 275, 330, 331, 332, 341], "nois": 3, "noisi": 3, "ep": [3, 114, 115, 268, 277, 278, 280, 309, 339, 341, 351, 371, 372, 373, 374, 375, 376, 382], "1e": [3, 5, 14, 139, 268, 277, 278, 280, 309, 339, 341, 351, 371, 372, 373, 374, 375, 376, 379, 382, 384, 385, 386, 387, 388], "weight": [3, 86, 87, 88, 114, 115, 253, 264, 292, 296, 307, 308, 338, 340, 368, 372, 375, 377, 379, 383, 396, 398], "squar": [3, 4, 115, 137, 206, 221, 243, 253, 264, 309, 348, 350, 371, 372, 374, 375, 376, 396, 399], "loss": [3, 5, 243, 264, 370, 395, 396, 398], "gradient": [3, 5, 134, 226, 243, 251, 264, 290, 303, 308, 319, 346, 368, 370, 371, 372, 374, 375, 376, 377, 378, 381, 383, 395, 396, 397, 398, 399, 400], "loss_fn": [3, 5, 370, 395, 396], "w": [3, 87, 99, 188, 189, 243, 254, 267, 268, 270, 272, 273, 281, 283, 383, 396], "mean": [3, 4, 5, 115, 195, 196, 243, 264, 268, 277, 290, 309, 327, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 395, 396, 399], "grad_fn": [3, 395, 396], "randomli": [3, 4, 271, 272, 273], "Then": [3, 7], "repeatedli": 3, "verifi": [3, 7], "close": [3, 6, 7, 14, 139], "error_norm": 3, "5f": 3, "someth": [3, 4, 397], "00005": 3, "00364": 3, "complet": [3, 4, 7, 172, 303, 304, 396, 402], "logist": [3, 214, 332, 358], "github": [3, 5, 7, 395], "repo": [3, 5, 7, 395], "effici": [4, 6, 272, 312, 398, 400], "larg": [4, 264, 305, 346, 395, 398], "ish": 4, "transform": [4, 6, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 251, 264, 268, 277, 280, 281, 289, 290, 302, 308, 312, 397], "without": [4, 6, 226, 305, 364, 394, 395, 398, 399, 402], "compromis": 4, "eas": 4, "llama": 4, "famili": 4, "less": [4, 25, 147, 186, 312, 350], "200": [4, 386], "line": [4, 398, 399], "neural": [4, 6, 274, 322, 323, 352, 365, 368, 382], "network": [4, 6, 268, 272, 274, 322, 323, 365, 368, 382], "concis": 4, "architectur": [4, 7, 264, 304, 402], "notabl": [4, 6], "rope": [4, 264], "posit": [4, 25, 101, 116, 130, 134, 143, 177, 186, 195, 243, 253, 264, 269, 270, 305, 312, 316, 341, 351], "cach": [4, 166, 167, 168, 171, 395], "concaten": 4, "llamaattent": 4, "self": [4, 5, 8, 27, 28, 29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 46, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 65, 67, 68, 69, 70, 71, 72, 73, 74, 75, 256, 264, 352, 368], "dim": [4, 116, 117, 274, 277, 278, 280, 305, 307, 309, 312, 316, 319], "num_head": [4, 305, 319], "super": [4, 5, 264, 368], "tradit": [4, 116, 272, 273, 312], "query_proj": 4, "bia": [4, 99, 114, 188, 189, 253, 264, 269, 270, 276, 279, 280, 281, 290, 292, 302, 305, 308, 310, 374, 375, 376, 379, 396], "key_proj": 4, "value_proj": 4, "out_proj": [4, 368], "__call__": [4, 5, 264, 368], "queri": [4, 117, 305], "mask": [4, 80, 117, 299, 305, 397], "extract": [4, 41, 100, 101, 264, 289, 368], "l": [4, 5, 264, 266, 268, 269, 276, 279, 282, 310, 350], "reshap": [4, 148, 320, 397], "transpos": [4, 28, 189], "combin": 4, "key_cach": 4, "value_cach": 4, "math": [4, 351, 395], "sqrt": [4, 107, 117, 268, 275, 277, 278, 280, 281, 309, 316, 322, 323, 324, 325, 331, 371, 373, 374, 375, 382, 395], "score": [4, 117, 347], "softmax": [4, 117, 264, 337, 340], "values_hat": 4, "possibli": [4, 80, 161], "rm": [4, 7, 115, 372], "swiglu": 4, "rmsnorm": [4, 264], "llamaencoderlay": 4, "mlp_dim": [4, 319], "norm1": 4, "norm2": 4, "linear1": 4, "linear2": 4, "linear3": 4, "sigmoid": [4, 264, 315, 332, 336, 358], "instanc": [4, 35, 188, 255, 264, 278, 285, 286, 287, 290, 292, 293, 294, 299, 302, 303, 304, 314, 368, 399], "embed": [4, 250, 264, 307, 312, 316, 339], "emb": [4, 274, 307, 316], "token": [4, 274, 307], "num_lay": [4, 5, 370], "vocab_s": 4, "norm": [4, 115, 277, 351, 376, 377], "multiheadattent": [4, 264], "create_additive_causal_mask": 4, "list": [4, 9, 13, 15, 27, 67, 73, 77, 78, 79, 81, 84, 85, 88, 109, 119, 120, 122, 123, 125, 126, 128, 129, 133, 134, 145, 148, 160, 162, 164, 165, 175, 182, 185, 187, 191, 192, 193, 195, 196, 197, 200, 201, 208, 218, 220, 224, 225, 229, 236, 237, 239, 243, 244, 245, 248, 252, 255, 264, 290, 292, 293, 294, 295, 300, 302, 303, 304, 368, 374, 375, 376, 377, 386, 394, 395, 396, 398], "still": [4, 7, 148, 395, 398], "consid": [4, 14, 76, 139, 252, 253, 254, 277, 394], "train": [4, 5, 264, 268, 271, 272, 273, 288, 290, 302, 322, 323], "process": [4, 88, 89, 253, 254, 273, 274, 319, 394], "ignor": [4, 35, 83, 84, 109, 372], "whatsoev": 4, "rest": [4, 116, 253, 254, 312], "subsect": 4, "prompt": 4, "autoregress": 4, "yield": [4, 5, 392], "temp": 4, "causal": 4, "append": [4, 161, 395, 398], "store": 4, "per": [4, 5, 99, 188, 189, 250, 268, 277, 278, 280, 309, 390, 395, 398], "care": [4, 398], "last": [4, 26, 73, 114, 115, 120, 123, 125, 126, 128, 129, 130, 138, 149, 161, 192, 219, 236, 269, 270, 272, 273, 277, 320, 399], "logit": [4, 192, 338, 340, 395], "categor": 4, "lazili": [4, 264], "noth": [4, 264, 398], "yet": [4, 148, 264, 368, 379, 396, 397, 398, 400], "forc": [4, 5, 264, 400], "choos": [4, 116, 312], "pars": 4, "feed": 4, "back": [4, 170, 399], "loop": [4, 5, 395, 396, 398], "unsqueez": 4, "sequenc": [4, 13, 15, 30, 31, 52, 53, 54, 55, 59, 67, 70, 71, 75, 81, 88, 111, 119, 120, 122, 123, 125, 126, 128, 129, 133, 160, 162, 164, 175, 182, 187, 191, 192, 193, 195, 196, 197, 200, 201, 204, 218, 220, 223, 225, 229, 236, 237, 239, 244, 248, 268, 269, 276, 279, 310, 319, 392, 402], "length": [4, 223, 268, 269, 276, 279, 310, 386], "len": [4, 120, 123, 126, 129, 386], "overwrit": 4, "discard": [4, 252], "old": 4, "moment": [4, 88, 372, 374, 375, 376], "anymor": 4, "everyth": 4, "small": [4, 112, 114, 115, 268, 277, 280, 309, 341, 346, 351, 395, 402], "12": [4, 386], "8192": 4, "1024": 4, "actual": [4, 16, 292, 368, 398], "materi": [4, 6], "could": [4, 264], "20_000": 4, "machin": [4, 6, 7, 382], "8gb": 4, "ram": 4, "32": [4, 5, 80, 188, 189, 258, 267, 283, 309, 395], "44": 4, "doubl": 4, "bracket": 4, "becaus": [4, 167, 264, 398], "batch": [4, 80, 161, 195, 268, 269, 270, 272, 273, 276, 279, 305, 310, 320, 398], "zip": [4, 5], "haven": 4, "anyth": [4, 243, 398], "result": [4, 16, 35, 73, 84, 99, 114, 115, 138, 148, 151, 161, 184, 189, 195, 203, 205, 224, 236, 237, 247, 253, 254, 316, 395, 396, 399], "veri": [4, 305, 398, 402], "similar": [4, 144, 253, 303, 304, 305, 339, 399, 401], "runtim": [4, 395], "section": [4, 7, 220, 351, 395, 396], "access": [4, 46, 264, 368, 379, 398, 402], "origin": [4, 101, 268, 298, 322, 323, 324, 325, 371, 372, 373, 374, 376, 377, 399], "sentencepiec": 4, "pytorch": [4, 6, 277, 396], "compat": [4, 192, 195, 401], "npz": [4, 151, 210, 211, 292, 296, 401], "file": [4, 7, 151, 207, 208, 209, 210, 211, 292, 296, 396, 401], "argpars": 4, "itertool": [4, 253], "starmap": [4, 253], "np": [4, 5, 399, 400], "torch": [4, 399], "map_torch_to_mlx": 4, "tok_embed": 4, "elif": 4, "replac": [4, 303, 304, 319, 350], "attention_norm": 4, "ffn_norm": 4, "wq": 4, "wk": 4, "wv": 4, "wo": 4, "w1": 4, "w2": 4, "w3": 4, "ffn": 4, "separ": [4, 61, 74, 277, 347], "submodul": [4, 5, 264, 286, 290, 291, 302, 304], "feed_forward": 4, "parser": 4, "argumentpars": 4, "add_argu": 4, "torch_weight": 4, "output_fil": 4, "parse_arg": 4, "state": [4, 5, 264, 276, 279, 310, 370, 379, 392, 395], "savez": [4, 296, 401], "k": [4, 41, 80, 100, 113, 117, 238, 240, 241, 242, 266, 281, 282, 290], "v": [4, 89, 117, 264, 290, 399], "left": [4, 116, 148, 188, 266, 267, 275, 282, 283, 312, 320, 331, 332, 341, 343, 351], "disk": 4, "text": [4, 266, 267, 275, 276, 279, 282, 283, 284, 310, 318, 322, 323, 324, 325, 331, 334, 341, 342, 343, 346, 347, 350, 352, 353, 356, 357, 361, 362, 372, 377], "format": [4, 151, 207, 208, 209, 210, 211, 399], "dictionari": [4, 84, 151, 208, 209, 252, 264, 289, 298, 303, 304, 380, 394, 401], "represent": [4, 188, 252, 255], "tree_unflatten": 4, "helper": [4, 395], "weight_fil": 4, "incur": 4, "sever": [4, 86, 87, 88, 210, 211, 395, 401], "futur": [4, 308, 397, 398], "pth": 4, "current": [4, 6, 7, 80, 86, 87, 88, 168, 188, 264, 372, 398], "around": 4, "m1": [4, 395, 396, 402], "ultra": 4, "7b": 4, "me": 4, "ishmael": 4, "year": 4, "ago": 4, "never": [4, 398], "long": 4, "info": [4, 7], "247": 4, "press": [4, 148], "enter": 4, "littl": 4, "monei": 4, "my": [4, 7], "purs": 4, "greater": [4, 25, 112, 136, 186, 318, 362], "consequ": 4, "walk": 4, "down": 4, "gower": 4, "street": 4, "afternoon": 4, "heavi": 4, "rain": 4, "saw": [4, 396], "off": [4, 7, 398], "man": 4, "rag": 4, "who": 4, "sat": 4, "upon": [4, 253, 254], "hi": [4, 279], "bundl": 4, "hard": 4, "wet": 4, "he": [4, 324, 325], "were": [4, 402], "cry": 4, "watch": [4, 395], "him": 4, "observ": 4, "numer": [4, 114, 115, 148, 156, 160, 218, 268, 277, 278, 280, 309, 339, 341, 351, 371, 372, 373, 374, 375, 376, 382, 395, 398], "crowd": 4, "wa": [4, 398], "hurri": 4, "437": 4, "330": 4, "second": [4, 101, 157, 159, 161, 230, 243, 267, 283, 339, 347, 372, 374, 375, 376, 396, 402], "spent": 4, "amount": [4, 169, 266, 282], "39": 4, "By": [4, 250, 297, 396, 399], "bigger": [4, 372], "well": [4, 264, 290, 302, 305, 398], "remain": [4, 243, 254, 271, 272, 273], "almost": 4, "nobodi": 4, "took": 4, "least": [4, 77, 78, 79, 83, 149, 188], "notic": [4, 396, 401], "distanc": [4, 351], "had": 4, "doubt": 4, "minut": 4, "straight": 4, "slowli": 4, "rais": [4, 148, 172, 220, 292], "ey": 4, "speak": [4, 148], "resum": 4, "postur": 4, "stood": 4, "feel": 4, "pain": 4, "heart": 4, "said": 4, "smile": 4, "face": 4, "am": 4, "someon": 4, "three": [4, 79, 320], "quarter": 4, "hour": 4, "made": 4, "immedi": [4, 285], "repli": 4, "again": [4, 7, 264, 395], "hand": [4, 396, 398], "did": 4, "accustom": 4, "thu": [4, 264], "question": [4, 398], "reason": [4, 397], "tell": [4, 395, 399], "understand": [4, 322, 323], "579": 4, "690": 4, "num": [4, 150, 199], "500": [4, 402], "628": 4, "went": 4, "nervou": 4, "trembl": 4, "told": 4, "why": 4, "And": [4, 320], "surpris": 4, "matter": [4, 264], "shall": 4, "anyhow": 4, "friend": 4, "ye": 4, "slight": [4, 398], "kind": 4, "want": [4, 396, 402], "longer": [4, 89, 396], "soon": 4, "unless": [4, 14, 139, 148, 368], "unlik": [4, 14, 139, 272, 273, 298], "strang": 4, "amus": 4, "That": 4, "secret": 4, "disappoint": 4, "mine": 4, "cannot": [4, 83, 397, 399], "happi": 4, "ask": 4, "shop": 4, "bui": 4, "food": 4, "633": 4, "21": [4, 388], "475": 4, "su": 4, "j": [4, 7, 148, 272, 373, 374, 376], "lu": 4, "pan": 4, "murtadha": 4, "wen": 4, "liu": 4, "2021": 4, "roform": [4, 312], "enhanc": [4, 312, 398], "rotari": [4, 116, 312], "arxiv": [4, 277, 278, 280, 284, 309, 332, 352, 371, 377], "preprint": [4, 371, 377], "2104": 4, "09864": 4, "zhang": 4, "sennrich": 4, "2019": [4, 375], "root": [4, 115, 206, 221, 309], "advanc": [4, 395], "system": [4, 7, 167, 168], "shazeer": 4, "2020": 4, "glu": [4, 264], "variant": [4, 350, 376], "2002": 4, "05202": 4, "classifi": 5, "mnist": 5, "As": [5, 35, 232, 264, 395], "mlp": [5, 264, 319, 370], "inherit": [5, 394], "standard": [5, 46, 73, 161, 193, 196, 225, 319, 322, 324, 327, 400], "idiom": [5, 395], "where": [5, 113, 139, 188, 243, 246, 266, 267, 268, 269, 270, 271, 272, 273, 275, 276, 277, 278, 279, 280, 281, 282, 283, 289, 306, 309, 310, 318, 324, 325, 329, 330, 332, 341, 347, 353, 356, 358, 362, 379, 396, 397], "input_dim": [5, 264, 281, 308], "hidden_dim": [5, 368, 370], "output_dim": [5, 264, 281, 308], "layer_s": 5, "idim": 5, "odim": 5, "maximum": [5, 23, 35, 83, 92, 169, 172, 264, 311, 316, 331, 332, 335, 354, 368, 398], "cross": [5, 88, 338, 340], "entropi": [5, 338, 340], "sub": [5, 101, 199, 250], "commonli": [5, 303, 365, 395], "cross_entropi": [5, 264], "accuraci": 5, "valid": [5, 89, 130, 246, 252, 290, 302, 394], "eval_fn": 5, "argmax": 5, "load": [5, 6, 292], "loader": 5, "num_class": [5, 370], "batch_siz": [5, 370], "num_epoch": [5, 370], "learning_r": [5, 370, 371, 372, 373, 374, 375, 376, 377, 379, 382, 383, 384, 385, 386, 387, 388, 395], "train_imag": [5, 370], "train_label": [5, 370], "test_imag": 5, "test_label": 5, "re": [5, 7, 365], "shuffl": 5, "minibatch": 5, "batch_iter": [5, 370], "perm": 5, "permut": 5, "id": [5, 7], "put": [5, 395], "trainabl": [5, 251, 264, 368], "loss_and_grad_fn": [5, 370, 395, 396], "value_and_grad": [5, 264, 303, 368, 370, 381, 395, 396, 399, 400], "epoch": 5, "test": [5, 7], "confus": 5, "decent": 5, "95": 5, "flexibl": 6, "brought": 6, "research": 6, "except": [6, 113, 124, 125, 127, 128, 129, 277, 292, 397, 399], "featur": [6, 86, 87, 88, 116, 268, 276, 277, 278, 279, 280, 281, 308, 309, 310, 312, 319, 320, 395, 398], "main": [6, 101, 113, 253, 254, 264], "differ": [6, 144, 228, 350, 396], "compos": [6, 264, 395, 396, 400], "lazi": [6, 368, 400], "multi": [6, 117, 269, 270, 397, 399], "cpu": [6, 149, 395, 402], "inspir": 6, "jax": [6, 392], "arrayfir": 6, "unifi": 6, "live": [6, 402], "share": [6, 99, 188, 189], "convers": 6, "regress": [6, 346], "layer": [6, 114, 250, 264, 266, 267, 272, 273, 276, 277, 279, 280, 281, 282, 283, 299, 304, 307, 308, 310, 314, 319, 364, 368], "perceptron": 6, "llm": 6, "infer": [6, 133, 151], "fast": [6, 275, 332, 402], "fft": 6, "algebra": 6, "tree": [6, 84, 109, 134, 243, 246, 252, 253, 254, 255, 378, 379, 381, 390, 396], "develop": [6, 7], "debugg": 6, "pypi": 7, "own": [7, 399], "meet": 7, "seri": 7, "chip": 7, "nativ": 7, "maco": 7, "13": 7, "highli": 7, "recommend": [7, 172, 377], "14": 7, "sonoma": 7, "conda": 7, "forg": 7, "match": [7, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 167, 292, 320, 340, 397, 399], "distribut": [7, 191, 192, 193, 195, 196, 200, 201, 281, 322, 323, 324, 325, 327, 328, 341, 344, 349, 351, 365], "probabl": [7, 197, 271, 272, 273, 308, 338, 340, 344, 402], "platform": 7, "processor": 7, "arm": 7, "i386": 7, "switch": 7, "17": 7, "clang": 7, "24": 7, "xcode": 7, "15": [7, 148, 395], "sdk": 7, "environ": [7, 102, 105], "via": [7, 378, 381, 398, 399], "rosetta": 7, "unam": 7, "p": [7, 191, 264, 271, 272, 273, 351, 374, 376], "clone": 7, "git": 7, "com": 7, "ml": 7, "explor": 7, "http": [7, 277, 278, 280, 284, 309, 332, 352], "wjakob": 7, "2f04eac452a6d9142dedb957701bdb20125561e4": 7, "env": 7, "cmake_build_parallel_level": 7, "edit": [7, 304], "unittest": 7, "discov": 7, "stub": 7, "generate_stub": 7, "either": [7, 12, 61, 73, 74, 83, 103, 104, 106, 132, 135, 136, 146, 147, 148, 156, 161, 163, 176, 178, 181, 228, 243, 267, 283, 314, 320, 324, 325], "static": 7, "libmlx": 7, "preprocessor": 7, "metal_path": 7, "mlx_build_test": 7, "mlx_build_exampl": 7, "mlx_build_benchmark": 7, "mlx_build_python_bind": 7, "multipl": [7, 80, 114, 115, 161, 178, 188, 189, 305, 316, 385, 386, 388, 395, 398, 401], "wish": 7, "variabl": [7, 84, 102, 105, 134, 145, 243, 245, 246], "export": 7, "developer_dir": 7, "app": 7, "content": [7, 289, 395], "xcrun": 7, "macosx": 7, "show": [7, 258, 395], "unabl": 7, "tool": 7, "sudo": 7, "ouptut": 7, "finder": 7, "iterm": 7, "termin": 7, "click": 7, "uncheck": 7, "window": [7, 266, 267, 282, 283], "restart": 7, "grep": 7, "cmake_host_system_processor": 7, "arm64": 7, "x86_64": 7, "wipe": 7, "cahc": 7, "rf": 7, "devicetyp": 8, "attribut": [8, 9, 27, 256, 298, 368, 390], "kwarg": [9, 10, 210, 211, 403], "categori": [10, 258], "bool_": [10, 258], "integ": [10, 132, 144, 148, 185, 188, 189, 191, 197, 220, 236, 246, 258, 274, 297, 386, 397], "unsignedinteg": 10, "uint8": [10, 258], "uint16": [10, 258], "uint32": [10, 23, 24, 25, 26, 192, 258], "uint64": [10, 258], "signedinteg": [10, 144], "int8": [10, 258], "int32": [10, 16, 35, 130, 144, 148, 197, 258, 320, 397, 400], "int64": [10, 258], "inexact": [10, 144], "complexflo": 10, "complex128": 10, "issubdtyp": [10, 258], "absolut": [11, 14, 139, 331, 332, 350], "semant": [12, 81, 103, 104, 106, 135, 136, 146, 147, 156, 161, 163, 176, 178, 181, 228, 402], "keepdim": [13, 15, 23, 24, 30, 31, 32, 33, 52, 53, 54, 55, 59, 71, 75, 148, 160, 162, 164, 175, 187, 218, 225, 229, 244], "reduct": [13, 15, 160, 162, 175, 187, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351], "reduc": [13, 15, 23, 24, 160, 162, 164, 175, 187, 225, 229, 244, 268, 319, 346], "unspecifi": [13, 15, 16, 23, 24, 25, 26, 85, 92, 93, 94, 95, 133, 160, 162, 164, 175, 182, 186, 187, 203, 218, 219, 225, 229, 232, 238, 244, 248, 403], "entir": [13, 15, 23, 24, 160, 162, 164, 175, 187, 225, 229, 244, 272, 273], "singleton": [13, 15, 23, 24, 160, 161, 162, 164, 175, 187, 225, 229, 244], "rtol": [14, 139], "05": [14, 139, 268, 277, 278, 280, 309], "atol": [14, 139], "08": [14, 139, 339, 373, 374, 375, 376, 382], "equal_nan": [14, 76, 139], "approxim": [14, 275, 330, 331, 332], "comparison": [14, 106, 135, 136, 146, 147, 181], "infinit": [14, 139], "equal": [14, 25, 76, 113, 136, 139, 147, 181, 186, 197, 220, 278, 281], "sign": [14, 139, 258, 377], "nan": [14, 76, 139, 141], "ab": [14, 139, 148, 243, 277, 278, 280, 284, 309, 332, 352, 395], "array_equ": [14, 139], "rel": [14, 139, 372, 395], "toler": [14, 139], "boolean": [14, 76, 80, 139, 140, 141, 142, 143, 157, 158, 159, 258, 301, 397], "interv": [16, 150, 197, 201], "increment": 16, "otherwis": [16, 88, 172, 250, 252, 253, 254, 290, 292, 302, 318, 319, 320, 338, 343, 350, 361, 362, 398, 399], "convent": [16, 89, 320, 375], "lead": [16, 395], "fraction": 16, "integr": [16, 232, 398], "invers": [17, 18, 19, 20, 21, 22, 108, 121, 122, 123, 124, 125, 126], "cosin": [17, 18, 90, 91, 339, 384, 386, 396], "hyperbol": [18, 20, 22, 91, 217, 235, 363], "sine": [19, 20, 216, 217, 396], "minimum": [24, 35, 83, 93, 316, 339, 384], "kth": [25, 186], "partit": 25, "order": [25, 88, 148, 186, 188, 238, 264, 277, 303, 314, 379, 395, 396], "undefin": [25, 186, 195, 397], "sort": [25, 26, 186, 238], "flatten": [25, 26, 92, 93, 94, 95, 148, 184, 186, 203, 219, 232, 233, 238, 252], "dimension": [27, 114, 115, 118, 119, 120, 121, 122, 123, 127, 128, 129, 266, 267, 268, 269, 270, 274, 281, 282, 283, 307, 308, 316, 397, 399], "val": [27, 133], "tupl": [27, 61, 64, 74, 85, 87, 88, 104, 109, 111, 145, 148, 149, 185, 188, 204, 223, 243, 245, 252, 253, 254, 255, 266, 267, 270, 282, 283, 292, 294, 314, 320, 372, 374, 375, 376, 377, 394, 396], "ndarrai": [27, 397, 398, 400], "properti": [28, 35, 43, 47, 57, 58, 64, 66, 298, 301, 380, 396], "argument": [28, 61, 74, 84, 109, 134, 243, 253, 254, 264, 320, 392, 396, 401, 402, 403], "union": [29, 30, 31, 32, 33, 34, 36, 37, 38, 39, 40, 41, 42, 44, 45, 48, 49, 50, 51, 52, 53, 54, 55, 56, 59, 60, 61, 62, 63, 65, 67, 68, 69, 70, 71, 72, 74, 75, 77, 78, 79, 80, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 142, 143, 199, 200, 227], "appli": [35, 116, 117, 253, 254, 264, 266, 267, 268, 269, 270, 272, 273, 275, 277, 278, 280, 281, 282, 283, 284, 286, 299, 306, 308, 309, 310, 311, 313, 315, 317, 318, 320, 329, 330, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 365, 378, 381, 387, 390, 395], "regular": [35, 272, 352, 375, 395, 397], "idx": [35, 397], "correctli": 35, "syntax": [35, 397], "subtract": 35, "inclus": [37, 38, 39, 40, 92, 93, 94, 95, 130], "diagon": [41, 100, 113, 240, 241, 242], "axis1": [42, 72, 101, 230], "axis2": [42, 72, 101, 230], "start_axi": [45, 130], "end_axi": [45, 130], "datatyp": 47, "byte": [47, 57, 167, 168, 169, 171, 172, 258], "decim": [62, 205], "indices_or_sect": [67, 220], "nest": [73, 84, 264, 368, 394, 396], "ddof": [75, 225, 244], "ari": [77, 78, 79], "block_siz": 80, "64": [80, 99, 188, 189, 250, 258, 307, 308], "mask_out": 80, "mask_lh": 80, "mask_rh": 80, "lhs_mask": 80, "lceil": 80, "rceil": 80, "rhs_mask": 80, "out_mask": 80, "a_min": 83, "a_max": 83, "edg": [83, 185, 320, 395], "At": 83, "anoth": [83, 144, 161, 228, 247, 258, 264, 285, 395, 396, 397, 402], "fun": [84, 134, 145, 243, 245, 246, 395, 397, 398, 402], "callabl": [84, 134, 145, 243, 245, 246, 250, 251, 252, 253, 254, 285, 286, 289, 297, 310, 314, 319, 321, 322, 323, 324, 325, 326, 327, 328, 371, 372, 373, 374, 375, 376, 377, 382, 383, 384, 385, 386, 387, 388], "shapeless": 84, "dict": [84, 109, 151, 208, 209, 210, 295, 300, 303, 304, 368, 378, 379, 381, 394, 396, 401], "arbitrarili": [84, 264, 394, 396, 400], "leaf": [84, 250, 252, 253, 254, 289], "node": [84, 109, 246, 254], "recompil": [84, 395], "chang": [84, 213, 303, 308, 320, 343, 350, 395, 399], "Not": [84, 181, 395], "attempt": 84, "pad": [86, 87, 88, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 266, 267, 269, 270, 282, 283], "dilat": [86, 87, 88, 269, 270], "group": [86, 87, 88, 99, 117, 188, 189, 250, 277, 307, 308], "1d": [86, 88, 89, 208, 233], "convolut": [86, 87, 88, 89, 269, 270, 272, 273], "channel": [86, 87, 88, 268, 269, 270, 272, 273], "c_in": [86, 87, 88], "c_out": [86, 87, 88], "convolv": [86, 87, 88], "2d": [87, 88, 101, 188, 268, 272], "spatial": [87, 88, 266, 277, 282, 320], "symmetr": 87, "kernel_dil": 88, "input_dil": 88, "flip": [88, 89], "correl": [88, 272], "discret": [89, 118, 119, 120, 121, 122, 123, 127, 128, 129, 274, 307], "swap": [89, 172, 230, 304], "conv": 89, "filter": [89, 269, 270, 285, 289], "signal": [89, 320], "cumul": [92, 93, 94, 95], "th": [92, 93, 94, 95, 100, 113, 386], "angl": [98, 190], "radian": 98, "bias": [99, 188, 189, 276, 279, 290, 302, 305], "group_siz": [99, 188, 189, 250, 307, 308], "bit": [99, 188, 189, 250, 258, 285, 307, 308, 309], "configur": 99, "formal": [99, 188], "notat": [99, 252, 294], "quantiz": [99, 151, 189, 307, 308], "w_i": [99, 188], "hat": [99, 188], "occupi": [99, 188, 189], "subarrai": [101, 220], "remov": [101, 161, 192, 223, 340], "insert": [101, 111, 402], "end": [101, 170, 188, 267, 276, 279, 283, 318, 343, 350, 356, 361, 362, 387], "neg": [101, 130, 142, 282, 283, 305, 341, 349, 351, 397], "taken": [101, 232], "global": [102, 105, 198, 392, 395], "disabl": [102, 171, 395], "mlx_disable_compil": [102, 105, 395], "divis": [103, 132, 188], "quotient": [103, 104, 132], "remaind": 104, "fuction": 104, "mathrm": [107, 214, 278], "frac": [107, 188, 214, 266, 267, 268, 271, 272, 273, 277, 278, 280, 281, 282, 283, 309, 322, 323, 324, 325, 339, 341, 343, 346, 357, 359, 371, 373, 374, 375, 376, 382], "pi": [107, 275, 316, 331, 396], "int_0": 107, "dt": 107, "erf": [108, 395], "exponenti": [110, 112, 313, 329, 356, 385], "minu": 112, "exp": [112, 156, 160, 193, 218, 329, 344, 356, 357, 360, 395, 402], "ident": [113, 226, 264, 299], "zero": [113, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 165, 240, 241, 242, 249, 264, 266, 267, 271, 272, 273, 292, 321, 322, 323, 324, 325, 326, 327, 328, 365, 372, 397], "whose": [113, 250, 251], "translat": [114, 280], "stabil": [114, 115, 268, 277, 278, 280, 309, 339, 341, 371, 372, 373, 374, 375, 376, 382], "traditino": 116, "rotat": [116, 312], "larger": [116, 312, 377], "unchang": [116, 226, 312], "consecut": [116, 188, 312], "angular": [116, 312], "frequenc": [116, 312, 316], "q": [117, 149], "head": [117, 305, 319], "attent": [117, 290, 305, 316, 319], "regardless": 117, "pre": 117, "tile": 117, "typic": [117, 274, 370, 395, 398], "One": [118, 121, 127, 206, 395, 396], "fourier": [118, 119, 120, 121, 122, 123, 127, 128, 129], "truncat": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 200], "dft": [118, 119, 120, 121, 122, 123, 127, 128, 129], "rfft": 124, "real": [124, 125, 126, 127, 128, 129], "rfft2": 125, "rfftn": 126, "silent": [127, 128, 129], "outsid": 130, "clamp": 130, "floor": 132, "argnam": [134, 243], "neither": [134, 243], "keyword": [134, 210, 211, 243, 253, 264, 392, 401, 403], "strict": [135, 146, 290, 292, 302], "ordinari": 138, "inifn": 140, "infin": [140, 142, 143, 282, 283, 376], "dtypecategori": [144, 258], "subtyp": [144, 258], "subdtyp": 144, "float64": 144, "too": [144, 395, 398], "ord": 148, "tabl": [148, 258, 274], "frobeniu": 148, "matric": [148, 149], "strictli": 148, "mathemat": 148, "variou": 148, "purpos": 148, "calcul": [148, 341, 347, 372], "fro": 148, "inf": [148, 305], "largest": [148, 238], "sing": 148, "smallest": 148, "singular": 148, "nuclear": 148, "_f": 148, "sum_": [148, 266, 267, 346], "a_": 148, "valueerror": [148, 292, 396], "refer": [148, 278, 284, 298, 322, 323, 324, 325, 332, 352, 397], "golub": 148, "van": 148, "loan": 148, "baltimor": 148, "md": 148, "john": 148, "hopkin": 148, "univers": 148, "1985": 148, "pg": 148, "la": 148, "arang": [148, 258, 320, 397, 399], "9": [148, 340, 371, 374, 375, 376, 377, 379, 385, 388, 399], "74597": 148, "20": 148, "84804": 148, "41421": 148, "23607": [148, 149], "74166": 148, "24264": 148, "11": 148, "225": 148, "894427": 149, "447214": 149, "57771": 149, "50": 150, "evenli": 150, "return_metadata": 151, "binari": [151, 207, 208, 209, 210, 211, 318, 338, 362, 395], "npy": [151, 207, 401], "safetensor": [151, 209, 292, 296, 398, 401], "gguf": [151, 208, 401], "matadata": 151, "unsupport": 151, "tensor": [151, 236, 266, 267, 282, 283, 351, 399], "natur": [152, 154, 398], "logarithm": [152, 153, 154, 155], "log": [154, 156, 160, 336, 337, 341, 344, 346, 349, 360], "plu": 154, "stabl": [156, 160, 218, 346], "spars": 165, "xy": 165, "multidimension": 165, "coordin": 165, "dens": [165, 402], "cartesian": 165, "ij": 165, "clear": 166, "get_cache_memori": 166, "alwai": [167, 252, 396], "report": [167, 172], "peak": 169, "begin": [169, 188, 267, 276, 279, 283, 318, 343, 350, 356, 361, 362], "program": 169, "free": 171, "reclaim": 171, "set_memory_limit": 171, "previou": [171, 172], "relax": 172, "task": [172, 346], "exceed": 172, "potenti": 172, "negat": 179, "beforehand": 184, "pad_with": 185, "constant_valu": 185, "pad_width": 185, "before_1": 185, "after_1": 185, "before_2": 185, "after_2": 185, "before_n": 185, "after_n": 185, "before_i": 185, "after_i": 185, "side": [185, 266, 267, 282, 283, 395], "smaller": [186, 377, 395], "everi": [188, 253, 388, 396], "particular": [188, 277], "w_1": 188, "w_g": 188, "align": [188, 267, 276, 279, 283], "max_i": 188, "min_i": 188, "textrm": [188, 275, 330, 333], "round": 188, "pack": [188, 189], "unsign": [188, 189, 258], "lower": [188, 197, 200, 201, 240, 328], "upper": [188, 197, 200, 201, 328], "1st": 188, "signific": 188, "2nd": 188, "dequant": 188, "w_q": 188, "whether": [189, 276, 279, 289, 305, 310, 338, 341, 347], "degre": [190, 351], "prng": [191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 392], "num_sampl": 192, "unnorm": [192, 338, 340], "draw": 192, "cdf": [193, 275, 330], "accord": [193, 247, 250, 305, 322, 323, 324, 325], "seed": 194, "cov": 195, "jointli": 195, "covari": [195, 268], "semi": 195, "definit": 195, "behavior": [195, 346, 397, 398], "empti": 195, "loc": 196, "deviat": [196, 225, 322, 324, 327], "low": [197, 201, 328, 365], "high": [197, 201, 264, 274, 328, 365], "bound": [197, 200, 201, 275, 328, 395, 397, 402], "roadcast": 197, "domain": 200, "uniformli": 201, "repetit": 203, "preserv": [204, 396], "reciproc": 206, "arr": [207, 397], "obj": 208, "uncompress": 210, "my_path": 210, "tree_flatten": [210, 253, 255, 264], "transformerencod": 210, "128": [210, 264], "flat_param": 210, "compress": 211, "possibl": [220, 274, 307, 395, 397, 402], "divisor": [225, 244], "varianc": [225, 244, 268, 277, 341], "being": [226, 264], "prevent": [226, 351, 399], "flow": [226, 398], "streamcontext": 227, "context": 227, "manag": [227, 392, 402], "prior": [232, 233], "exclud": 233, "dot": [236, 252, 294, 305], "rep": 237, "repeat": 237, "necessarili": 238, "elsewher": [240, 397], "col": 240, "triangl": 240, "mse": 243, "param": [243, 264, 365, 396], "lvalu": 243, "dlvalu": 243, "dparam": 243, "lasso": 243, "l1": [243, 343, 345, 346, 350], "in_ax": [246, 396], "out_ax": [246, 396], "prefix": [246, 252], "class_pred": 250, "predic": [250, 297], "receiv": [250, 386, 399], "fn": [251, 253, 254, 400], "wrt": 251, "is_leaf": [252, 253, 254], "arbitrari": [252, 368], "depth": [252, 273, 396], "hello": [252, 255], "charact": 252, "flat": [252, 255], "superset": [253, 378], "extra": [253, 254], "closer": 253, "decid": [253, 289], "constitut": 253, "dict_kei": [253, 379], "lambda": [253, 254, 264, 285, 290, 297, 317, 356, 361, 371, 372, 373, 374, 375, 376, 377, 382, 383, 395, 396], "tree_map": [254, 264], "new_tre": 254, "recreat": 255, "world": 255, "42": 255, "16": [258, 266, 278, 282, 285, 368], "int16": 258, "brain": 258, "e8": 258, "m7": 258, "ieee": 258, "e5": 258, "m10": 258, "hierarchi": 258, "done": [264, 271, 309, 395, 398, 399], "manual": 264, "explicitli": [264, 392], "solv": 264, "intuit": 264, "freez": [264, 302, 368], "finetun": 264, "in_dim": [264, 368], "out_dim": [264, 368], "enumer": 264, "caus": [264, 395, 398], "local": [264, 272], "scope": 264, "l2_loss": 264, "y_hat": 264, "trainable_paramet": [264, 289, 379], "loss_and_grad": 264, "workhors": 264, "Its": 264, "recurs": [264, 289, 290, 295, 300, 302, 368], "frozen": [264, 290, 300, 302, 308, 368], "individu": [264, 272, 273], "subset": [264, 289], "action": 264, "displai": 264, "count": [264, 386], "num_param": 264, "preclud": 264, "pure": [264, 370], "pattern": [264, 398], "achiev": 264, "other_input": 264, "necessari": 264, "wrap": 264, "apply_to_modul": [264, 290], "children": 264, "filter_and_map": 264, "leaf_modul": 264, "load_weight": [264, 398], "named_modul": 264, "save_weight": 264, "set_dtyp": 264, "unfreez": [264, 290], "update_modul": 264, "alibi": 264, "avgpool1d": 264, "avgpool2d": 264, "batchnorm": 264, "conv1d": 264, "conv2d": 264, "dropout": [264, 272, 273, 299, 319, 395], "dropout2d": 264, "dropout3d": 264, "gelu": [264, 331, 332, 395], "groupnorm": 264, "gru": 264, "instancenorm": 264, "layernorm": 264, "lstm": 264, "maxpool1d": 264, "maxpool2d": 264, "mish": 264, "prelu": 264, "quantizedembed": 264, "quantizedlinear": 264, "relu": [264, 306, 319, 353, 365], "rnn": [264, 276], "selu": 264, "sequenti": [264, 365], "silu": 264, "sinusoidalpositionalencod": 264, "softshrink": 264, "upsampl": 264, "elu": [264, 356], "gelu_approx": [264, 275, 330], "gelu_fast_approx": [264, 275, 330], "hardswish": 264, "leaky_relu": 264, "log_sigmoid": 264, "log_softmax": 264, "relu6": 264, "softplu": [264, 284, 352], "tanh": [264, 275, 276, 279, 284, 310, 331, 352], "binary_cross_entropi": [264, 395], "cosine_similarity_loss": 264, "gaussian_nll_loss": 264, "hinge_loss": 264, "huber_loss": 264, "kl_div_loss": 264, "l1_loss": 264, "log_cosh_loss": 264, "margin_ranking_loss": 264, "mse_loss": 264, "nll_loss": 264, "smooth_l1_loss": 264, "triplet_loss": 264, "init": [264, 306, 365, 370, 384, 385, 387, 388], "glorot_norm": 264, "glorot_uniform": 264, "he_norm": 264, "he_uniform": 264, "kernel_s": [266, 267, 269, 270, 282, 283], "averag": [266, 267, 371, 372, 374, 375, 376], "pool": [266, 267, 282, 283, 402], "l_": [266, 282, 343], "n_i": [266, 267, 282, 283], "c_j": [266, 267, 282, 283], "ldot": [266, 267, 282, 283], "lfloor": [266, 267, 282, 283], "_size": [266, 267, 282, 283], "rfloor": [266, 267, 282, 283], "k_h": [267, 283], "k_w": [267, 283], "h_": [267, 276, 279, 283, 310], "w_": [267, 276, 279, 283, 310, 371, 372, 373, 374, 375, 376, 377, 382, 383], "height": [267, 268, 270, 272, 273, 283], "width": [267, 268, 270, 272, 273, 283, 307, 308], "momentum": [268, 377, 379, 383, 395], "affin": [268, 277, 278, 280, 281, 308], "track_running_stat": 268, "var": [268, 277, 278, 280, 341], "epsilon": [268, 277, 278, 280, 309, 339, 341, 371, 373, 374, 375, 376, 382], "gamma": [268, 277, 278, 280, 309, 322, 323, 324, 325], "nc": 268, "nlc": [268, 269], "four": 268, "nhwc": [268, 270], "paper": [268, 316, 371, 372, 373, 374, 376, 377], "deep": [268, 322, 323, 324, 325], "intern": 268, "shift": 268, "bn": 268, "in_channel": [269, 270], "out_channel": [269, 270], "learnabl": [269, 270, 314], "imag": [270, 272, 273, 320], "portion": 271, "independ": [272, 273], "nwhc": 272, "whc": 272, "maintain": [272, 273, 377], "entri": [272, 273], "benefici": [272, 273, 398], "earli": 272, "adjac": 272, "pixel": 272, "effect": [272, 395, 398], "thompson": 272, "goroshin": 272, "jain": 272, "lecun": 272, "bregler": 272, "2015": [272, 374, 376], "cvpr": 272, "ndhwc": 273, "dhwc": 273, "often": 273, "medic": 273, "video": 273, "num_embed": [274, 307], "lookup": 274, "usual": [274, 307, 394, 398], "vocabulari": [274, 307], "approx": 275, "unit": [275, 276, 311, 313, 315, 322, 323, 324, 325, 329, 330, 331, 332, 333, 335, 354, 355, 356, 358], "phi": [275, 330], "geluapprox": 275, "044715": [275, 331], "gelufast": 275, "sigma": [275, 276, 279, 322, 323, 324, 325, 332, 333, 336, 357, 358], "773": 275, "regard": 275, "input_s": [276, 279, 310], "hidden_s": [276, 279, 310], "gate": [276, 333], "recurr": [276, 279, 310], "nld": [276, 279, 310], "ld": [276, 279, 310], "r_t": 276, "xr": 276, "x_t": [276, 279, 310], "hr": 276, "h_t": [276, 279, 310], "b_": [276, 279], "z_t": 276, "xz": 276, "hz": 276, "n_t": 276, "xn": 276, "odot": [276, 279], "hn": 276, "hidden": [276, 279, 310, 319], "nh": [276, 279, 310], "nlh": [276, 279, 310], "lh": [276, 279, 310], "num_group": 277, "pytorch_compat": 277, "split": [277, 333], "preced": 277, "org": [277, 278, 280, 284, 309, 332, 352], "1803": 277, "08494": 277, "denomin": [278, 339, 371, 373, 374, 375, 376, 382], "inorm": 278, "1607": [278, 280], "08022": 278, "i_t": 279, "xi": 279, "f_t": 279, "xf": 279, "hf": 279, "g_t": [279, 371, 373, 374, 375, 376, 377, 382, 383], "xg": 279, "hg": 279, "o_t": 279, "xo": 279, "ho": 279, "c_": [279, 377], "c_t": [279, 377], "cell": 279, "06450": 280, "realli": 280, "mathcal": 281, "d_i": 281, "max_": [282, 283], "1908": [284, 352], "08681": [284, 352], "map_fn": [285, 289], "filter_fn": [285, 289], "valid_parameter_filt": 285, "apply_fn": 286, "descend": 287, "is_leaf_fn": 289, "found": 289, "drop": 289, "idempot": [290, 302], "endswith": 290, "file_or_weight": 292, "miss": [292, 401], "ok": [292, 396], "save_safetensor": [296, 401], "reflect": [298, 395, 397, 399], "ie": 302, "noop": 302, "unfrozen": 302, "tracer": 303, "partial": [303, 304, 395, 398], "child": 304, "flexibli": 304, "programmat": 304, "query_input_dim": 305, "key_input_dim": 305, "value_input_dim": 305, "value_dim": 305, "value_output_dim": 305, "aggreg": 305, "linearli": 305, "attend": 305, "num_paramet": 306, "25": [306, 320], "parametr": [306, 353], "from_embed": 307, "classmethod": [307, 308], "from_linear": 308, "accumul": 309, "1910": 309, "07467": 309, "nonlinear": [310, 395], "elman": 310, "ih": 310, "hh": 310, "func": 310, "rectifi": [311, 324, 325, 335, 354, 355], "10000": 312, "slightli": [312, 402], "plain": 314, "known": [315, 358], "swish": [315, 358], "min_freq": 316, "0001": 316, "max_freq": 316, "cos_first": 316, "full_turn": 316, "sinusoid": 316, "sin": [316, 396, 400], "lambd": [317, 361], "threshold": [318, 343, 350, 362], "geq": [318, 362], "num_encoder_lay": 319, "num_decoder_lay": 319, "nb_func": 319, "custom_encod": 319, "custom_decod": 319, "norm_first": 319, "checkpoint": 319, "decod": 319, "interact": 319, "mechan": 319, "chekpoint": 319, "usag": [319, 395], "expens": 319, "scale_factor": 320, "nearest": 320, "align_corn": 320, "audio": 320, "4d": 320, "forth": 320, "algorithm": [320, 377], "neighbor": 320, "interpol": 320, "cubic": 320, "bilinear": 320, "trilinear": 320, "bicub": 320, "corner": 320, "bottom": 320, "squeez": [320, 395], "75": 320, "33333": 320, "66667": 320, "init_fn": [321, 322, 323, 324, 325, 326, 327, 328, 365], "glorot": [322, 323], "fan_in": [322, 323, 324, 325], "fan_out": [322, 323, 324, 325], "fan": [322, 323, 324, 325], "_in": [322, 323], "_out": [322, 323], "difficulti": [322, 323], "feedforward": [322, 323], "191107": 322, "61278": 322, "150594": 322, "363207": 322, "gain": [322, 323, 324, 325], "89613": 322, "53947": 322, "48095": 322, "995016": 322, "223404": 323, "890597": 323, "379159": 323, "776856": 323, "90041": 323, "02264": 323, "912766": 323, "12451": 323, "delv": [324, 325], "surpass": [324, 325], "human": [324, 325], "level": [324, 325], "imagenet": [324, 325], "classif": [324, 325], "25211": 324, "458835": 324, "177208": 324, "0137595": 324, "6967": 324, "02765": 324, "15268": 324, "75787": 324, "kaim": 325, "0300242": 325, "0184009": 325, "793615": 325, "666329": 325, "64331": 325, "16506": 325, "08619": 325, "79854": 325, "982273": 327, "534422": 327, "380709": 327, "0645099": 327, "883935": 328, "863726": 328, "617261": 328, "417497": 328, "exact": [331, 332], "0005": 331, "015": 332, "702": 332, "cdot": [332, 339, 342, 358], "hendryck": 332, "1606": 332, "08415": 332, "halv": 333, "negative_slop": 335, "leaki": 335, "sum_i": 337, "x_i": [337, 359], "with_logit": 338, "predict": [338, 341, 342, 343, 344, 345, 346, 348, 349, 350], "105361": 338, "223144": 338, "20397": 338, "916291": 338, "539245": 338, "prob": 338, "510826": 338, "x1": 339, "x2": 339, "x_1": [339, 347], "x_2": [339, 347], "label_smooth": 340, "hot": 340, "smooth": [340, 350, 382], "0485873": 340, "348587": 340, "06": [341, 351, 371], "likelihood": [341, 349], "nll": [341, 349], "hing": 342, "y_": [342, 346], "pred": [342, 346], "delta": [343, 371], "huber": 343, "leq": [343, 356], "l2": [343, 346, 383], "kullback": 344, "leibler": 344, "diverg": 344, "cosh": 346, "logcosh": 346, "sensit": 346, "outlier": 346, "dual": 346, "offer": 346, "balanc": 346, "robust": 346, "approach": [346, 396], "inputs1": 347, "inputs2": 347, "margin": [347, 351], "rank": 347, "573409": 347, "765166": 347, "0638": 347, "75596": 347, "225763": 347, "256995": 347, "773433": 347, "formula": 350, "anchor": 351, "triplet": 351, "_p": 351, "pairwis": 351, "instabl": 351, "monoton": 352, "0507": 356, "67326": 356, "sum_j": 359, "x_j": 359, "subclass": 368, "concept": 368, "mymlp": 368, "in_proj": 368, "involv": [370, 395], "subsequ": 370, "far": 370, "apply_gradi": 370, "rmsprop": 370, "adagrad": 370, "adafactor": 370, "adadelta": 370, "adam": [370, 376, 377, 386, 387], "adamw": [370, 377], "adamax": 370, "lion": 370, "cosine_decai": [370, 386], "exponential_decai": 370, "join_schedul": 370, "linear_schedul": [370, 386], "step_decai": 370, "rho": 371, "zeiler": 371, "2012": [371, 382], "adapt": [371, 372, 373], "1212": 371, "5701": 371, "v_": [371, 373, 374, 375, 376, 382, 383], "v_t": [371, 373, 374, 375, 376, 382, 383], "u_t": 371, "u_": 371, "w_t": [371, 373, 374, 375, 376, 377, 382, 383], "30": 372, "001": 372, "clip_threshold": 372, "decay_r": [372, 385, 388], "beta_1": [372, 374, 375, 376, 377], "weight_decai": [372, 375, 377, 383], "scale_paramet": 372, "relative_step": 372, "warmup_init": 372, "sublinear": 372, "cost": [372, 398], "epsilon_1": 372, "epsilon_2": 372, "parameter_scal": 372, "clip": 372, "unscal": 372, "decai": [372, 375, 377, 383, 384, 385, 388], "duchi": 373, "hazan": 373, "singer": 373, "2011": 373, "subgradi": 373, "onlin": 373, "stochast": [373, 374, 376, 383, 398], "jmlr": 373, "999": [374, 375, 376], "omit": [374, 376], "estim": [374, 376], "kingma": [374, 376], "ba": [374, 376], "iclr": [374, 375, 376], "m_": [374, 375, 376, 377], "m_t": [374, 375, 376, 377], "beta_2": [374, 375, 376, 377], "contrast": 375, "loshchilov": 375, "hutter": 375, "decoupl": 375, "99": [377, 382], "tend": 377, "10x": 377, "strength": [377, 383], "wd": 377, "chen": 377, "symbol": 377, "discoveri": 377, "2302": 377, "06675": 377, "eta": 377, "opt": 378, "tieleman": 382, "hinton": 382, "lectur": 382, "coursera": 382, "dampen": 383, "nesterov": 383, "descent": [383, 395, 398], "mu": 383, "tau": 383, "penalti": 383, "decay_step": 384, "beyond": [384, 387], "minim": 384, "lr_schedul": [384, 385, 386, 388], "1000": [384, 395], "0999961": 384, "06561": 385, "boundari": 386, "join": 386, "transit": 386, "warmup": [386, 387], "0999938": 386, "101": 387, "step_siz": 388, "081": 388, "basi": 390, "implicit": [392, 395, 396], "fine": [392, 398], "grain": 392, "control": [392, 398], "pseudo": 392, "altern": 392, "splittabl": 392, "threefri": 392, "counter": 392, "cycl": 394, "merg": 395, "fuse": 395, "big": 395, "awar": [395, 398], "36788": 395, "compiled_fun": 395, "code": [395, 398], "slow": 395, "stack": 395, "rerun": [395, 398], "frequent": [395, 398], "destroi": 395, "anonym": 395, "don": [395, 402], "unari": 395, "overhead": [395, 398, 402], "bandwidth": 395, "fusibl": 395, "consider": 395, "versu": 395, "timeit": [395, 396], "tic": 395, "perf_count": 395, "toc": 395, "tpi": 395, "1e3": 395, "4096": [395, 396, 402], "On": [395, 396, 398], "millisecond": [395, 402], "five": 395, "latest": 395, "won": 395, "placehold": 395, "insid": 395, "crash": 395, "disable_compil": 395, "okai": [395, 398], "intend": 395, "deal": 395, "pretti": [395, 398], "inconveni": 395, "functool": 395, "particularli": 395, "backward": [395, 396], "compiled_grad_fn": 395, "71828": 395, "outer": [395, 398], "opportun": 395, "inner": 395, "idea": [396, 398], "behind": 396, "dfdx": [396, 397], "d2fdx2": 396, "zero_grad": 396, "detach": 396, "requires_grad": 396, "dloss_dw": 396, "dloss_dx": 396, "lot": 396, "redund": 396, "continu": 396, "suppos": [396, 402], "nice": [396, 398], "propag": [396, 397], "stop_gradi": 396, "autom": 396, "contriv": [396, 402], "sake": 396, "clariti": 396, "quit": [396, 399], "power": [396, 399], "difficult": 396, "primit": 396, "issu": [396, 399], "priorit": 396, "naive_add": 396, "vmap_add": 396, "total": 396, "390": 396, "wherea": 396, "025": 396, "ten": [396, 398], "Of": 396, "cours": 396, "better": [396, 402], "handi": 396, "slice": 397, "ellipsi": 397, "mix": 397, "take_along_axi": 397, "lack": 397, "extrem": [397, 398], "ineffici": [397, 398], "nonzero": 397, "dynam": 398, "easier": 398, "worri": 398, "fun1": 398, "expensive_fun": 398, "consum": 398, "eager": 398, "thank": 398, "weights_fp16": 398, "trade": 398, "bad": 398, "grow": 398, "computation": 398, "costli": 398, "luckili": 398, "wide": 398, "thousand": 398, "value_and_grad_fn": 398, "implicitli": 398, "anytim": 398, "memoryview": [398, 399], "perfectli": 398, "first_lay": 398, "second_layer_a": 398, "second_layer_b": 398, "protocol": 399, "pep": 399, "3118": 399, "a_view": 399, "owndata": 399, "extern": 399, "demonstr": 399, "x_view": 399, "modifi": 399, "df": 399, "x\u00b2": 399, "2x": 399, "indirectli": 399, "modif": 399, "seen": 399, "occur": 399, "incorpor": 399, "aris": 399, "incorrect": 399, "experiment": 399, "break": 399, "advis": 399, "intermedi": 399, "jnp": 399, "tf": 399, "page": 400, "composit": 400, "archiv": 401, "savez_compress": 401, "save_gguf": 401, "arr_0": 401, "advantag": 402, "parallel": 402, "race": 402, "interest": 402, "albeit": 402, "d1": 402, "d2": 402, "matmul": 402, "But": 402, "twice": 402, "measur": 402, "default_stream": 403, "default_devic": 403, "my_devic": 403}, "objects": {"mlx.core": [[8, 0, 1, "", "Device"], [9, 0, 1, "", "Dtype"], [10, 0, 1, "", "DtypeCategory"], [256, 0, 1, "", "Stream"], [11, 2, 1, "", "abs"], [12, 2, 1, "", "add"], [13, 2, 1, "", "all"], [14, 2, 1, "", "allclose"], [15, 2, 1, "", "any"], [16, 2, 1, "", "arange"], [17, 2, 1, "", "arccos"], [18, 2, 1, "", "arccosh"], [19, 2, 1, "", "arcsin"], [20, 2, 1, "", "arcsinh"], [21, 2, 1, "", "arctan"], [22, 2, 1, "", "arctanh"], [23, 2, 1, "", "argmax"], [24, 2, 1, "", "argmin"], [25, 2, 1, "", "argpartition"], [26, 2, 1, "", "argsort"], [27, 0, 1, "", "array"], [76, 2, 1, "", "array_equal"], [77, 2, 1, "", "atleast_1d"], [78, 2, 1, "", "atleast_2d"], [79, 2, 1, "", "atleast_3d"], [80, 2, 1, "", "block_masked_mm"], [81, 2, 1, "", "broadcast_to"], [82, 2, 1, "", "ceil"], [83, 2, 1, "", "clip"], [84, 2, 1, "", "compile"], [85, 2, 1, "", "concatenate"], [86, 2, 1, "", "conv1d"], [87, 2, 1, "", "conv2d"], [88, 2, 1, "", "conv_general"], [89, 2, 1, "", "convolve"], [90, 2, 1, "", "cos"], [91, 2, 1, "", "cosh"], [92, 2, 1, "", "cummax"], [93, 2, 1, "", "cummin"], [94, 2, 1, "", "cumprod"], [95, 2, 1, "", "cumsum"], [96, 2, 1, "", "default_device"], [97, 2, 1, "", "default_stream"], [98, 2, 1, "", "degrees"], [99, 2, 1, "", "dequantize"], [100, 2, 1, "", "diag"], [101, 2, 1, "", "diagonal"], [102, 2, 1, "", "disable_compile"], [103, 2, 1, "", "divide"], [104, 2, 1, "", "divmod"], [105, 2, 1, "", "enable_compile"], [106, 2, 1, "", "equal"], [107, 2, 1, "", "erf"], [108, 2, 1, "", "erfinv"], [109, 2, 1, "", "eval"], [110, 2, 1, "", "exp"], [111, 2, 1, "", "expand_dims"], [112, 2, 1, "", "expm1"], [113, 2, 1, "", "eye"], [130, 2, 1, "", "flatten"], [131, 2, 1, "", "floor"], [132, 2, 1, "", "floor_divide"], [133, 2, 1, "", "full"], [134, 2, 1, "", "grad"], [135, 2, 1, "", "greater"], [136, 2, 1, "", "greater_equal"], [137, 2, 1, "", "identity"], [138, 2, 1, "", "inner"], [139, 2, 1, "", "isclose"], [140, 2, 1, "", "isinf"], [141, 2, 1, "", "isnan"], [142, 2, 1, "", "isneginf"], [143, 2, 1, "", "isposinf"], [144, 2, 1, "", "issubdtype"], [145, 2, 1, "", "jvp"], [146, 2, 1, "", "less"], [147, 2, 1, "", "less_equal"], [150, 2, 1, "", "linspace"], [151, 2, 1, "", "load"], [152, 2, 1, "", "log"], [153, 2, 1, "", "log10"], [154, 2, 1, "", "log1p"], [155, 2, 1, "", "log2"], [156, 2, 1, "", "logaddexp"], [157, 2, 1, "", "logical_and"], [158, 2, 1, "", "logical_not"], [159, 2, 1, "", "logical_or"], [160, 2, 1, "", "logsumexp"], [161, 2, 1, "", "matmul"], [162, 2, 1, "", "max"], [163, 2, 1, "", "maximum"], [164, 2, 1, "", "mean"], [165, 2, 1, "", "meshgrid"], [175, 2, 1, "", "min"], [176, 2, 1, "", "minimum"], [177, 2, 1, "", "moveaxis"], [178, 2, 1, "", "multiply"], [179, 2, 1, "", "negative"], [180, 2, 1, "", "new_stream"], [181, 2, 1, "", "not_equal"], [182, 2, 1, "", "ones"], [183, 2, 1, "", "ones_like"], [184, 2, 1, "", "outer"], [185, 2, 1, "", "pad"], [186, 2, 1, "", "partition"], [187, 2, 1, "", "prod"], [188, 2, 1, "", "quantize"], [189, 2, 1, "", "quantized_matmul"], [190, 2, 1, "", "radians"], [202, 2, 1, "", "reciprocal"], [203, 2, 1, "", "repeat"], [204, 2, 1, "", "reshape"], [205, 2, 1, "", "round"], [206, 2, 1, "", "rsqrt"], [207, 2, 1, "", "save"], [208, 2, 1, "", "save_gguf"], [209, 2, 1, "", "save_safetensors"], [210, 2, 1, "", "savez"], [211, 2, 1, "", "savez_compressed"], [212, 2, 1, "", "set_default_device"], [213, 2, 1, "", "set_default_stream"], [214, 2, 1, "", "sigmoid"], [215, 2, 1, "", "sign"], [216, 2, 1, "", "sin"], [217, 2, 1, "", "sinh"], [218, 2, 1, "", "softmax"], [219, 2, 1, "", "sort"], [220, 2, 1, "", "split"], [221, 2, 1, "", "sqrt"], [222, 2, 1, "", "square"], [223, 2, 1, "", "squeeze"], [224, 2, 1, "", "stack"], [225, 2, 1, "", "std"], [226, 2, 1, "", "stop_gradient"], [227, 2, 1, "", "stream"], [228, 2, 1, "", "subtract"], [229, 2, 1, "", "sum"], [230, 2, 1, "", "swapaxes"], [231, 2, 1, "", "synchronize"], [232, 2, 1, "", "take"], [233, 2, 1, "", "take_along_axis"], [234, 2, 1, "", "tan"], [235, 2, 1, "", "tanh"], [236, 2, 1, "", "tensordot"], [237, 2, 1, "", "tile"], [238, 2, 1, "", "topk"], [239, 2, 1, "", "transpose"], [240, 2, 1, "", "tri"], [241, 2, 1, "", "tril"], [242, 2, 1, "", "triu"], [243, 2, 1, "", "value_and_grad"], [244, 2, 1, "", "var"], [245, 2, 1, "", "vjp"], [246, 2, 1, "", "vmap"], [247, 2, 1, "", "where"], [248, 2, 1, "", "zeros"], [249, 2, 1, "", "zeros_like"]], "mlx.core.Device": [[8, 1, 1, "", "__init__"]], "mlx.core.Dtype": [[9, 1, 1, "", "__init__"]], "mlx.core.DtypeCategory": [[10, 1, 1, "", "__init__"]], "mlx.core.Stream": [[256, 1, 1, "", "__init__"]], "mlx.core.array": [[28, 3, 1, "", "T"], [27, 1, 1, "", "__init__"], [29, 1, 1, "", "abs"], [30, 1, 1, "", "all"], [31, 1, 1, "", "any"], [32, 1, 1, "", "argmax"], [33, 1, 1, "", "argmin"], [34, 1, 1, "", "astype"], [35, 3, 1, "", "at"], [36, 1, 1, "", "cos"], [37, 1, 1, "", "cummax"], [38, 1, 1, "", "cummin"], [39, 1, 1, "", "cumprod"], [40, 1, 1, "", "cumsum"], [41, 1, 1, "", "diag"], [42, 1, 1, "", "diagonal"], [43, 3, 1, "", "dtype"], [44, 1, 1, "", "exp"], [45, 1, 1, "", "flatten"], [46, 1, 1, "", "item"], [47, 3, 1, "", "itemsize"], [48, 1, 1, "", "log"], [49, 1, 1, "", "log10"], [50, 1, 1, "", "log1p"], [51, 1, 1, "", "log2"], [52, 1, 1, "", "logsumexp"], [53, 1, 1, "", "max"], [54, 1, 1, "", "mean"], [55, 1, 1, "", "min"], [56, 1, 1, "", "moveaxis"], [57, 3, 1, "", "nbytes"], [58, 3, 1, "", "ndim"], [59, 1, 1, "", "prod"], [60, 1, 1, "", "reciprocal"], [61, 1, 1, "", "reshape"], [62, 1, 1, "", "round"], [63, 1, 1, "", "rsqrt"], [64, 3, 1, "", "shape"], [65, 1, 1, "", "sin"], [66, 3, 1, "", "size"], [67, 1, 1, "", "split"], [68, 1, 1, "", "sqrt"], [69, 1, 1, "", "square"], [70, 1, 1, "", "squeeze"], [71, 1, 1, "", "sum"], [72, 1, 1, "", "swapaxes"], [73, 1, 1, "", "tolist"], [74, 1, 1, "", "transpose"], [75, 1, 1, "", "var"]], "mlx.core.fast": [[114, 2, 1, "", "layer_norm"], [115, 2, 1, "", "rms_norm"], [116, 2, 1, "", "rope"], [117, 2, 1, "", "scaled_dot_product_attention"]], "mlx.core.fft": [[118, 2, 1, "", "fft"], [119, 2, 1, "", "fft2"], [120, 2, 1, "", "fftn"], [121, 2, 1, "", "ifft"], [122, 2, 1, "", "ifft2"], [123, 2, 1, "", "ifftn"], [124, 2, 1, "", "irfft"], [125, 2, 1, "", "irfft2"], [126, 2, 1, "", "irfftn"], [127, 2, 1, "", "rfft"], [128, 2, 1, "", "rfft2"], [129, 2, 1, "", "rfftn"]], "mlx.core.linalg": [[148, 2, 1, "", "norm"], [149, 2, 1, "", "qr"]], "mlx.core.metal": [[166, 2, 1, "", "clear_cache"], [167, 2, 1, "", "get_active_memory"], [168, 2, 1, "", "get_cache_memory"], [169, 2, 1, "", "get_peak_memory"], [170, 2, 1, "", "is_available"], [171, 2, 1, "", "set_cache_limit"], [172, 2, 1, "", "set_memory_limit"], [173, 2, 1, "", "start_capture"], [174, 2, 1, "", "stop_capture"]], "mlx.core.random": [[191, 2, 1, "", "bernoulli"], [192, 2, 1, "", "categorical"], [193, 2, 1, "", "gumbel"], [194, 2, 1, "", "key"], [195, 2, 1, "", "multivariate_normal"], [196, 2, 1, "", "normal"], [197, 2, 1, "", "randint"], [198, 2, 1, "", "seed"], [199, 2, 1, "", "split"], [200, 2, 1, "", "truncated_normal"], [201, 2, 1, "", "uniform"]], "mlx.nn": [[265, 0, 1, "", "ALiBi"], [266, 0, 1, "", "AvgPool1d"], [267, 0, 1, "", "AvgPool2d"], [268, 0, 1, "", "BatchNorm"], [269, 0, 1, "", "Conv1d"], [270, 0, 1, "", "Conv2d"], [271, 0, 1, "", "Dropout"], [272, 0, 1, "", "Dropout2d"], [273, 0, 1, "", "Dropout3d"], [274, 0, 1, "", "Embedding"], [275, 0, 1, "", "GELU"], [276, 0, 1, "", "GRU"], [277, 0, 1, "", "GroupNorm"], [278, 0, 1, "", "InstanceNorm"], [279, 0, 1, "", "LSTM"], [280, 0, 1, "", "LayerNorm"], [281, 0, 1, "", "Linear"], [282, 0, 1, "", "MaxPool1d"], [283, 0, 1, "", "MaxPool2d"], [284, 0, 1, "", "Mish"], [368, 0, 1, "", "Module"], [305, 0, 1, "", "MultiHeadAttention"], [306, 0, 1, "", "PReLU"], [307, 0, 1, "", "QuantizedEmbedding"], [308, 0, 1, "", "QuantizedLinear"], [309, 0, 1, "", "RMSNorm"], [310, 0, 1, "", "RNN"], [311, 0, 1, "", "ReLU"], [312, 0, 1, "", "RoPE"], [313, 0, 1, "", "SELU"], [314, 0, 1, "", "Sequential"], [315, 0, 1, "", "SiLU"], [316, 0, 1, "", "SinusoidalPositionalEncoding"], [317, 0, 1, "", "Softshrink"], [318, 0, 1, "", "Step"], [319, 0, 1, "", "Transformer"], [320, 0, 1, "", "Upsample"], [329, 0, 1, "", "elu"], [330, 0, 1, "", "gelu"], [331, 0, 1, "", "gelu_approx"], [332, 0, 1, "", "gelu_fast_approx"], [333, 0, 1, "", "glu"], [334, 0, 1, "", "hardswish"], [335, 0, 1, "", "leaky_relu"], [336, 0, 1, "", "log_sigmoid"], [337, 0, 1, "", "log_softmax"], [352, 0, 1, "", "mish"], [353, 0, 1, "", "prelu"], [250, 2, 1, "", "quantize"], [354, 0, 1, "", "relu"], [355, 0, 1, "", "relu6"], [356, 0, 1, "", "selu"], [357, 0, 1, "", "sigmoid"], [358, 0, 1, "", "silu"], [359, 0, 1, "", "softmax"], [360, 0, 1, "", "softplus"], [361, 0, 1, "", "softshrink"], [362, 0, 1, "", "step"], [363, 0, 1, "", "tanh"], [251, 2, 1, "", "value_and_grad"]], "mlx.nn.Module": [[285, 1, 1, "", "apply"], [286, 1, 1, "", "apply_to_modules"], [287, 1, 1, "", "children"], [288, 1, 1, "", "eval"], [289, 1, 1, "", "filter_and_map"], [290, 1, 1, "", "freeze"], [291, 1, 1, "", "leaf_modules"], [292, 1, 1, "", "load_weights"], [293, 1, 1, "", "modules"], [294, 1, 1, "", "named_modules"], [295, 1, 1, "", "parameters"], [296, 1, 1, "", "save_weights"], [297, 1, 1, "", "set_dtype"], [298, 3, 1, "", "state"], [299, 1, 1, "", "train"], [300, 1, 1, "", "trainable_parameters"], [301, 3, 1, "", "training"], [302, 1, 1, "", "unfreeze"], [303, 1, 1, "", "update"], [304, 1, 1, "", "update_modules"]], "mlx.nn.init": [[321, 2, 1, "", "constant"], [322, 2, 1, "", "glorot_normal"], [323, 2, 1, "", "glorot_uniform"], [324, 2, 1, "", "he_normal"], [325, 2, 1, "", "he_uniform"], [326, 2, 1, "", "identity"], [327, 2, 1, "", "normal"], [328, 2, 1, "", "uniform"]], "mlx.nn.losses": [[338, 0, 1, "", "binary_cross_entropy"], [339, 0, 1, "", "cosine_similarity_loss"], [340, 0, 1, "", "cross_entropy"], [341, 0, 1, "", "gaussian_nll_loss"], [342, 0, 1, "", "hinge_loss"], [343, 0, 1, "", "huber_loss"], [344, 0, 1, "", "kl_div_loss"], [345, 0, 1, "", "l1_loss"], [346, 0, 1, "", "log_cosh_loss"], [347, 0, 1, "", "margin_ranking_loss"], [348, 0, 1, "", "mse_loss"], [349, 0, 1, "", "nll_loss"], [350, 0, 1, "", "smooth_l1_loss"], [351, 0, 1, "", "triplet_loss"]], "mlx.optimizers": [[371, 0, 1, "", "AdaDelta"], [372, 0, 1, "", "Adafactor"], [373, 0, 1, "", "Adagrad"], [374, 0, 1, "", "Adam"], [375, 0, 1, "", "AdamW"], [376, 0, 1, "", "Adamax"], [377, 0, 1, "", "Lion"], [390, 0, 1, "", "Optimizer"], [382, 0, 1, "", "RMSprop"], [383, 0, 1, "", "SGD"], [384, 2, 1, "", "cosine_decay"], [385, 2, 1, "", "exponential_decay"], [386, 2, 1, "", "join_schedules"], [387, 2, 1, "", "linear_schedule"], [388, 2, 1, "", "step_decay"]], "mlx.optimizers.Optimizer": [[378, 1, 1, "", "apply_gradients"], [379, 1, 1, "", "init"], [380, 3, 1, "", "state"], [381, 1, 1, "", "update"]], "mlx.utils": [[252, 2, 1, "", "tree_flatten"], [253, 2, 1, "", "tree_map"], [254, 2, 1, "", "tree_map_with_path"], [255, 2, 1, "", "tree_unflatten"]]}, "objtypes": {"0": "py:class", "1": "py:method", "2": "py:function", "3": "py:property"}, "objnames": {"0": ["py", "class", "Python class"], "1": ["py", "method", "Python method"], "2": ["py", "function", "Python function"], "3": ["py", "property", "Python property"]}, "titleterms": {"oper": [0, 1, 369], "develop": 1, "document": 1, "introduc": 1, "exampl": [1, 6, 395, 402], "primit": 1, "us": [1, 398, 403], "implement": [1, 4], "cpu": 1, "back": 1, "end": 1, "gpu": 1, "transform": [1, 319, 393, 395, 396, 398, 400], "build": [1, 7], "bind": 1, "python": [1, 6, 7], "cmake": 1, "setuptool": 1, "usag": [1, 6], "result": 1, "script": [1, 4], "download": [1, 4], "code": [1, 4], "metal": [2, 7, 166, 167, 168, 169, 170, 171, 172, 173, 174, 263], "debugg": 2, "xcode": 2, "workflow": 2, "linear": [3, 262, 281], "regress": 3, "llm": 4, "infer": 4, "model": 4, "attent": 4, "layer": [4, 5, 366], "encod": 4, "full": [4, 133], "gener": 4, "put": 4, "all": [4, 13, 30], "togeth": 4, "convert": 4, "weight": 4, "load": [4, 151, 401], "benchmark": 4, "multi": 5, "perceptron": 5, "mlx": [6, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 250, 251, 252, 253, 254, 255, 256, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388], "instal": [6, 7], "api": [6, 7], "refer": 6, "c": [6, 7], "further": 6, "read": 6, "troubleshoot": 7, "from": [7, 397], "sourc": 7, "requir": 7, "option": 7, "found": 7, "x86": 7, "shell": 7, "core": [8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220, 221, 222, 223, 224, 225, 226, 227, 228, 229, 230, 231, 232, 233, 234, 235, 236, 237, 238, 239, 240, 241, 242, 243, 244, 245, 246, 247, 248, 249, 256], "devic": [8, 259], "dtype": [9, 43], "dtypecategori": 10, "ab": [11, 29], "add": 12, "allclos": 14, "ani": [15, 31], "arang": 16, "arcco": 17, "arccosh": 18, "arcsin": 19, "arcsinh": 20, "arctan": 21, "arctanh": 22, "argmax": [23, 32], "argmin": [24, 33], "argpartit": 25, "argsort": 26, "arrai": [27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 257, 397, 401], "t": 28, "astyp": 34, "co": [36, 90], "cummax": [37, 92], "cummin": [38, 93], "cumprod": [39, 94], "cumsum": [40, 95], "diag": [41, 100], "diagon": [42, 101], "exp": [44, 110], "flatten": [45, 130], "item": 46, "items": 47, "log": [48, 152], "log10": [49, 153], "log1p": [50, 154], "log2": [51, 155], "logsumexp": [52, 160], "max": [53, 162], "mean": [54, 164], "min": [55, 175], "moveaxi": [56, 177], "nbyte": 57, "ndim": 58, "prod": [59, 187], "reciproc": [60, 202], "reshap": [61, 204], "round": [62, 205], "rsqrt": [63, 206], "shape": 64, "sin": [65, 216], "size": 66, "split": [67, 199, 220], "sqrt": [68, 221], "squar": [69, 222], "squeez": [70, 223], "sum": [71, 229], "swapax": [72, 230], "tolist": 73, "transpos": [74, 239], "var": [75, 244], "array_equ": 76, "atleast_1d": 77, "atleast_2d": 78, "atleast_3d": 79, "block_masked_mm": 80, "broadcast_to": 81, "ceil": 82, "clip": 83, "compil": [84, 395], "concaten": 85, "conv1d": [86, 269], "conv2d": [87, 270], "conv_gener": 88, "convolv": 89, "cosh": 91, "default_devic": 96, "default_stream": 97, "degre": 98, "dequant": 99, "disable_compil": 102, "divid": 103, "divmod": 104, "enable_compil": 105, "equal": 106, "erf": 107, "erfinv": 108, "eval": [109, 288], "expand_dim": 111, "expm1": 112, "ey": 113, "fast": [114, 115, 116, 117, 260], "layer_norm": 114, "rms_norm": 115, "rope": [116, 312], "scaled_dot_product_attent": 117, "fft": [118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 261], "fft2": 119, "fftn": 120, "ifft": 121, "ifft2": 122, "ifftn": 123, "irfft": 124, "irfft2": 125, "irfftn": 126, "rfft": 127, "rfft2": 128, "rfftn": 129, "floor": 131, "floor_divid": 132, "grad": [134, 264], "greater": 135, "greater_equ": 136, "ident": [137, 326], "inner": 138, "isclos": 139, "isinf": 140, "isnan": 141, "isneginf": 142, "isposinf": 143, "issubdtyp": 144, "jvp": 145, "less": 146, "less_equ": 147, "linalg": [148, 149], "norm": 148, "qr": 149, "linspac": 150, "logaddexp": 156, "logical_and": 157, "logical_not": 158, "logical_or": 159, "matmul": 161, "maximum": 163, "meshgrid": 165, "clear_cach": 166, "get_active_memori": 167, "get_cache_memori": 168, "get_peak_memori": 169, "is_avail": 170, "set_cache_limit": 171, "set_memory_limit": 172, "start_captur": 173, "stop_captur": 174, "minimum": 176, "multipli": 178, "neg": 179, "new_stream": 180, "not_equ": 181, "ones": 182, "ones_lik": 183, "outer": 184, "pad": 185, "partit": 186, "quantiz": [188, 250], "quantized_matmul": 189, "radian": 190, "random": [191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 392], "bernoulli": 191, "categor": 192, "gumbel": 193, "kei": 194, "multivariate_norm": 195, "normal": [196, 327], "randint": 197, "seed": 198, "truncated_norm": 200, "uniform": [201, 328], "repeat": 203, "save": [207, 401], "save_gguf": 208, "save_safetensor": 209, "savez": 210, "savez_compress": 211, "set_default_devic": 212, "set_default_stream": 213, "sigmoid": [214, 357], "sign": 215, "sinh": 217, "softmax": [218, 359], "sort": 219, "stack": 224, "std": 225, "stop_gradi": 226, "stream": [227, 256, 259, 403], "subtract": 228, "synchron": 231, "take": 232, "take_along_axi": 233, "tan": 234, "tanh": [235, 363], "tensordot": 236, "tile": 237, "topk": 238, "tri": 240, "tril": 241, "triu": 242, "value_and_grad": [243, 251], "vjp": 245, "vmap": 246, "where": 247, "zero": 248, "zeros_lik": 249, "nn": [250, 251, 265, 266, 267, 268, 269, 270, 271, 272, 273, 274, 275, 276, 277, 278, 279, 280, 281, 282, 283, 284, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 305, 306, 307, 308, 309, 310, 311, 312, 313, 314, 315, 316, 317, 318, 319, 320, 321, 322, 323, 324, 325, 326, 327, 328, 329, 330, 331, 332, 333, 334, 335, 336, 337, 338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 352, 353, 354, 355, 356, 357, 358, 359, 360, 361, 362, 363], "util": [252, 253, 254, 255, 394], "tree_flatten": 252, "tree_map": 253, "tree_map_with_path": 254, "tree_unflatten": 255, "data": 258, "type": 258, "support": 258, "algebra": 262, "neural": 264, "network": 264, "quick": [264, 400], "start": [264, 400], "The": 264, "modul": [264, 285, 286, 287, 288, 289, 290, 291, 292, 293, 294, 295, 296, 297, 298, 299, 300, 301, 302, 303, 304, 368], "class": 264, "paramet": [264, 295], "updat": [264, 303, 381, 397], "inspect": 264, "valu": 264, "alibi": 265, "avgpool1d": 266, "avgpool2d": 267, "batchnorm": 268, "dropout": 271, "dropout2d": 272, "dropout3d": 273, "embed": 274, "gelu": [275, 330], "gru": 276, "groupnorm": 277, "instancenorm": 278, "lstm": 279, "layernorm": 280, "maxpool1d": 282, "maxpool2d": 283, "mish": [284, 352], "appli": 285, "apply_to_modul": 286, "children": 287, "filter_and_map": 289, "freez": 290, "leaf_modul": 291, "load_weight": 292, "named_modul": 294, "save_weight": 296, "set_dtyp": 297, "state": [298, 380], "train": [299, 301, 395], "trainable_paramet": 300, "unfreez": 302, "update_modul": 304, "multiheadattent": 305, "prelu": [306, 353], "quantizedembed": 307, "quantizedlinear": 308, "rmsnorm": 309, "rnn": 310, "relu": [311, 354], "selu": [313, 356], "sequenti": 314, "silu": [315, 358], "sinusoidalpositionalencod": 316, "softshrink": [317, 361], "step": [318, 362], "upsampl": 320, "init": [321, 322, 323, 324, 325, 326, 327, 328, 379], "constant": 321, "glorot_norm": 322, "glorot_uniform": 323, "he_norm": 324, "he_uniform": 325, "elu": 329, "gelu_approx": 331, "gelu_fast_approx": 332, "glu": 333, "hardswish": 334, "leaky_relu": 335, "log_sigmoid": 336, "log_softmax": 337, "loss": [338, 339, 340, 341, 342, 343, 344, 345, 346, 347, 348, 349, 350, 351, 367], "binary_cross_entropi": 338, "cosine_similarity_loss": 339, "cross_entropi": 340, "gaussian_nll_loss": 341, "hinge_loss": 342, "huber_loss": 343, "kl_div_loss": 344, "l1_loss": 345, "log_cosh_loss": 346, "margin_ranking_loss": 347, "mse_loss": 348, "nll_loss": 349, "smooth_l1_loss": 350, "triplet_loss": 351, "relu6": 355, "softplu": 360, "function": [364, 367, 395, 396, 400], "initi": 365, "optim": [370, 371, 372, 373, 374, 375, 376, 377, 378, 379, 380, 381, 382, 383, 384, 385, 386, 387, 388, 389, 390], "adadelta": 371, "adafactor": 372, "adagrad": 373, "adam": 374, "adamw": 375, "adamax": 376, "lion": 377, "apply_gradi": 378, "rmsprop": 382, "sgd": 383, "cosine_decai": 384, "exponential_decai": 385, "join_schedul": 386, "linear_schedul": 387, "step_decai": 388, "common": 389, "schedul": 391, "tree": 394, "basic": [395, 400], "speedup": 395, "debug": 395, "pure": 395, "graph": [395, 398, 400], "automat": 396, "differenti": 396, "vector": 396, "index": 397, "differ": 397, "numpi": [397, 399], "In": 397, "place": 397, "lazi": 398, "evalu": 398, "why": 398, "comput": 398, "onli": 398, "what": 398, "you": 398, "when": 398, "convers": 399, "other": 399, "framework": 399, "pytorch": 399, "jax": 399, "tensorflow": 399, "guid": 400, "serial": 401, "format": 401, "unifi": 402, "memori": 402, "A": 402, "simpl": 402, "specifi": 403}, "envversion": {"sphinx.domains.c": 3, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 9, "sphinx.domains.index": 1, "sphinx.domains.javascript": 3, "sphinx.domains.math": 2, "sphinx.domains.python": 4, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx": 60}, "alltitles": {"Operations": [[0, "operations"], [1, "operations"], [369, "operations"]], "Developer Documentation": [[1, "developer-documentation"]], "Introducing the Example": [[1, "introducing-the-example"]], "Operations and Primitives": [[1, "operations-and-primitives"]], "Primitives": [[1, "primitives"]], "Using the Primitive": [[1, "using-the-primitive"]], "Implementing the Primitive": [[1, "implementing-the-primitive"]], "Implementing the CPU Back-end": [[1, "implementing-the-cpu-back-end"]], "Implementing the GPU Back-end": [[1, "implementing-the-gpu-back-end"]], "Primitive Transforms": [[1, "primitive-transforms"]], "Building and Binding": [[1, "building-and-binding"]], "Binding to Python": [[1, "binding-to-python"]], "Building with CMake": [[1, "building-with-cmake"]], "Building with setuptools": [[1, "building-with-setuptools"]], "Usage": [[1, "usage"], [6, null]], "Results": [[1, "results"]], "Scripts": [[1, "scripts"], [4, "scripts"]], "Download the code": [[1, null], [4, null]], "Metal Debugger": [[2, "metal-debugger"]], "Xcode Workflow": [[2, "xcode-workflow"]], "Linear Regression": [[3, "linear-regression"]], "LLM inference": [[4, "llm-inference"]], "Implementing the model": [[4, "implementing-the-model"]], "Attention layer": [[4, "attention-layer"]], "Encoder layer": [[4, "encoder-layer"]], "Full model": [[4, "full-model"]], "Generation": [[4, "generation"]], "Putting it all together": [[4, "putting-it-all-together"]], "Converting the weights": [[4, "converting-the-weights"]], "Weight loading and benchmarking": [[4, "weight-loading-and-benchmarking"]], "Multi-Layer Perceptron": [[5, "multi-layer-perceptron"]], "MLX": [[6, "mlx"]], "Install": [[6, null]], "Examples": [[6, null]], "Python API Reference": [[6, null]], "C++ API Reference": [[6, null]], "Further Reading": [[6, null]], "Build and Install": [[7, "build-and-install"]], "Python Installation": [[7, "python-installation"]], "Troubleshooting": [[7, "troubleshooting"], [7, "id2"]], "Build from source": [[7, "build-from-source"]], "Build Requirements": [[7, "build-requirements"]], "Python API": [[7, "python-api"]], "C++ API": [[7, "c-api"]], "Build Options": [[7, "id3"]], "Metal not found": [[7, "metal-not-found"]], "x86 Shell": [[7, "x86-shell"]], "mlx.core.fast.layer_norm": [[114, "mlx-core-fast-layer-norm"]], "mlx.core.fast.rms_norm": [[115, "mlx-core-fast-rms-norm"]], "mlx.core.fast.rope": [[116, "mlx-core-fast-rope"]], "mlx.core.fast.scaled_dot_product_attention": [[117, "mlx-core-fast-scaled-dot-product-attention"]], "mlx.core.fft.fft": [[118, "mlx-core-fft-fft"]], "mlx.core.fft.fft2": [[119, "mlx-core-fft-fft2"]], "mlx.core.fft.fftn": [[120, "mlx-core-fft-fftn"]], "mlx.core.fft.ifft": [[121, "mlx-core-fft-ifft"]], "mlx.core.fft.ifft2": [[122, "mlx-core-fft-ifft2"]], "mlx.core.fft.ifftn": [[123, "mlx-core-fft-ifftn"]], "mlx.core.fft.irfft": [[124, "mlx-core-fft-irfft"]], "mlx.core.fft.irfft2": [[125, "mlx-core-fft-irfft2"]], "mlx.core.fft.irfftn": [[126, "mlx-core-fft-irfftn"]], "mlx.core.fft.rfft": [[127, "mlx-core-fft-rfft"]], "mlx.core.fft.rfft2": [[128, "mlx-core-fft-rfft2"]], "mlx.core.fft.rfftn": [[129, "mlx-core-fft-rfftn"]], "mlx.core.linalg.norm": [[148, "mlx-core-linalg-norm"]], "mlx.core.linalg.qr": [[149, "mlx-core-linalg-qr"]], "mlx.core.metal.clear_cache": [[166, "mlx-core-metal-clear-cache"]], "mlx.core.metal.get_active_memory": [[167, "mlx-core-metal-get-active-memory"]], "mlx.core.metal.get_cache_memory": [[168, "mlx-core-metal-get-cache-memory"]], "mlx.core.metal.get_peak_memory": [[169, "mlx-core-metal-get-peak-memory"]], "mlx.core.metal.is_available": [[170, "mlx-core-metal-is-available"]], "mlx.core.metal.set_cache_limit": [[171, "mlx-core-metal-set-cache-limit"]], "mlx.core.metal.set_memory_limit": [[172, "mlx-core-metal-set-memory-limit"]], "mlx.core.metal.start_capture": [[173, "mlx-core-metal-start-capture"]], "mlx.core.metal.stop_capture": [[174, "mlx-core-metal-stop-capture"]], "mlx.core.random.bernoulli": [[191, "mlx-core-random-bernoulli"]], "mlx.core.random.categorical": [[192, "mlx-core-random-categorical"]], "mlx.core.random.gumbel": [[193, "mlx-core-random-gumbel"]], "mlx.core.random.key": [[194, "mlx-core-random-key"]], "mlx.core.random.multivariate_normal": [[195, "mlx-core-random-multivariate-normal"]], "mlx.core.random.normal": [[196, "mlx-core-random-normal"]], "mlx.core.random.randint": [[197, "mlx-core-random-randint"]], "mlx.core.random.seed": [[198, "mlx-core-random-seed"]], "mlx.core.random.split": [[199, "mlx-core-random-split"]], "mlx.core.random.truncated_normal": [[200, "mlx-core-random-truncated-normal"]], "mlx.core.random.uniform": [[201, "mlx-core-random-uniform"]], "mlx.nn.quantize": [[250, "mlx-nn-quantize"]], "mlx.nn.value_and_grad": [[251, "mlx-nn-value-and-grad"]], "mlx.utils.tree_flatten": [[252, "mlx-utils-tree-flatten"]], "mlx.utils.tree_map": [[253, "mlx-utils-tree-map"]], "mlx.utils.tree_map_with_path": [[254, "mlx-utils-tree-map-with-path"]], "mlx.utils.tree_unflatten": [[255, "mlx-utils-tree-unflatten"]], "Array": [[257, "array"]], "Data Types": [[258, "data-types"]], "Supported Data Types": [[258, "id2"]], "Devices and Streams": [[259, "devices-and-streams"]], "Fast": [[260, "fast"]], "FFT": [[261, "fft"]], "Linear Algebra": [[262, "linear-algebra"]], "Metal": [[263, "metal"]], "Neural Networks": [[264, "neural-networks"]], "Quick Start with Neural Networks": [[264, "quick-start-with-neural-networks"]], "The Module Class": [[264, "the-module-class"]], "Parameters": [[264, "parameters"]], "Updating the Parameters": [[264, "updating-the-parameters"]], "Inspecting Modules": [[264, "inspecting-modules"]], "Value and Grad": [[264, "value-and-grad"]], "mlx.nn.ALiBi": [[265, "mlx-nn-alibi"]], "mlx.nn.AvgPool1d": [[266, "mlx-nn-avgpool1d"]], "mlx.nn.AvgPool2d": [[267, "mlx-nn-avgpool2d"]], "mlx.nn.BatchNorm": [[268, "mlx-nn-batchnorm"]], "mlx.nn.Conv1d": [[269, "mlx-nn-conv1d"]], "mlx.nn.Conv2d": [[270, "mlx-nn-conv2d"]], "mlx.nn.Dropout": [[271, "mlx-nn-dropout"]], "mlx.nn.Dropout2d": [[272, "mlx-nn-dropout2d"]], "mlx.nn.Dropout3d": [[273, "mlx-nn-dropout3d"]], "mlx.nn.Embedding": [[274, "mlx-nn-embedding"]], "mlx.nn.GELU": [[275, "mlx-nn-gelu"]], "mlx.nn.GRU": [[276, "mlx-nn-gru"]], "mlx.nn.GroupNorm": [[277, "mlx-nn-groupnorm"]], "mlx.nn.InstanceNorm": [[278, "mlx-nn-instancenorm"]], "mlx.nn.LSTM": [[279, "mlx-nn-lstm"]], "mlx.nn.LayerNorm": [[280, "mlx-nn-layernorm"]], "mlx.nn.Linear": [[281, "mlx-nn-linear"]], "mlx.nn.MaxPool1d": [[282, "mlx-nn-maxpool1d"]], "mlx.nn.MaxPool2d": [[283, "mlx-nn-maxpool2d"]], "mlx.nn.Mish": [[284, "mlx-nn-mish"]], "mlx.nn.Module.apply": [[285, "mlx-nn-module-apply"]], "mlx.nn.Module.apply_to_modules": [[286, "mlx-nn-module-apply-to-modules"]], "mlx.nn.Module.children": [[287, "mlx-nn-module-children"]], "mlx.nn.Module.eval": [[288, "mlx-nn-module-eval"]], "mlx.nn.Module.filter_and_map": [[289, "mlx-nn-module-filter-and-map"]], "mlx.nn.Module.freeze": [[290, "mlx-nn-module-freeze"]], "mlx.nn.Module.leaf_modules": [[291, "mlx-nn-module-leaf-modules"]], "mlx.nn.Module.load_weights": [[292, "mlx-nn-module-load-weights"]], "mlx.nn.Module.modules": [[293, "mlx-nn-module-modules"]], "mlx.nn.Module.named_modules": [[294, "mlx-nn-module-named-modules"]], "mlx.nn.Module.parameters": [[295, "mlx-nn-module-parameters"]], "mlx.nn.Module.save_weights": [[296, "mlx-nn-module-save-weights"]], "mlx.nn.Module.set_dtype": [[297, "mlx-nn-module-set-dtype"]], "mlx.nn.Module.state": [[298, "mlx-nn-module-state"]], "mlx.nn.Module.train": [[299, "mlx-nn-module-train"]], "mlx.nn.Module.trainable_parameters": [[300, "mlx-nn-module-trainable-parameters"]], "mlx.nn.Module.training": [[301, "mlx-nn-module-training"]], "mlx.nn.Module.unfreeze": [[302, "mlx-nn-module-unfreeze"]], "mlx.nn.Module.update": [[303, "mlx-nn-module-update"]], "mlx.nn.Module.update_modules": [[304, "mlx-nn-module-update-modules"]], "mlx.nn.MultiHeadAttention": [[305, "mlx-nn-multiheadattention"]], "mlx.nn.PReLU": [[306, "mlx-nn-prelu"]], "mlx.nn.QuantizedEmbedding": [[307, "mlx-nn-quantizedembedding"]], "mlx.nn.QuantizedLinear": [[308, "mlx-nn-quantizedlinear"]], "mlx.nn.RMSNorm": [[309, "mlx-nn-rmsnorm"]], "mlx.nn.RNN": [[310, "mlx-nn-rnn"]], "mlx.nn.ReLU": [[311, "mlx-nn-relu"]], "mlx.nn.RoPE": [[312, "mlx-nn-rope"]], "mlx.nn.SELU": [[313, "mlx-nn-selu"]], "mlx.nn.Sequential": [[314, "mlx-nn-sequential"]], "mlx.nn.SiLU": [[315, "mlx-nn-silu"]], "mlx.nn.SinusoidalPositionalEncoding": [[316, "mlx-nn-sinusoidalpositionalencoding"]], "mlx.nn.Softshrink": [[317, "mlx-nn-softshrink"]], "mlx.nn.Step": [[318, "mlx-nn-step"]], "mlx.nn.Transformer": [[319, "mlx-nn-transformer"]], "mlx.nn.Upsample": [[320, "mlx-nn-upsample"]], "mlx.nn.init.constant": [[321, "mlx-nn-init-constant"]], "mlx.nn.init.glorot_normal": [[322, "mlx-nn-init-glorot-normal"]], "mlx.nn.init.glorot_uniform": [[323, "mlx-nn-init-glorot-uniform"]], "mlx.nn.init.he_normal": [[324, "mlx-nn-init-he-normal"]], "mlx.nn.init.he_uniform": [[325, "mlx-nn-init-he-uniform"]], "mlx.nn.init.identity": [[326, "mlx-nn-init-identity"]], "mlx.nn.init.normal": [[327, "mlx-nn-init-normal"]], "mlx.nn.init.uniform": [[328, "mlx-nn-init-uniform"]], "mlx.nn.elu": [[329, "mlx-nn-elu"]], "mlx.nn.gelu": [[330, "mlx-nn-gelu"]], "mlx.nn.gelu_approx": [[331, "mlx-nn-gelu-approx"]], "mlx.nn.gelu_fast_approx": [[332, "mlx-nn-gelu-fast-approx"]], "mlx.nn.glu": [[333, "mlx-nn-glu"]], "mlx.nn.hardswish": [[334, "mlx-nn-hardswish"]], "mlx.nn.leaky_relu": [[335, "mlx-nn-leaky-relu"]], "mlx.nn.log_sigmoid": [[336, "mlx-nn-log-sigmoid"]], "mlx.nn.log_softmax": [[337, "mlx-nn-log-softmax"]], "mlx.nn.losses.binary_cross_entropy": [[338, "mlx-nn-losses-binary-cross-entropy"]], "mlx.nn.losses.cosine_similarity_loss": [[339, "mlx-nn-losses-cosine-similarity-loss"]], "mlx.nn.losses.cross_entropy": [[340, "mlx-nn-losses-cross-entropy"]], "mlx.nn.losses.gaussian_nll_loss": [[341, "mlx-nn-losses-gaussian-nll-loss"]], "mlx.nn.losses.hinge_loss": [[342, "mlx-nn-losses-hinge-loss"]], "mlx.nn.losses.huber_loss": [[343, "mlx-nn-losses-huber-loss"]], "mlx.nn.losses.kl_div_loss": [[344, "mlx-nn-losses-kl-div-loss"]], "mlx.nn.losses.l1_loss": [[345, "mlx-nn-losses-l1-loss"]], "mlx.nn.losses.log_cosh_loss": [[346, "mlx-nn-losses-log-cosh-loss"]], "mlx.nn.losses.margin_ranking_loss": [[347, "mlx-nn-losses-margin-ranking-loss"]], "mlx.nn.losses.mse_loss": [[348, "mlx-nn-losses-mse-loss"]], "mlx.nn.losses.nll_loss": [[349, "mlx-nn-losses-nll-loss"]], "mlx.nn.losses.smooth_l1_loss": [[350, "mlx-nn-losses-smooth-l1-loss"]], "mlx.nn.losses.triplet_loss": [[351, "mlx-nn-losses-triplet-loss"]], "mlx.nn.mish": [[352, "mlx-nn-mish"]], "mlx.nn.prelu": [[353, "mlx-nn-prelu"]], "mlx.nn.relu": [[354, "mlx-nn-relu"]], "mlx.nn.relu6": [[355, "mlx-nn-relu6"]], "mlx.nn.selu": [[356, "mlx-nn-selu"]], "mlx.nn.sigmoid": [[357, "mlx-nn-sigmoid"]], "mlx.nn.silu": [[358, "mlx-nn-silu"]], "mlx.nn.softmax": [[359, "mlx-nn-softmax"]], "mlx.nn.softplus": [[360, "mlx-nn-softplus"]], "mlx.nn.softshrink": [[361, "mlx-nn-softshrink"]], "mlx.nn.step": [[362, "mlx-nn-step"]], "mlx.nn.tanh": [[363, "mlx-nn-tanh"]], "Functions": [[364, "functions"]], "Initializers": [[365, "initializers"]], "Layers": [[366, "layers"]], "Loss Functions": [[367, "loss-functions"]], "Module": [[368, "module"]], "Optimizers": [[370, "optimizers"]], "mlx.optimizers.AdaDelta": [[371, "mlx-optimizers-adadelta"]], "mlx.optimizers.Adafactor": [[372, "mlx-optimizers-adafactor"]], "mlx.optimizers.Adagrad": [[373, "mlx-optimizers-adagrad"]], "mlx.optimizers.Adam": [[374, "mlx-optimizers-adam"]], "mlx.optimizers.AdamW": [[375, "mlx-optimizers-adamw"]], "mlx.optimizers.Adamax": [[376, "mlx-optimizers-adamax"]], "mlx.optimizers.Lion": [[377, "mlx-optimizers-lion"]], "mlx.optimizers.Optimizer.apply_gradients": [[378, "mlx-optimizers-optimizer-apply-gradients"]], "mlx.optimizers.Optimizer.init": [[379, "mlx-optimizers-optimizer-init"]], "mlx.optimizers.Optimizer.state": [[380, "mlx-optimizers-optimizer-state"]], "mlx.optimizers.Optimizer.update": [[381, "mlx-optimizers-optimizer-update"]], "mlx.optimizers.RMSprop": [[382, "mlx-optimizers-rmsprop"]], "mlx.optimizers.SGD": [[383, "mlx-optimizers-sgd"]], "mlx.optimizers.cosine_decay": [[384, "mlx-optimizers-cosine-decay"]], "mlx.optimizers.exponential_decay": [[385, "mlx-optimizers-exponential-decay"]], "mlx.optimizers.join_schedules": [[386, "mlx-optimizers-join-schedules"]], "mlx.optimizers.linear_schedule": [[387, "mlx-optimizers-linear-schedule"]], "mlx.optimizers.step_decay": [[388, "mlx-optimizers-step-decay"]], "Common Optimizers": [[389, "common-optimizers"]], "Optimizer": [[390, "optimizer"]], "Schedulers": [[391, "schedulers"]], "Random": [[392, "random"]], "Transforms": [[393, "transforms"]], "Tree Utils": [[394, "tree-utils"]], "Compilation": [[395, "compilation"]], "Basics of Compile": [[395, "basics-of-compile"]], "Example Speedup": [[395, "example-speedup"]], "Debugging": [[395, "debugging"]], "Pure Functions": [[395, "pure-functions"]], "Compiling Training Graphs": [[395, "compiling-training-graphs"]], "Transformations with Compile": [[395, "transformations-with-compile"]], "Function Transforms": [[396, "function-transforms"]], "Automatic Differentiation": [[396, "automatic-differentiation"]], "Automatic Vectorization": [[396, "automatic-vectorization"]], "Indexing Arrays": [[397, "indexing-arrays"]], "Differences from NumPy": [[397, "differences-from-numpy"]], "In Place Updates": [[397, "in-place-updates"]], "Lazy Evaluation": [[398, "lazy-evaluation"]], "Why Lazy Evaluation": [[398, "why-lazy-evaluation"]], "Transforming Compute Graphs": [[398, "transforming-compute-graphs"]], "Only Compute What You Use": [[398, "only-compute-what-you-use"]], "When to Evaluate": [[398, "when-to-evaluate"]], "Conversion to NumPy and Other Frameworks": [[399, "conversion-to-numpy-and-other-frameworks"]], "PyTorch": [[399, "pytorch"]], "JAX": [[399, "jax"]], "TensorFlow": [[399, "tensorflow"]], "Quick Start Guide": [[400, "quick-start-guide"]], "Basics": [[400, "basics"]], "Function and Graph Transformations": [[400, "function-and-graph-transformations"]], "Saving and Loading Arrays": [[401, "saving-and-loading-arrays"]], "Serialization Formats": [[401, "id1"]], "Unified Memory": [[402, "unified-memory"]], "A Simple Example": [[402, "a-simple-example"]], "Using Streams": [[403, "using-streams"]], "Specifying the Stream": [[403, "specifying-the-stream"]], "mlx.core.Device": [[8, "mlx-core-device"]], "mlx.core.Dtype": [[9, "mlx-core-dtype"]], "mlx.core.DtypeCategory": [[10, "mlx-core-dtypecategory"]], "mlx.core.abs": [[11, "mlx-core-abs"]], "mlx.core.add": [[12, "mlx-core-add"]], "mlx.core.all": [[13, "mlx-core-all"]], "mlx.core.allclose": [[14, "mlx-core-allclose"]], "mlx.core.any": [[15, "mlx-core-any"]], "mlx.core.arange": [[16, "mlx-core-arange"]], "mlx.core.arccos": [[17, "mlx-core-arccos"]], "mlx.core.arccosh": [[18, "mlx-core-arccosh"]], "mlx.core.arcsin": [[19, "mlx-core-arcsin"]], "mlx.core.arcsinh": [[20, "mlx-core-arcsinh"]], "mlx.core.arctan": [[21, "mlx-core-arctan"]], "mlx.core.arctanh": [[22, "mlx-core-arctanh"]], "mlx.core.argmax": [[23, "mlx-core-argmax"]], "mlx.core.argmin": [[24, "mlx-core-argmin"]], "mlx.core.argpartition": [[25, "mlx-core-argpartition"]], "mlx.core.argsort": [[26, "mlx-core-argsort"]], "mlx.core.array": [[27, "mlx-core-array"]], "mlx.core.array.T": [[28, "mlx-core-array-t"]], "mlx.core.array.abs": [[29, "mlx-core-array-abs"]], "mlx.core.array.all": [[30, "mlx-core-array-all"]], "mlx.core.array.any": [[31, "mlx-core-array-any"]], "mlx.core.array.argmax": [[32, "mlx-core-array-argmax"]], "mlx.core.array.argmin": [[33, "mlx-core-array-argmin"]], "mlx.core.array.astype": [[34, "mlx-core-array-astype"]], "mlx.core.array.at": [[35, "mlx-core-array-at"]], "mlx.core.array.cos": [[36, "mlx-core-array-cos"]], "mlx.core.array.cummax": [[37, "mlx-core-array-cummax"]], "mlx.core.array.cummin": [[38, "mlx-core-array-cummin"]], "mlx.core.array.cumprod": [[39, "mlx-core-array-cumprod"]], "mlx.core.array.cumsum": [[40, "mlx-core-array-cumsum"]], "mlx.core.array.diag": [[41, "mlx-core-array-diag"]], "mlx.core.array.diagonal": [[42, "mlx-core-array-diagonal"]], "mlx.core.array.dtype": [[43, "mlx-core-array-dtype"]], "mlx.core.array.exp": [[44, "mlx-core-array-exp"]], "mlx.core.array.flatten": [[45, "mlx-core-array-flatten"]], "mlx.core.array.item": [[46, "mlx-core-array-item"]], "mlx.core.array.itemsize": [[47, "mlx-core-array-itemsize"]], "mlx.core.array.log": [[48, "mlx-core-array-log"]], "mlx.core.array.log10": [[49, "mlx-core-array-log10"]], "mlx.core.array.log1p": [[50, "mlx-core-array-log1p"]], "mlx.core.array.log2": [[51, "mlx-core-array-log2"]], "mlx.core.array.logsumexp": [[52, "mlx-core-array-logsumexp"]], "mlx.core.array.max": [[53, "mlx-core-array-max"]], "mlx.core.array.mean": [[54, "mlx-core-array-mean"]], "mlx.core.array.min": [[55, "mlx-core-array-min"]], "mlx.core.array.moveaxis": [[56, "mlx-core-array-moveaxis"]], "mlx.core.array.nbytes": [[57, "mlx-core-array-nbytes"]], "mlx.core.array.ndim": [[58, "mlx-core-array-ndim"]], "mlx.core.array.prod": [[59, "mlx-core-array-prod"]], "mlx.core.array.reciprocal": [[60, "mlx-core-array-reciprocal"]], "mlx.core.array.reshape": [[61, "mlx-core-array-reshape"]], "mlx.core.array.round": [[62, "mlx-core-array-round"]], "mlx.core.array.rsqrt": [[63, "mlx-core-array-rsqrt"]], "mlx.core.array.shape": [[64, "mlx-core-array-shape"]], "mlx.core.array.sin": [[65, "mlx-core-array-sin"]], "mlx.core.array.size": [[66, "mlx-core-array-size"]], "mlx.core.array.split": [[67, "mlx-core-array-split"]], "mlx.core.array.sqrt": [[68, "mlx-core-array-sqrt"]], "mlx.core.array.square": [[69, "mlx-core-array-square"]], "mlx.core.array.squeeze": [[70, "mlx-core-array-squeeze"]], "mlx.core.array.sum": [[71, "mlx-core-array-sum"]], "mlx.core.array.swapaxes": [[72, "mlx-core-array-swapaxes"]], "mlx.core.array.tolist": [[73, "mlx-core-array-tolist"]], "mlx.core.array.transpose": [[74, "mlx-core-array-transpose"]], "mlx.core.array.var": [[75, "mlx-core-array-var"]], "mlx.core.array_equal": [[76, "mlx-core-array-equal"]], "mlx.core.atleast_1d": [[77, "mlx-core-atleast-1d"]], "mlx.core.atleast_2d": [[78, "mlx-core-atleast-2d"]], "mlx.core.atleast_3d": [[79, "mlx-core-atleast-3d"]], "mlx.core.block_masked_mm": [[80, "mlx-core-block-masked-mm"]], "mlx.core.broadcast_to": [[81, "mlx-core-broadcast-to"]], "mlx.core.ceil": [[82, "mlx-core-ceil"]], "mlx.core.clip": [[83, "mlx-core-clip"]], "mlx.core.compile": [[84, "mlx-core-compile"]], "mlx.core.concatenate": [[85, "mlx-core-concatenate"]], "mlx.core.conv1d": [[86, "mlx-core-conv1d"]], "mlx.core.conv2d": [[87, "mlx-core-conv2d"]], "mlx.core.conv_general": [[88, "mlx-core-conv-general"]], "mlx.core.convolve": [[89, "mlx-core-convolve"]], "mlx.core.cos": [[90, "mlx-core-cos"]], "mlx.core.cosh": [[91, "mlx-core-cosh"]], "mlx.core.cummax": [[92, "mlx-core-cummax"]], "mlx.core.cummin": [[93, "mlx-core-cummin"]], "mlx.core.cumprod": [[94, "mlx-core-cumprod"]], "mlx.core.cumsum": [[95, "mlx-core-cumsum"]], "mlx.core.default_device": [[96, "mlx-core-default-device"]], "mlx.core.default_stream": [[97, "mlx-core-default-stream"]], "mlx.core.degrees": [[98, "mlx-core-degrees"]], "mlx.core.dequantize": [[99, "mlx-core-dequantize"]], "mlx.core.diag": [[100, "mlx-core-diag"]], "mlx.core.diagonal": [[101, "mlx-core-diagonal"]], "mlx.core.disable_compile": [[102, "mlx-core-disable-compile"]], "mlx.core.divide": [[103, "mlx-core-divide"]], "mlx.core.divmod": [[104, "mlx-core-divmod"]], "mlx.core.enable_compile": [[105, "mlx-core-enable-compile"]], "mlx.core.equal": [[106, "mlx-core-equal"]], "mlx.core.erf": [[107, "mlx-core-erf"]], "mlx.core.erfinv": [[108, "mlx-core-erfinv"]], "mlx.core.eval": [[109, "mlx-core-eval"]], "mlx.core.exp": [[110, "mlx-core-exp"]], "mlx.core.expand_dims": [[111, "mlx-core-expand-dims"]], "mlx.core.expm1": [[112, "mlx-core-expm1"]], "mlx.core.eye": [[113, "mlx-core-eye"]], "mlx.core.flatten": [[130, "mlx-core-flatten"]], "mlx.core.floor": [[131, "mlx-core-floor"]], "mlx.core.floor_divide": [[132, "mlx-core-floor-divide"]], "mlx.core.full": [[133, "mlx-core-full"]], "mlx.core.grad": [[134, "mlx-core-grad"]], "mlx.core.greater": [[135, "mlx-core-greater"]], "mlx.core.greater_equal": [[136, "mlx-core-greater-equal"]], "mlx.core.identity": [[137, "mlx-core-identity"]], "mlx.core.inner": [[138, "mlx-core-inner"]], "mlx.core.isclose": [[139, "mlx-core-isclose"]], "mlx.core.isinf": [[140, "mlx-core-isinf"]], "mlx.core.isnan": [[141, "mlx-core-isnan"]], "mlx.core.isneginf": [[142, "mlx-core-isneginf"]], "mlx.core.isposinf": [[143, "mlx-core-isposinf"]], "mlx.core.issubdtype": [[144, "mlx-core-issubdtype"]], "mlx.core.jvp": [[145, "mlx-core-jvp"]], "mlx.core.less": [[146, "mlx-core-less"]], "mlx.core.less_equal": [[147, "mlx-core-less-equal"]], "mlx.core.linspace": [[150, "mlx-core-linspace"]], "mlx.core.load": [[151, "mlx-core-load"]], "mlx.core.log": [[152, "mlx-core-log"]], "mlx.core.log10": [[153, "mlx-core-log10"]], "mlx.core.log1p": [[154, "mlx-core-log1p"]], "mlx.core.log2": [[155, "mlx-core-log2"]], "mlx.core.logaddexp": [[156, "mlx-core-logaddexp"]], "mlx.core.logical_and": [[157, "mlx-core-logical-and"]], "mlx.core.logical_not": [[158, "mlx-core-logical-not"]], "mlx.core.logical_or": [[159, "mlx-core-logical-or"]], "mlx.core.logsumexp": [[160, "mlx-core-logsumexp"]], "mlx.core.matmul": [[161, "mlx-core-matmul"]], "mlx.core.max": [[162, "mlx-core-max"]], "mlx.core.maximum": [[163, "mlx-core-maximum"]], "mlx.core.mean": [[164, "mlx-core-mean"]], "mlx.core.meshgrid": [[165, "mlx-core-meshgrid"]], "mlx.core.min": [[175, "mlx-core-min"]], "mlx.core.minimum": [[176, "mlx-core-minimum"]], "mlx.core.moveaxis": [[177, "mlx-core-moveaxis"]], "mlx.core.multiply": [[178, "mlx-core-multiply"]], "mlx.core.negative": [[179, "mlx-core-negative"]], "mlx.core.new_stream": [[180, "mlx-core-new-stream"]], "mlx.core.not_equal": [[181, "mlx-core-not-equal"]], "mlx.core.ones": [[182, "mlx-core-ones"]], "mlx.core.ones_like": [[183, "mlx-core-ones-like"]], "mlx.core.outer": [[184, "mlx-core-outer"]], "mlx.core.pad": [[185, "mlx-core-pad"]], "mlx.core.partition": [[186, "mlx-core-partition"]], "mlx.core.prod": [[187, "mlx-core-prod"]], "mlx.core.quantize": [[188, "mlx-core-quantize"]], "mlx.core.quantized_matmul": [[189, "mlx-core-quantized-matmul"]], "mlx.core.radians": [[190, "mlx-core-radians"]], "mlx.core.reciprocal": [[202, "mlx-core-reciprocal"]], "mlx.core.repeat": [[203, "mlx-core-repeat"]], "mlx.core.reshape": [[204, "mlx-core-reshape"]], "mlx.core.round": [[205, "mlx-core-round"]], "mlx.core.rsqrt": [[206, "mlx-core-rsqrt"]], "mlx.core.save": [[207, "mlx-core-save"]], "mlx.core.save_gguf": [[208, "mlx-core-save-gguf"]], "mlx.core.save_safetensors": [[209, "mlx-core-save-safetensors"]], "mlx.core.savez": [[210, "mlx-core-savez"]], "mlx.core.savez_compressed": [[211, "mlx-core-savez-compressed"]], "mlx.core.set_default_device": [[212, "mlx-core-set-default-device"]], "mlx.core.set_default_stream": [[213, "mlx-core-set-default-stream"]], "mlx.core.sigmoid": [[214, "mlx-core-sigmoid"]], "mlx.core.sign": [[215, "mlx-core-sign"]], "mlx.core.sin": [[216, "mlx-core-sin"]], "mlx.core.sinh": [[217, "mlx-core-sinh"]], "mlx.core.softmax": [[218, "mlx-core-softmax"]], "mlx.core.sort": [[219, "mlx-core-sort"]], "mlx.core.split": [[220, "mlx-core-split"]], "mlx.core.sqrt": [[221, "mlx-core-sqrt"]], "mlx.core.square": [[222, "mlx-core-square"]], "mlx.core.squeeze": [[223, "mlx-core-squeeze"]], "mlx.core.stack": [[224, "mlx-core-stack"]], "mlx.core.std": [[225, "mlx-core-std"]], "mlx.core.stop_gradient": [[226, "mlx-core-stop-gradient"]], "mlx.core.stream": [[227, "mlx-core-stream"]], "mlx.core.subtract": [[228, "mlx-core-subtract"]], "mlx.core.sum": [[229, "mlx-core-sum"]], "mlx.core.swapaxes": [[230, "mlx-core-swapaxes"]], "mlx.core.synchronize": [[231, "mlx-core-synchronize"]], "mlx.core.take": [[232, "mlx-core-take"]], "mlx.core.take_along_axis": [[233, "mlx-core-take-along-axis"]], "mlx.core.tan": [[234, "mlx-core-tan"]], "mlx.core.tanh": [[235, "mlx-core-tanh"]], "mlx.core.tensordot": [[236, "mlx-core-tensordot"]], "mlx.core.tile": [[237, "mlx-core-tile"]], "mlx.core.topk": [[238, "mlx-core-topk"]], "mlx.core.transpose": [[239, "mlx-core-transpose"]], "mlx.core.tri": [[240, "mlx-core-tri"]], "mlx.core.tril": [[241, "mlx-core-tril"]], "mlx.core.triu": [[242, "mlx-core-triu"]], "mlx.core.value_and_grad": [[243, "mlx-core-value-and-grad"]], "mlx.core.var": [[244, "mlx-core-var"]], "mlx.core.vjp": [[245, "mlx-core-vjp"]], "mlx.core.vmap": [[246, "mlx-core-vmap"]], "mlx.core.where": [[247, "mlx-core-where"]], "mlx.core.zeros": [[248, "mlx-core-zeros"]], "mlx.core.zeros_like": [[249, "mlx-core-zeros-like"]], "mlx.core.Stream": [[256, "mlx-core-stream"]]}, "indexentries": {"device (class in mlx.core)": [[8, "mlx.core.Device"]], "__init__() (device method)": [[8, "mlx.core.Device.__init__"]], "dtype (class in mlx.core)": [[9, "mlx.core.Dtype"]], "__init__() (dtype method)": [[9, "mlx.core.Dtype.__init__"]], "dtypecategory (class in mlx.core)": [[10, "mlx.core.DtypeCategory"]], "__init__() (dtypecategory method)": [[10, "mlx.core.DtypeCategory.__init__"]], "abs() (in module mlx.core)": [[11, "mlx.core.abs"]], "add() (in module mlx.core)": [[12, "mlx.core.add"]], "all() (in module mlx.core)": [[13, "mlx.core.all"]], "allclose() (in module mlx.core)": [[14, "mlx.core.allclose"]], "any() (in module mlx.core)": [[15, "mlx.core.any"]], "arange() (in module mlx.core)": [[16, "mlx.core.arange"]], "arccos() (in module mlx.core)": [[17, "mlx.core.arccos"]], "arccosh() (in module mlx.core)": [[18, "mlx.core.arccosh"]], "arcsin() (in module mlx.core)": [[19, "mlx.core.arcsin"]], "arcsinh() (in module mlx.core)": [[20, "mlx.core.arcsinh"]], "arctan() (in module mlx.core)": [[21, "mlx.core.arctan"]], "arctanh() (in module mlx.core)": [[22, "mlx.core.arctanh"]], "argmax() (in module mlx.core)": [[23, "mlx.core.argmax"]], "argmin() (in module mlx.core)": [[24, "mlx.core.argmin"]], "argpartition() (in module mlx.core)": [[25, "mlx.core.argpartition"]], "argsort() (in module mlx.core)": [[26, "mlx.core.argsort"]], "__init__() (array method)": [[27, "mlx.core.array.__init__"]], "array (class in mlx.core)": [[27, "mlx.core.array"]], "t (array property)": [[28, "mlx.core.array.T"]], "abs() (array method)": [[29, "mlx.core.array.abs"]], "all() (array method)": [[30, "mlx.core.array.all"]], "any() (array method)": [[31, "mlx.core.array.any"]], "argmax() (array method)": [[32, "mlx.core.array.argmax"]], "argmin() (array method)": [[33, "mlx.core.array.argmin"]], "astype() (array method)": [[34, "mlx.core.array.astype"]], "at (array property)": [[35, "mlx.core.array.at"]], "cos() (array method)": [[36, "mlx.core.array.cos"]], "cummax() (array method)": [[37, "mlx.core.array.cummax"]], "cummin() (array method)": [[38, "mlx.core.array.cummin"]], "cumprod() (array method)": [[39, "mlx.core.array.cumprod"]], "cumsum() (array method)": [[40, "mlx.core.array.cumsum"]], "diag() (array method)": [[41, "mlx.core.array.diag"]], "diagonal() (array method)": [[42, "mlx.core.array.diagonal"]], "dtype (array property)": [[43, "mlx.core.array.dtype"]], "exp() (array method)": [[44, "mlx.core.array.exp"]], "flatten() (array method)": [[45, "mlx.core.array.flatten"]], "item() (array method)": [[46, "mlx.core.array.item"]], "itemsize (array property)": [[47, "mlx.core.array.itemsize"]], "log() (array method)": [[48, "mlx.core.array.log"]], "log10() (array method)": [[49, "mlx.core.array.log10"]], "log1p() (array method)": [[50, "mlx.core.array.log1p"]], "log2() (array method)": [[51, "mlx.core.array.log2"]], "logsumexp() (array method)": [[52, "mlx.core.array.logsumexp"]], "max() (array method)": [[53, "mlx.core.array.max"]], "mean() (array method)": [[54, "mlx.core.array.mean"]], "min() (array method)": [[55, "mlx.core.array.min"]], "moveaxis() (array method)": [[56, "mlx.core.array.moveaxis"]], "nbytes (array property)": [[57, "mlx.core.array.nbytes"]], "ndim (array property)": [[58, "mlx.core.array.ndim"]], "prod() (array method)": [[59, "mlx.core.array.prod"]], "reciprocal() (array method)": [[60, "mlx.core.array.reciprocal"]], "reshape() (array method)": [[61, "mlx.core.array.reshape"]], "round() (array method)": [[62, "mlx.core.array.round"]], "rsqrt() (array method)": [[63, "mlx.core.array.rsqrt"]], "shape (array property)": [[64, "mlx.core.array.shape"]], "sin() (array method)": [[65, "mlx.core.array.sin"]], "size (array property)": [[66, "mlx.core.array.size"]], "split() (array method)": [[67, "mlx.core.array.split"]], "sqrt() (array method)": [[68, "mlx.core.array.sqrt"]], "square() (array method)": [[69, "mlx.core.array.square"]], "squeeze() (array method)": [[70, "mlx.core.array.squeeze"]], "sum() (array method)": [[71, "mlx.core.array.sum"]], "swapaxes() (array method)": [[72, "mlx.core.array.swapaxes"]], "tolist() (array method)": [[73, "mlx.core.array.tolist"]], "transpose() (array method)": [[74, "mlx.core.array.transpose"]], "var() (array method)": [[75, "mlx.core.array.var"]], "array_equal() (in module mlx.core)": [[76, "mlx.core.array_equal"]], "atleast_1d() (in module mlx.core)": [[77, "mlx.core.atleast_1d"]], "atleast_2d() (in module mlx.core)": [[78, "mlx.core.atleast_2d"]], "atleast_3d() (in module mlx.core)": [[79, "mlx.core.atleast_3d"]], "block_masked_mm() (in module mlx.core)": [[80, "mlx.core.block_masked_mm"]], "broadcast_to() (in module mlx.core)": [[81, "mlx.core.broadcast_to"]], "ceil() (in module mlx.core)": [[82, "mlx.core.ceil"]], "clip() (in module mlx.core)": [[83, "mlx.core.clip"]], "compile() (in module mlx.core)": [[84, "mlx.core.compile"]], "concatenate() (in module mlx.core)": [[85, "mlx.core.concatenate"]], "conv1d() (in module mlx.core)": [[86, "mlx.core.conv1d"]], "conv2d() (in module mlx.core)": [[87, "mlx.core.conv2d"]], "conv_general() (in module mlx.core)": [[88, "mlx.core.conv_general"]], "convolve() (in module mlx.core)": [[89, "mlx.core.convolve"]], "cos() (in module mlx.core)": [[90, "mlx.core.cos"]], "cosh() (in module mlx.core)": [[91, "mlx.core.cosh"]], "cummax() (in module mlx.core)": [[92, "mlx.core.cummax"]], "cummin() (in module mlx.core)": [[93, "mlx.core.cummin"]], "cumprod() (in module mlx.core)": [[94, "mlx.core.cumprod"]], "cumsum() (in module mlx.core)": [[95, "mlx.core.cumsum"]], "default_device() (in module mlx.core)": [[96, "mlx.core.default_device"]], "default_stream() (in module mlx.core)": [[97, "mlx.core.default_stream"]], "degrees() (in module mlx.core)": [[98, "mlx.core.degrees"]], "dequantize() (in module mlx.core)": [[99, "mlx.core.dequantize"]], "diag() (in module mlx.core)": [[100, "mlx.core.diag"]], "diagonal() (in module mlx.core)": [[101, "mlx.core.diagonal"]], "disable_compile() (in module mlx.core)": [[102, "mlx.core.disable_compile"]], "divide() (in module mlx.core)": [[103, "mlx.core.divide"]], "divmod() (in module mlx.core)": [[104, "mlx.core.divmod"]], "enable_compile() (in module mlx.core)": [[105, "mlx.core.enable_compile"]], "equal() (in module mlx.core)": [[106, "mlx.core.equal"]], "erf() (in module mlx.core)": [[107, "mlx.core.erf"]], "erfinv() (in module mlx.core)": [[108, "mlx.core.erfinv"]], "eval() (in module mlx.core)": [[109, "mlx.core.eval"]], "exp() (in module mlx.core)": [[110, "mlx.core.exp"]], "expand_dims() (in module mlx.core)": [[111, "mlx.core.expand_dims"]], "expm1() (in module mlx.core)": [[112, "mlx.core.expm1"]], "eye() (in module mlx.core)": [[113, "mlx.core.eye"]], "flatten() (in module mlx.core)": [[130, "mlx.core.flatten"]], "floor() (in module mlx.core)": [[131, "mlx.core.floor"]], "floor_divide() (in module mlx.core)": [[132, "mlx.core.floor_divide"]], "full() (in module mlx.core)": [[133, "mlx.core.full"]], "grad() (in module mlx.core)": [[134, "mlx.core.grad"]], "greater() (in module mlx.core)": [[135, "mlx.core.greater"]], "greater_equal() (in module mlx.core)": [[136, "mlx.core.greater_equal"]], "identity() (in module mlx.core)": [[137, "mlx.core.identity"]], "inner() (in module mlx.core)": [[138, "mlx.core.inner"]], "isclose() (in module mlx.core)": [[139, "mlx.core.isclose"]], "isinf() (in module mlx.core)": [[140, "mlx.core.isinf"]], "isnan() (in module mlx.core)": [[141, "mlx.core.isnan"]], "isneginf() (in module mlx.core)": [[142, "mlx.core.isneginf"]], "isposinf() (in module mlx.core)": [[143, "mlx.core.isposinf"]], "issubdtype() (in module mlx.core)": [[144, "mlx.core.issubdtype"]], "jvp() (in module mlx.core)": [[145, "mlx.core.jvp"]], "less() (in module mlx.core)": [[146, "mlx.core.less"]], "less_equal() (in module mlx.core)": [[147, "mlx.core.less_equal"]], "linspace() (in module mlx.core)": [[150, "mlx.core.linspace"]], "load() (in module mlx.core)": [[151, "mlx.core.load"]], "log() (in module mlx.core)": [[152, "mlx.core.log"]], "log10() (in module mlx.core)": [[153, "mlx.core.log10"]], "log1p() (in module mlx.core)": [[154, "mlx.core.log1p"]], "log2() (in module mlx.core)": [[155, "mlx.core.log2"]], "logaddexp() (in module mlx.core)": [[156, "mlx.core.logaddexp"]], "logical_and() (in module mlx.core)": [[157, "mlx.core.logical_and"]], "logical_not() (in module mlx.core)": [[158, "mlx.core.logical_not"]], "logical_or() (in module mlx.core)": [[159, "mlx.core.logical_or"]], "logsumexp() (in module mlx.core)": [[160, "mlx.core.logsumexp"]], "matmul() (in module mlx.core)": [[161, "mlx.core.matmul"]], "max() (in module mlx.core)": [[162, "mlx.core.max"]], "maximum() (in module mlx.core)": [[163, "mlx.core.maximum"]], "mean() (in module mlx.core)": [[164, "mlx.core.mean"]], "meshgrid() (in module mlx.core)": [[165, "mlx.core.meshgrid"]], "min() (in module mlx.core)": [[175, "mlx.core.min"]], "minimum() (in module mlx.core)": [[176, "mlx.core.minimum"]], "moveaxis() (in module mlx.core)": [[177, "mlx.core.moveaxis"]], "multiply() (in module mlx.core)": [[178, "mlx.core.multiply"]], "negative() (in module mlx.core)": [[179, "mlx.core.negative"]], "new_stream() (in module mlx.core)": [[180, "mlx.core.new_stream"]], "not_equal() (in module mlx.core)": [[181, "mlx.core.not_equal"]], "ones() (in module mlx.core)": [[182, "mlx.core.ones"]], "ones_like() (in module mlx.core)": [[183, "mlx.core.ones_like"]], "outer() (in module mlx.core)": [[184, "mlx.core.outer"]], "pad() (in module mlx.core)": [[185, "mlx.core.pad"]], "partition() (in module mlx.core)": [[186, "mlx.core.partition"]], "prod() (in module mlx.core)": [[187, "mlx.core.prod"]], "quantize() (in module mlx.core)": [[188, "mlx.core.quantize"]], "quantized_matmul() (in module mlx.core)": [[189, "mlx.core.quantized_matmul"]], "radians() (in module mlx.core)": [[190, "mlx.core.radians"]], "reciprocal() (in module mlx.core)": [[202, "mlx.core.reciprocal"]], "repeat() (in module mlx.core)": [[203, "mlx.core.repeat"]], "reshape() (in module mlx.core)": [[204, "mlx.core.reshape"]], "round() (in module mlx.core)": [[205, "mlx.core.round"]], "rsqrt() (in module mlx.core)": [[206, "mlx.core.rsqrt"]], "save() (in module mlx.core)": [[207, "mlx.core.save"]], "save_gguf() (in module mlx.core)": [[208, "mlx.core.save_gguf"]], "save_safetensors() (in module mlx.core)": [[209, "mlx.core.save_safetensors"]], "savez() (in module mlx.core)": [[210, "mlx.core.savez"]], "savez_compressed() (in module mlx.core)": [[211, "mlx.core.savez_compressed"]], "set_default_device() (in module mlx.core)": [[212, "mlx.core.set_default_device"]], "set_default_stream() (in module mlx.core)": [[213, "mlx.core.set_default_stream"]], "sigmoid() (in module mlx.core)": [[214, "mlx.core.sigmoid"]], "sign() (in module mlx.core)": [[215, "mlx.core.sign"]], "sin() (in module mlx.core)": [[216, "mlx.core.sin"]], "sinh() (in module mlx.core)": [[217, "mlx.core.sinh"]], "softmax() (in module mlx.core)": [[218, "mlx.core.softmax"]], "sort() (in module mlx.core)": [[219, "mlx.core.sort"]], "split() (in module mlx.core)": [[220, "mlx.core.split"]], "sqrt() (in module mlx.core)": [[221, "mlx.core.sqrt"]], "square() (in module mlx.core)": [[222, "mlx.core.square"]], "squeeze() (in module mlx.core)": [[223, "mlx.core.squeeze"]], "stack() (in module mlx.core)": [[224, "mlx.core.stack"]], "std() (in module mlx.core)": [[225, "mlx.core.std"]], "stop_gradient() (in module mlx.core)": [[226, "mlx.core.stop_gradient"]], "stream() (in module mlx.core)": [[227, "mlx.core.stream"]], "subtract() (in module mlx.core)": [[228, "mlx.core.subtract"]], "sum() (in module mlx.core)": [[229, "mlx.core.sum"]], "swapaxes() (in module mlx.core)": [[230, "mlx.core.swapaxes"]], "synchronize() (in module mlx.core)": [[231, "mlx.core.synchronize"]], "take() (in module mlx.core)": [[232, "mlx.core.take"]], "take_along_axis() (in module mlx.core)": [[233, "mlx.core.take_along_axis"]], "tan() (in module mlx.core)": [[234, "mlx.core.tan"]], "tanh() (in module mlx.core)": [[235, "mlx.core.tanh"]], "tensordot() (in module mlx.core)": [[236, "mlx.core.tensordot"]], "tile() (in module mlx.core)": [[237, "mlx.core.tile"]], "topk() (in module mlx.core)": [[238, "mlx.core.topk"]], "transpose() (in module mlx.core)": [[239, "mlx.core.transpose"]], "tri() (in module mlx.core)": [[240, "mlx.core.tri"]], "tril() (in module mlx.core)": [[241, "mlx.core.tril"]], "triu() (in module mlx.core)": [[242, "mlx.core.triu"]], "value_and_grad() (in module mlx.core)": [[243, "mlx.core.value_and_grad"]], "var() (in module mlx.core)": [[244, "mlx.core.var"]], "vjp() (in module mlx.core)": [[245, "mlx.core.vjp"]], "vmap() (in module mlx.core)": [[246, "mlx.core.vmap"]], "where() (in module mlx.core)": [[247, "mlx.core.where"]], "zeros() (in module mlx.core)": [[248, "mlx.core.zeros"]], "zeros_like() (in module mlx.core)": [[249, "mlx.core.zeros_like"]], "stream (class in mlx.core)": [[256, "mlx.core.Stream"]], "__init__() (stream method)": [[256, "mlx.core.Stream.__init__"]]}})