semvec/pypi-packages huggingface dataset:
tkitAttNLocal 0.0.0.316336997
Terry toolkit tkitAttNLocal,

# tkitAttNLocal

构建对角线mask矩阵，用来降维相对位置数据。


安装
> pip install tkitAttNLocal


```python

import torch.nn as nn
import torch
import torch.nn.functional as F
from tkitAttNLocal import AttNLocal

# 输入维度和长度一样的矩阵
a=torch.randn(32,100,100)

attL=AttNLocal(100,10)
attL(a).size()

```

> torch.Size([32, 100, 10])
pyslingshot-Cobbles 0.0.1
Python implementation of the Slingshot pseudotime algorithm
Requires Python: >=3.7

# Slingshot in Python

This is a Python implementation of the Slingshot pseudotime algorithm (Street et al., 2018).

An complete working example is located in `slingshot.ipynb`, using a synthetically generated dataset.

Requirements: 

- `numpy`, `scipy`, `sklearn`
- My fork of `pcurvepy` (https://github.com/mossjacob/pcurvepy):
  
  `pip install git+https://github.com/mossjacob/pcurvepy`


[1] Street, K., Risso, D., Fletcher, R.B., Das, D., Ngai, J., Yosef, N., Purdom, E. and Dudoit, S., 2018. Slingshot: cell lineage and pseudotime inference for single-cell transcriptomics. BMC genomics, 19(1), pp.1-16.
check-shape 0.2
A shape checking tool for arrays and tensors
Requires Python: >=3.6

# Check shape

TL;DR: This tool helps prevent bugs by checking shapes in-line, and making code more readable.

## Shape errors

A surprising amount of time in machine learning is spent on squashing shape-related bugs. There's two kinds of bugs:
* **Runtime shape errors**: These are annoying and can take up quite a bit of debugging time, but are not nearly as dangerous as broadcasting bugs.
* **Unindended broadcasting bugs**: These can be silent unexpected behaviours, which happen due to the broadcasting behaviour of the library in use.

I've found that one thing which goes a long way to prevent/solve this issues is putting shapes in the docstrings or with in-line comments, such as
```
def foo(bar1, bar2):
    """
    Does foo on bar1 and bar2.

    Arguments:
        bar1 : np.array, shape (B, D, 2)
        bar2 : np.array, shape (B, 5, D)
    """

    # Do an einsum, blip shape (B, 2, 5)
    blip = np.einsum('bdi, bjd -> bij', bar1, bar2)
```
Putting these shapes in is useful because it reduces the mental workload of remembering them, and improves readability. But **commented shapes are never enforced and could become stale**. When you read these docstrings/comments, you might **assume they are enforced**, when in fact they are not, causing unexpected broadcasting and weird errors. One way to enforce this is to use assertions, such as
```
def foo(bar1, bar2):
    """
    Does foo on bar1 and bar2.

    Arguments:
        bar1 : np.array, shape (B, D, 2)
        bar2 : np.array, shape (B, 5, D)
    """

    # Check that bar1 and bar2 are correctly shaped
    assert bar1.shape[0] == bar2.shape[0]
    assert bar1.shape[1] == bar2.shape[2]

    # Optionally, could also check the other dimensions
    assert bar1.shape[2] == 2 and bar2.shape[1] == 5

    # Do an einsum, blip shape (B, 2, 5)
    blip = np.einsum('bdi, bjd -> bij', bar1, bar2)
```
This does the job. It enforces the assumed shapes, and reduces the chance of a broadcasting error. But it can become very wordy and quite ugly when you start making more elaborate assertions, and can incur a mental load when reading code. Here's how to do the same thing with check_shape
```
def foo(bar1, bar2):
    """
    Does foo on bar1 and bar2.

    Arguments:
        bar1 : np.array, shape (B, D, 2)
        bar2 : np.array, shape (B, 5, D)
    """

    # Check shapes are compatible
    check_shape([bar1, bar2], [('B', 'D', 2), ('B', 5, 'D')])

    # Do an einsum, blip shape (B, 2, 5)
    blip = np.einsum('bdi, bjd -> bij', bar1, bar2)
```
Which (in my opinion) is more readable. The `check_shape` will raise a `ShapeError` whenever the arrays don't match the shapes given. Now you have a line of code which is both a shape-checking assertion, and also an inline comment -- which won't go stale!
cweb 0.1
A simple web framework.
Keywords: cite

A basic python web framework.

Example Code:
from cite.api import init, server

app = init()

settings = {'Http404': '404, Page not found!'}  # 404 page error.

app.config(settings)

def views(app):

	@app.route('/')
	def home(request, response):
		response.text = Hello, This is the Home page"

server.run(app)