Some optional arguments, and associated attributes for mn.plants.skeletons.TwoDofArm
at initialization are now
@@ -352,7 +346,6 @@
Version 0.1.0Development releases
diff --git a/docs/build/html/objects.inv b/docs/build/html/objects.inv
index 6eeccf6..a2e9cfa 100644
Binary files a/docs/build/html/objects.inv and b/docs/build/html/objects.inv differ
diff --git a/docs/build/html/searchindex.js b/docs/build/html/searchindex.js
index 19332ad..1ccbf8e 100644
--- a/docs/build/html/searchindex.js
+++ b/docs/build/html/searchindex.js
@@ -1 +1 @@
-Search.setIndex({"docnames": ["documentation/changelog", "documentation/install", "documentation/overview", "index", "modules", "motornet", "motornet.nets", "motornet.nets.callbacks", "motornet.nets.layers", "motornet.nets.losses", "motornet.nets.models", "motornet.plants", "motornet.plants.muscles", "motornet.plants.skeletons", "motornet.task", "motornet.utils", "motornet.utils.plotor", "tutorials/build-net", "tutorials/build-plant", "tutorials/losses", "tutorials/muscle-demo", "tutorials/states", "tutorials/tasks", "tutorials/train-net"], "filenames": ["documentation\\changelog.md", "documentation\\install.md", "documentation\\overview.rst", "index.rst", "modules.rst", "motornet.rst", "motornet.nets.rst", "motornet.nets.callbacks.rst", "motornet.nets.layers.rst", "motornet.nets.losses.rst", "motornet.nets.models.rst", "motornet.plants.rst", "motornet.plants.muscles.rst", "motornet.plants.skeletons.rst", "motornet.task.rst", "motornet.utils.rst", "motornet.utils.plotor.rst", "tutorials\\build-net.rst", "tutorials\\build-plant.rst", "tutorials\\losses.rst", "tutorials\\muscle-demo.rst", "tutorials\\states.rst", "tutorials\\tasks.rst", "tutorials\\train-net.rst"], "titles": ["Changelog", "How to Install", "Functional Overview", "MotorNet", "<no title>", "MotorNet", "motornet.nets", "motornet.nets.callbacks", "motornet.nets.layers", "motornet.nets.losses", "motornet.nets.models", "motornet.plants", "motornet.plants.muscles", "motornet.plants.skeletons", "motornet.task", "motornet.utils", "motornet.utils.plotor", "Build a Network", "Build a Plant", "Create a Custom Loss", "How Muscle Objects Work", "Structure of State Tensors", "Create a Custom Task", "Train a Network"], "terms": {"2022": [0, 3], "octob": 0, "30th": 0, "fix": [0, 7], "bug": 0, "which": [0, 2, 7, 8, 9, 10, 11, 12, 13, 14, 18], "would": [0, 9, 10, 11, 13, 16], "prevent": 0, "some": [0, 1, 2, 7, 10, 11, 13, 20], "new": [0, 2, 3, 7, 8, 11, 12, 13, 19], "custom": [0, 3, 7, 9, 10, 11, 17, 18], "model": [0, 1, 2, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 21, 23], "from": [0, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 21], "compil": [0, 10], "due": 0, "mismatch": 0, "sequenc": [0, 14], "durat": 0, "ad": [0, 11, 14], "clippedpositionloss": [0, 9], "penal": [0, 9], "posit": [0, 7, 9, 11, 12, 13, 14, 16], "error": [0, 9], "unless": 0, "radial": [0, 9], "distanc": [0, 9, 14], "desir": [0, 2, 9, 10, 11, 14], "i": [0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "less": [0, 9], "than": [0, 9, 12], "user": [0, 1, 2, 3, 7, 8, 9, 13, 15], "defin": [0, 3, 8, 9, 10, 11, 12, 14], "radiu": [0, 9], "target": [0, 2, 9, 10, 11, 14, 17, 22], "around": [0, 2, 9, 11, 12, 14, 16], "said": 0, "see": [0, 2, 7, 8, 9, 10, 11, 13, 14, 15], "document": [0, 2, 7, 8, 9, 10, 14], "mn": [0, 14], "net": [0, 4, 5, 14, 15], "loss": [0, 2, 3, 4, 5, 7, 10, 14], "modul": [0, 1, 3, 4, 7, 8, 9, 14, 16], "more": [0, 2, 7, 9, 10, 11, 13, 14, 15, 18], "detail": [0, 2, 3, 7, 8, 9, 10, 11, 12, 13], "The": [0, 2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 23], "plot_pos_over_tim": [0, 16], "function": [0, 3, 7, 8, 10, 11, 12, 13, 15, 16], "util": [0, 1, 4, 5, 9], "plotor": [0, 1, 4, 5], "can": [0, 1, 2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19], "now": [0, 7], "take": [0, 7, 8, 11, 12, 13, 15], "colormap": [0, 16], "keyword": [0, 12], "argument": [0, 7, 9, 10, 11, 12, 13, 14], "august": 0, "6th": 0, "remov": [0, 9], "numpi": [0, 1, 14, 16], "ndarrai": [0, 14, 16], "centeroutreach": 0, "attribut": [0, 2, 11, 12, 13, 14], "allow": [0, 3, 7, 10, 11, 12, 13, 15], "json": [0, 10, 15], "serial": 0, "when": [0, 1, 2, 3, 10, 14], "save": [0, 7, 8, 9, 10, 13, 14, 15, 23], "warn": 0, "task": [0, 2, 3, 4, 7, 10, 15, 17, 19, 21], "base": [0, 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18], "class": [0, 2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 20], "inform": [0, 2, 3, 7, 8, 10, 11, 14, 15, 17, 21], "contain": [0, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16], "thi": [0, 2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "make": [0, 1, 3], "them": [0, 11], "awar": 0, "might": 0, "rais": [0, 8, 11, 14, 15], "an": [0, 1, 2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "being": [0, 8, 9, 11, 12, 15, 16], "serializ": 0, "plant": [0, 2, 3, 4, 5, 6, 8, 9, 10, 14, 16, 21], "get_muscle_cfg": [0, 11], "occur": [0, 7, 14], "method": [0, 3, 7, 8, 9, 10, 11, 12, 13, 14, 18, 20, 22], "call": [0, 1, 7, 8, 10, 11, 12, 13, 14, 15], "add_muscl": [0, 11, 12], "wa": [0, 3, 7, 9, 11, 14], "befor": [0, 8], "juli": [0, 3], "31st": [0, 3], "option": [0, 2, 7, 8, 11, 12, 13, 14], "associ": [0, 11, 18], "skeleton": [0, 2, 4, 5, 12, 14, 16], "twodofarm": [0, 11, 13, 16], "initi": [0, 2, 3, 7, 8, 10, 11, 12, 13, 14, 17, 20, 21, 22], "ar": [0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 20, 21], "case": [0, 11, 13], "insensit": [0, 11, 13], "typo": 0, "result": [0, 13], "print": [0, 9, 11, 14, 19], "state": [0, 2, 3, 8, 9, 11, 12, 13, 14, 17, 20, 22], "shape": [0, 14], "path2cartesian": [0, 13], "june": 0, "4th": 0, "setup": [0, 1], "py": [0, 1], "solv": [0, 1], "tensorflow": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 14, 17], "depend": [0, 1, 3, 11, 14, 15], "m1": [0, 1, 11, 13], "chip": [0, 1], "equip": [0, 1], "appl": [0, 1], "devic": 0, "instead": [0, 7, 10, 11, 13, 14], "ask": [0, 14], "requir": [0, 3, 11, 14], "upon": 0, "pip": 0, "instal": [0, 3], "motornet": [0, 1, 2, 4, 17, 18, 21], "compat": [0, 1, 7, 8, 10, 11, 13, 14], "machin": [0, 1], "maco": [0, 1], "3th": 0, "first": [1, 8, 11, 13, 14, 15, 18], "pleas": 1, "sure": 1, "latest": 1, "version": [1, 11, 12, 20], "your": [1, 22], "work": [1, 3, 22], "environ": [1, 11], "python3": 1, "m": [1, 8, 9, 11, 12, 13, 14], "u": 1, "Then": [1, 11, 13, 18], "you": [1, 3], "us": [1, 2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22], "simpl": [1, 12, 13, 17], "command": [1, 2, 8, 11], "There": [1, 2, 9, 11, 14], "third": [1, 3, 16], "parti": [1, 3], "softwar": [1, 3], "run": [1, 15], "howev": [1, 3, 13], "freeli": 1, "avail": [1, 2, 3, 14, 18], "python": [1, 2, 3, 5, 7, 8, 9, 10, 14, 15], "foremost": 1, "built": [1, 2, 3, 11, 12, 18], "standard": [1, 8, 11], "toolbox": [1, 2, 3, 5, 20], "recent": 1, "silicon": 1, "must": [1, 2, 3, 9], "reli": [1, 2, 3, 11, 12], "adapt": [1, 9], "routin": [1, 2, 7, 11, 23], "automat": [1, 8, 13], "check": 1, "": [1, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "o": 1, "platform": [1, 3], "hardwar": 1, "assess": 1, "whether": [1, 7, 14, 15], "For": [1, 3, 7, 8, 9, 10, 11, 12, 13, 14, 16], "arrai": [1, 8, 9, 10, 11, 12, 14, 16], "matrix": 1, "comput": [1, 2, 3, 8, 11, 12, 13, 14, 16], "tensor": [1, 3, 8, 10, 11, 12, 13, 14, 17], "matplotlib": [1, 16], "plot": [1, 7, 9, 14, 16], "mainli": 1, "ipython": 1, "callback": [1, 4, 5, 10], "output": [1, 2, 7, 8, 9, 10, 11, 12, 13, 14], "train": [1, 2, 3, 5, 7, 8, 9, 10, 11, 14, 15, 16], "metric": [1, 7, 10], "dure": [1, 2, 7, 9, 10, 11, 14, 21], "joblib": 1, "parallel": [1, 4, 5], "script": [1, 15], "via": [1, 3, 11, 12, 14, 19], "current": [1, 7, 11, 13, 14, 19], "support": [1, 16], "Being": 2, "object": [2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22], "orient": 2, "six": [2, 3], "consid": [2, 10, 13], "muscl": [2, 3, 4, 5, 7, 8, 9, 13, 14, 18], "network": [2, 3, 5, 7, 8, 9, 10, 11, 14, 21], "In": [2, 6, 7, 10, 12, 17, 18], "addit": [2, 8, 10, 13, 14], "motornetmodel": [2, 10, 22], "wrap": [2, 9, 11, 12, 18], "all": [2, 8, 11, 12, 13, 14, 20], "instanc": [2, 3, 8, 9, 10, 11, 12, 13, 14, 16], "like": [2, 10, 13, 15], "ani": [2, 3, 8, 12, 13, 14], "infer": [2, 8, 10, 11, 12, 14], "fact": 2, "subclass": [2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 22], "kera": [2, 7, 8, 9, 10, 11, 14], "api": [2, 10], "handl": [2, 8, 10, 11, 14, 16, 18], "dynam": [2, 12], "gener": [2, 11, 13, 14, 15, 17, 22], "hold": 2, "geometri": [2, 8, 11, 12, 18], "motion": [2, 20], "joint": [2, 8, 11, 13, 14], "convert": [2, 11], "cartesian": [2, 7, 8, 11, 13], "coordin": [2, 11, 13], "flow": [2, 21], "between": [2, 8, 9, 11, 14], "thei": [2, 3, 7, 8, 9, 11, 19, 21, 22], "about": [2, 3, 10, 14], "how": [2, 3, 7, 10, 14, 15, 17, 18, 19, 21, 22, 23], "appli": [2, 7, 8, 9, 11, 13, 14], "moment": [2, 11, 13, 18], "arm": [2, 3, 11, 12, 13, 16, 18], "forc": [2, 9, 11, 12, 13, 18, 20], "adjust": [2, 7, 12], "also": [2, 3, 11, 13, 14, 17, 18, 20], "feedback": [2, 8, 11], "delai": [2, 8, 11, 14], "properti": [2, 11, 13, 20], "weight": [2, 7, 8, 9, 10, 14], "perform": [2, 3, 5, 7, 8, 10, 11, 12, 13, 14, 23], "forward": [2, 3, 8, 10, 11, 21], "pass": [2, 7, 8, 9, 10, 11, 12, 13, 14, 15, 21], "held": [2, 11, 12, 13, 14], "send": 2, "request": 2, "recomput": [2, 10], "onlin": [2, 3, 10], "one": [2, 8, 9, 10, 11, 12, 13, 14], "want": [2, 8, 10, 13, 14], "input": [2, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 22], "variabl": [2, 8, 9], "whose": [2, 8, 10], "valu": [2, 7, 8, 9, 10, 11, 12, 13, 14, 16], "chang": [2, 11, 12, 13], "over": [2, 3, 8, 11, 15, 16, 17, 18, 19, 20, 21, 22], "trial": [2, 7, 14], "produc": [2, 10, 11, 12, 14, 15], "offlin": [2, 23], "penalti": [2, 9, 17], "free": [2, 3, 7], "paramet": [2, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18], "compound": [2, 9, 14], "sever": [2, 3, 8, 9, 12], "assign": [2, 14, 19], "same": [2, 8, 10, 11, 12, 13, 14], "hierarchi": 2, "present": [2, 3, 14], "abov": [2, 8, 9, 11], "each": [2, 6, 7, 8, 9, 11, 13, 14], "other": [2, 6, 8, 11, 14], "correctli": 2, "consequ": [2, 3], "declar": [2, 9, 10, 12, 14, 15, 19], "sensibl": 2, "order": [2, 3, 8, 9, 11, 16], "so": [2, 8, 10, 11, 12, 13], "retain": 2, "lead": [2, 3], "hierarch": 2, "structur": [2, 3, 8, 10, 17, 18, 19, 20, 22, 23], "where": [2, 14], "live": 2, "memori": 2, "nest": [2, 10, 11], "fashion": 2, "illustr": [2, 18, 21], "below": [2, 8, 13, 14], "displai": [2, 7], "organ": 2, "represent": [2, 10, 21], "relationship": 2, "runtim": [2, 21], "step": [2, 8, 10, 11, 12, 13], "figur": 2, "summar": [2, 21], "oper": [2, 8], "well": [2, 7, 10, 13], "what": [2, 3, 7, 10, 11, 13, 14, 21], "motor": [2, 3, 5, 8, 9, 11], "return": [2, 7, 8, 10, 11, 12, 13, 14, 16, 21], "A": [2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18], "dedic": 2, "tutori": [2, 10, 17, 18, 19, 20, 21, 22, 23], "here": [2, 7, 10, 13, 21], "break": 2, "down": 2, "reproduc": [2, 10, 21], "conveni": [2, 21], "power": [3, 5], "deep": [3, 5, 8], "neural": [3, 5, 8, 9, 17], "full": [3, 8, 12, 13], "implement": [3, 6, 7, 8, 9, 10, 11, 12, 13, 20, 22], "code": [3, 14], "github": [3, 7, 17, 18, 19, 20, 21, 22, 23], "watch": 3, "star": 3, "repositori": 3, "notifi": 3, "updat": [3, 7, 8, 11, 12], "releas": 3, "date": 3, "feel": [3, 7], "consult": 3, "changelog": 3, "distribut": [3, 8, 11, 14], "pypi": 3, "websit": 3, "If": [3, 7, 8, 9, 11, 12, 14, 15], "interest": 3, "collabor": 3, "get": [3, 8, 10, 11, 12, 13, 14], "touch": 3, "email": 3, "abstract": [3, 8, 14], "artifici": 3, "ann": 3, "popular": 3, "studi": 3, "control": [3, 7, 8, 9, 10, 11, 13], "movement": [3, 8, 10, 11, 12, 14, 16], "typic": [3, 6, 8, 10, 11, 13], "conjunct": [3, 11], "biomechan": [3, 11, 13, 14], "simul": [3, 7, 8, 12, 16, 20, 21], "effector": 3, "impract": 3, "1": [3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23], "research": 3, "two": [3, 11, 13, 14, 16], "differ": [3, 21], "2": [3, 7, 8, 9, 10, 11, 13, 15, 16, 17, 18, 20, 21, 22, 23], "differenti": [3, 11, 12, 13], "constrain": [3, 11], "reinforc": 3, "learn": [3, 7, 10, 14], "algorithm": [3, 10], "despit": 3, "exist": [3, 8], "potenti": [3, 7, 8], "biolog": [3, 11], "relev": 3, "faster": 3, "To": [3, 11, 14, 17], "ha": [3, 7, 14, 16], "been": [3, 7], "mitig": 3, "multi": 3, "layer": [3, 4, 5, 9, 10, 14], "perceptron": 3, "approxim": [3, 11], "behaviour": [3, 7], "doe": [3, 8, 9, 10, 11, 12, 14, 15, 18], "address": 3, "remain": 3, "slow": 3, "cumbersom": 3, "process": [3, 8], "iter": [3, 15], "mani": [3, 7, 11, 12, 14, 15], "issu": [3, 7], "we": [3, 9, 10, 11, 13, 16, 17, 18], "develop": [3, 20], "open": 3, "sourc": 3, "creat": [3, 8, 9, 10, 11, 14, 17], "arbitrarili": 3, "complex": [3, 13, 18], "realist": 3, "It": [3, 8, 10, 12, 14, 20], "design": [3, 22], "meet": 3, "goal": 3, "eas": 3, "high": 3, "level": [3, 11, 13, 18], "friendli": 3, "modular": 3, "architectur": 3, "flexibl": 3, "build": [3, 8, 10, 11, 12, 13, 14, 15, 19, 22], "beyond": 3, "anaconda": 3, "librari": 3, "easi": 3, "start": [3, 7, 12, 14], "degre": [3, 11, 13, 14, 16], "freedom": [3, 11, 13, 14, 16], "planar": [3, 13, 16], "within": [3, 9, 11], "minut": 3, "desktop": 3, "therefor": [3, 8, 12, 14], "possibl": [3, 11], "framework": 3, "immedi": 3, "benefit": 3, "advanc": 3, "intellig": 3, "ai": 3, "field": 3, "through": [3, 8, 10, 11], "final": [3, 18, 23], "enabl": [3, 10], "share": 3, "own": [3, 7, 11, 22], "improv": [3, 15], "overal": 3, "hope": 3, "focu": 3, "higher": 3, "allevi": 3, "overhead": 3, "cost": [3, 11, 12], "project": 3, "provid": [3, 7, 8, 9, 11, 12, 14, 20], "standalon": 3, "readi": 3, "go": [3, 14, 17, 18], "speed": [3, 15], "up": [3, 11, 15], "progress": 3, "establish": 3, "team": 3, "concept": 3, "idea": 3, "poster": 3, "societi": 3, "dublin": 3, "ireland": 3, "sitemap": 3, "overview": [3, 21], "index": [3, 7, 9, 11], "search": 3, "page": 3, "content": [4, 12, 13], "subpackag": 4, "packag": [6, 7, 11, 15], "four": [6, 15], "submodul": 6, "seri": [6, 11], "off": 6, "word": 6, "conceptu": [6, 10, 13], "extens": [6, 10], "purpos": [6, 10, 14], "bridg": 6, "itself": [6, 9, 10, 11, 23], "achiev": 7, "refer": [7, 9, 10, 11, 12, 13], "http": [7, 9, 10], "www": [7, 10], "org": [7, 9, 10], "api_doc": 7, "tf": [7, 8, 9, 10, 14], "batchlogg": 7, "default": [7, 8, 9, 10, 11, 13, 14], "log": 7, "end": [7, 17], "epoch": 7, "batch": [7, 8, 11, 12, 14], "frequent": 7, "on_batch_end": 7, "none": [7, 8, 10, 11, 14], "on_train_begin": 7, "begin": 7, "should": [7, 8, 10, 11, 12, 13, 14, 15, 16], "onli": [7, 8, 10, 12], "mode": [7, 15], "dictionari": [7, 8, 10, 11, 12, 13, 14, 17, 22], "data": [7, 10, 16, 23], "batchwiselearningrateschedul": 7, "schedul": 7, "verbos": 7, "0": [7, 8, 9, 10, 11, 12, 13, 14, 16], "learningrateschedul": 7, "parent": [7, 8, 11, 12, 13, 14], "rate": 7, "made": [7, 11], "integ": [7, 8, 11, 12, 13, 14, 15, 16], "float": [7, 8, 9, 11, 12, 13, 14, 16], "either": [7, 11], "quiet": 7, "messag": 7, "toggl": 7, "on_epoch_begin": 7, "empti": 7, "overwrit": 7, "tensorflowfix": 7, "com": 7, "42872": 7, "As": 7, "nightli": 7, "6": [7, 11, 12, 14], "kept": 7, "backward": [7, 8, 10, 11, 13], "on_train_batch_end": [7, 10], "trainingplott": 7, "plot_freq": 7, "20": 7, "plot_n_t": 7, "100": 7, "plot_loss": 7, "true": [7, 14], "plot_trial": 7, "3": [7, 10, 14, 15, 18, 20, 23], "histori": [7, 23], "test": [7, 14, 15], "everi": [7, 8, 11], "help": 7, "monitor": 7, "session": [7, 16], "includ": [7, 9, 10, 14], "total": [7, 14, 15], "contribut": [7, 9, 14], "activ": [7, 8, 9, 12, 14], "veloc": [7, 9, 11, 13, 16], "unit": [7, 8, 9], "subplot": 7, "correspond": [7, 9, 11, 12, 14], "given": [7, 11, 12, 13, 14, 16], "indic": [7, 9, 11, 13, 14], "number": [7, 8, 11, 12, 13, 14, 15], "after": 7, "timestep": [7, 8, 9, 11, 12, 13, 14], "ignor": [7, 14], "set": [7, 8, 11, 12, 13, 14, 16], "bool": [7, 14], "time": [7, 8, 11, 12, 13, 14, 16], "keep": 7, "track": 7, "last": [7, 8], "visit": 7, "previou": 7, "even": 7, "subsequ": 7, "on_training_end": 7, "ensur": [7, 14], "interrupt": 7, "ongo": 7, "grunetwork": [8, 14], "arg": [8, 10], "kwarg": [8, 10, 11, 12, 13, 14], "gru": [8, 9], "act": 8, "dens": 8, "n_muscl": [8, 12], "k": [8, 14], "singl": [8, 9, 11, 12, 13, 14], "muscle_typ": [8, 11], "n_unit": [8, 14], "list": [8, 9, 10, 11, 12, 13, 14, 16], "per": [8, 14], "n_hidden_lay": 8, "hidden": [8, 9], "string": [8, 9, 10, 11, 12, 13, 14, 15, 16], "non": [8, 14], "linear": [8, 12], "kernel_regular": 8, "kernel": 8, "regular": [8, 9], "recurrent_regular": 8, "recurr": [8, 9], "hidden_noise_sd": 8, "deviat": [8, 11], "gaussian": [8, 11], "nois": [8, 11], "output_bias_initi": 8, "bias": 8, "e": [8, 11, 13, 14], "output_kernel_initi": 8, "input_shap": 8, "overrid": [8, 10], "need": [8, 11, 12], "creation": 8, "instanti": [8, 10], "invok": 8, "execut": 8, "discret": 8, "tensorshap": 8, "expect": 8, "forward_pass": 8, "repres": [8, 11, 16], "excit": [8, 11, 12], "get_initial_st": [8, 11, 14], "batch_siz": [8, 11, 12, 14], "int": [8, 11, 12, 13, 16], "dtype": 8, "float32": 8, "procedur": 8, "get_base_initial_st": 8, "follow": [8, 11, 12, 13, 23], "specif": [8, 11, 13, 14], "obei": [8, 14], "size": [8, 9, 11, 12, 13, 14, 16], "dimens": [8, 11, 14, 16], "get_save_config": [8, 11, 12, 13, 14], "configur": [8, 10, 11, 12, 13, 14, 15, 16, 18, 23], "get_base_config": [8, 13], "add": [8, 11, 13, 14, 16], "These": [8, 11, 12, 14], "name": [8, 9, 10, 11, 12, 13, 14], "virtual": 8, "anyth": 8, "long": 8, "abid": [8, 18], "proprioceptive_noise_sd": 8, "propriocept": [8, 11], "loop": 8, "normal": [8, 9], "center": [8, 11, 13, 14], "visual_noise_sd": 8, "random": [8, 11, 14], "visual": [8, 11, 16, 18], "n_ministep": 8, "global": 8, "5": 8, "excitatori": 8, "drive": [8, 12], "logic": [8, 10, 14], "signal": [8, 11, 12], "At": [8, 14], "veri": [8, 14], "least": [8, 14], "kei": [8, 11, 14], "map": [8, 11, 14], "convent": [8, 9], "while": [8, 11], "redund": 8, "necessari": 8, "obtain": [8, 11, 12], "inher": 8, "notimplementederror": 8, "overwritten": [8, 13], "classmethod": [8, 10], "from_config": [8, 10], "config": [8, 10], "its": [8, 9, 10, 11, 12], "revers": [8, 10], "get_config": [8, 10], "capabl": [8, 10], "connect": [8, 10], "nor": [8, 10], "set_weight": [8, 10], "entri": [8, 12, 13], "do": [8, 11, 13, 14], "ministep": 8, "By": [8, 13], "recttanh": 8, "x": [8, 9, 11, 16], "rectifi": [8, 12], "hyperbol": 8, "tangent": 8, "coupl": 9, "emploi": 9, "fed": 9, "label": [9, 14], "xdx": 9, "both": 9, "deriv": [9, 11, 12, 13, 14], "scale": [9, 12], "deriv_weight": [9, 14], "scalar": 9, "compar": [9, 10], "target_s": 9, "str": [9, 11, 12, 13, 14, 16], "reduct": 9, "auto": 9, "lossfunctionwrapp": 9, "l1": [9, 11, 13], "y": [9, 16], "xp": 9, "_": 9, "np": 9, "split": 9, "axi": [9, 16], "yp": 9, "reduce_mean": 9, "ab": 9, "clip": [9, 12, 13], "henc": 9, "extract": 9, "give": [9, 11, 14, 16], "losses_util": 9, "reductionv2": 9, "tensoflow": 9, "compoundedloss": 9, "union": [9, 11, 13, 14], "tupl": [9, 11, 13, 14], "loss_weight": [9, 14], "compounded_loss": 9, "composit": 9, "sum": 9, "subloss": 9, "constant": [9, 12], "l2activationl1musclevelindloss": 9, "max_iso_forc": 9, "activation_weight": 9, "l2_activation_muscle_vel": 9, "l2": [9, 11, 13, 14], "maximum": [9, 11, 12], "isometr": [9, 12], "dx": 9, "evalu": [9, 11, 12, 13, 23], "l2activationloss": 9, "l2_activ": 9, "l2activationmusclevelloss": 9, "l2regular": 9, "l2_regular": 9, "l2xdxactivationloss": 9, "dt": [9, 11, 12, 13], "l2_xdx_activ": 9, "da": [9, 11, 12], "calcul": [9, 11, 13, 18], "euler": [9, 11, 13], "l2xdxregular": 9, "gru_regular": 9, "positionloss": 9, "recurrentactivityregular": 9, "recurrent_weight": 9, "activity_weight": 9, "recurrent_act": 9, "f": 9, "h": 9, "accord": [9, 11, 12], "propos": 9, "sussillo": 9, "d": 9, "churchland": 9, "kaufman": 9, "et": 9, "al": 9, "find": 9, "naturalist": 9, "solut": 9, "product": 9, "nat": 9, "neurosci": 9, "18": 9, "1025": 9, "1033": 9, "2015": 9, "doi": [9, 10, 11, 12, 13], "10": [9, 10, 11, 12, 13, 16], "1038": 9, "nn": 9, "4042": 9, "fetch": 9, "distalteach": [10, 15], "abc": 10, "group": 10, "featur": 10, "propag": 10, "perfect": 10, "essenti": 10, "distal": 10, "teacher": 10, "jordan": 10, "mi": 10, "rumelhart": 10, "de": [10, 13], "supervis": 10, "cognit": 10, "scienc": 10, "1992": 10, "jul": 10, "16": 10, "307": 10, "354": 10, "1207": 10, "s15516709cog1603_1": 10, "serv": [10, 13], "placehold": 10, "introduct": [10, 17, 20, 23], "section": 10, "exampl": [10, 14, 18], "guid": 10, "custom_object": 10, "save_model": [10, 15], "path": [10, 11, 13], "file": [10, 15, 23], "absolut": 10, "without": [10, 14], "my_model_config": 10, "directori": [10, 15], "consol": [10, 15], "Not": 10, "train_step": 10, "origin": [10, 11, 12, 18], "sinc": [10, 12, 16], "alwai": [10, 11, 12], "sampl": 10, "usual": [10, 11, 12, 13, 14], "synthet": 10, "empir": 10, "mean": [10, 12, 16], "bia": 10, "callbacklist": 10, "accuraci": 10, "7": [10, 12], "alia": 10, "numer": [11, 12, 13, 18], "integr": [11, 12, 13, 18], "commun": 11, "technic": 11, "recommend": 11, "concis": 11, "strictli": 11, "equival": 11, "complianttendonarm26": 11, "0002": 11, "rigidtendonarm26": 11, "compliant": [11, 12, 20], "tendon": [11, 12, 20], "note": [11, 12, 13], "rung": [11, 13], "kutta": [11, 13], "4": [11, 13, 15, 16, 20], "sec": [11, 13, 14], "type": [11, 12, 14, 15, 18, 20, 21], "01": [11, 12], "integration_method": [11, 13], "excitation_noise_sd": 11, "proprioceptive_delai": 11, "visual_delai": 11, "pos_lower_bound": [11, 13], "pos_upper_bound": [11, 13], "vel_lower_bound": [11, 13], "vel_upper_bound": [11, 13], "specifi": [11, 13, 14], "done": [11, 13], "rk4": [11, 13], "rungekutta4": [11, 13], "kutta4": [11, 13], "amount": [11, 12, 15], "stochast": 11, "centr": [11, 14], "zero": 11, "term": 11, "drawn": [11, 14], "randomli": [11, 14], "receiv": 11, "multipl": 11, "round": 11, "match": [11, 12, 13, 14], "closest": 11, "qualifi": 11, "upper": [11, 12, 13, 14, 16], "boundari": [11, 13], "n": [11, 12, 13, 14], "element": [11, 12, 13, 14], "vector": [11, 12, 13], "have": [11, 12, 13, 16], "lower": [11, 12, 13, 14, 16], "path_fixation_bodi": [11, 13], "path_coordin": [11, 13], "fixat": [11, 13], "bodi": [11, 13], "bone": [11, 13], "point": [11, 13], "stand": 11, "worldspac": [11, 13, 14], "outsid": 11, "main": 11, "dimension": [11, 12, 13, 14, 16, 21], "2d": [11, 16], "system": [11, 12, 18], "Its": [11, 16], "alongsid": 11, "length": [11, 12, 13, 18], "next": 11, "proce": 11, "orthogon": 11, "muscle_m": 11, "counter": 11, "vari": 11, "typeerror": 11, "pertain": 11, "miss": 11, "draw_fixed_st": 11, "tile": 11, "null": 11, "draw_random_uniform_st": 11, "draw": 11, "uniform": [11, 14], "bound": [11, 12, 14], "get_geometri": 11, "joint_stat": [11, 13, 14, 16], "valueerror": [11, 14, 15], "equal": [11, 12, 13, 14], "fo": 11, "muscle_input": 11, "muscle_st": [11, 12], "geometry_st": [11, 12], "endpoint_load": [11, 13, 14], "joint_load": 11, "update_od": [11, 12, 13], "ordinari": [11, 12, 13], "equat": [11, 12, 13], "integration_step": [11, 13], "load": [11, 13, 14, 23], "endpoint": [11, 13, 14], "state_deriv": [11, 12, 13], "respect": [11, 13, 16], "joint2cartesian": [11, 13], "print_muscle_wrap": 11, "readabl": [11, 14], "format": [11, 12, 14], "setattr": [11, 12, 13], "state2target": 11, "n_timestep": [11, 12, 14, 16], "fit": [11, 14], "relupointmass24": [11, 14], "max_isometric_forc": [11, 12], "500": 11, "mass": [11, 13], "attach": [11, 13], "relumuscl": [11, 12], "corner": 11, "frame": 11, "space": [11, 13, 14, 16], "max_isometic_forc": 11, "kg": [11, 13], "pre": [11, 12, 14, 18], "lump": 11, "becaus": [11, 13], "realiti": 11, "polynomi": 11, "82": 11, "m2": [11, 13], "43": 11, "l1g": [11, 13], "135": 11, "l2g": [11, 13], "165": 11, "i1": [11, 13], "051": 11, "i2": [11, 13], "057": 11, "309": [11, 13], "333": 11, "shoulder": [11, 16], "elbow": [11, 16], "limit": [11, 14, 16], "155": 11, "come": 11, "kistemak": [11, 12, 20], "wong": [11, 12], "jd": [11, 12], "gribbl": [11, 12], "pl": [11, 12], "central": [11, 12], "nervou": [11, 12], "minim": [11, 12], "energi": [11, 12], "j": [11, 12], "neurophysiol": [11, 12], "2010": [11, 12], "dec": [11, 12], "104": [11, 12], "2985": [11, 12], "94": [11, 12], "1152": [11, 12], "jn": [11, 12], "00483": [11, 12], "epub": [11, 12], "sep": [11, 12], "8": [11, 12, 14], "pmid": [11, 12, 13], "20884757": [11, 12], "complianttendonhillmuscl": 12, "min_activ": 12, "rigidtendonhillmuscl": 12, "hill": [12, 18, 20], "unlik": 12, "formul": 12, "articl": 12, "minimum": 12, "input_dim": [12, 13], "output_dim": [12, 13], "tau_activ": 12, "015": 12, "tau_deactiv": 12, "05": [12, 14], "those": [12, 14], "regardless": 12, "n_batch": [12, 13, 16], "n_state": 12, "driven": 12, "deactiv": 12, "activation_od": 12, "descend": 12, "wrapper": [12, 13], "scructur": 12, "second": [12, 13, 15], "particular": 12, "extra": 12, "get_initial_muscle_st": 12, "directli": 12, "essenc": 12, "behav": 12, "actuat": 12, "pull": 12, "push": 12, "assum": 12, "yield": 12, "inherit": 12, "001": 12, "rigid": 12, "tendon_length": 12, "optimal_muscle_length": 12, "optim": [12, 14], "normalized_slack_muscle_length": 12, "past": [12, 13], "developp": 12, "passiv": [12, 18], "rigidtendonhillmusclethelen": 12, "thelen": [12, 20], "dg": 12, "mechan": 12, "contract": 12, "older": 12, "adult": 12, "biomech": 12, "eng": [12, 13], "2003": 12, "feb": 12, "125": 12, "70": 12, "1115": [12, 13], "1531112": 12, "12661198": 12, "pointmass": 13, "space_dim": [13, 14], "point_mass": 13, "evolv": 13, "xy": 13, "try": [13, 14], "dof": 13, "taken": 13, "dictionnari": 13, "1000": 13, "g": 13, "torqu": 13, "state_dim": 13, "clip_veloc": 13, "po": 13, "vel": 13, "exactli": 13, "move": 13, "further": 13, "top": 13, "ur": 13, "half": 13, "occasion": 13, "ident": 13, "transform": 13, "musculotendon": 13, "sherman": 13, "ma": 13, "seth": 13, "delp": 13, "sl": 13, "effect": 13, "proc": 13, "asm": 13, "tech": 13, "conf": 13, "2013": 13, "aug": 13, "detc2013": 13, "13633": 13, "25905111": 13, "pmcid": 13, "pmc4404026": 13, "part": [13, 14, 16], "n_fixation_point": 13, "across": 13, "angl": 13, "n_dof": 13, "od": 13, "two_dof_arm": 13, "864572": 13, "534315": 13, "180496": 13, "181479": 13, "013193": 13, "020062": 13, "26": 13, "graviti": 13, "inertia": 13, "corioli": 13, "viscos": 13, "centreoutreach": 14, "angular_step": 14, "15": 14, "catch_trial_perc": 14, "50": 14, "reaching_dist": 14, "start_posit": 14, "go_cue_rang": 14, "25": 14, "reach": [14, 16], "valid": 14, "out": [14, 19], "angular": 14, "deg": 14, "45": 14, "direct": 14, "percentag": 14, "catch": 14, "cue": 14, "wait": 14, "actual": 14, "anticip": 14, "item": 14, "rang": [14, 16], "window": 14, "mai": 14, "fals": [14, 16], "boolean": 14, "oppos": 14, "didder": 14, "y_true": 14, "initial_joint_st": 14, "delayedreach": 14, "delay_rang": 14, "randomtargetreach": 14, "randomtargetreachwithload": 14, "th": 14, "add_loss": 14, "assigned_output": 14, "retriev": 14, "output_nam": 14, "get_attribut": 14, "callabl": 14, "except": 14, "relat": 14, "attr": 14, "neither": 14, "get_initial_state_lay": 14, "entrypoint": 14, "get_input_dict_lay": 14, "import": 14, "rnn": 14, "cell": 14, "return_sequ": 14, "state_i": 14, "state_f": 14, "initial_st": 14, "onto": 14, "get_input_dim": 14, "get_loss": 14, "callbal": 14, "print_attribut": 14, "print_loss": 14, "set_training_param": 14, "overridden": 14, "altern": 14, "variou": [15, 16], "analys": 15, "cpu": 15, "particularli": 15, "larg": 15, "core": 15, "significantli": 15, "termin": 15, "param": 15, "animate_trajectori": 16, "joint_posit": 16, "save_anim": 16, "path_nam": 16, "arm_anim": 16, "mp4": 16, "compute_limit": 16, "margin": 16, "dataset": 16, "proport": 16, "becom": 16, "12": 16, "plot_2dof_arm_over_tim": 16, "cmap": 16, "viridi": 16, "linewidth": 16, "arm26": 16, "earlier": 16, "later": 16, "darker": 16, "brighter": 16, "color": 16, "trajectori": 16, "n_dim": 16, "line": 16, "width": 16, "segment": 16, "cart_result": 16, "earli": 16, "lighter": 16, "On": [17, 18, 19, 20, 21, 22, 23], "colab": [17, 18, 19, 20, 21, 22, 23], "ii": [17, 18, 19, 20, 21, 22, 23], "b": [17, 22], "c": [17, 22], "iii": [17, 18, 20, 21, 22, 23], "goe": [18, 19, 20, 21, 22], "scratch": 18, "look": 18, "choos": 18, "fulli": 18, "basic": [18, 23], "arm210": 18, "drift": 18, "iv": [18, 20, 21, 23], "relu": 20, "inspect": 20, "curv": 20, "v": [20, 21, 23], "carri": 21, "show": 23, "guidanc": 23, "re": 23, "analyz": 23, "vi": 23, "vii": 23}, "objects": {"": [[5, 0, 0, "-", "motornet"]], "motornet": [[6, 0, 0, "-", "nets"], [11, 0, 0, "-", "plants"], [14, 0, 0, "-", "tasks"], [15, 0, 0, "-", "utils"]], "motornet.nets": [[7, 0, 0, "-", "callbacks"], [8, 0, 0, "-", "layers"], [9, 0, 0, "-", "losses"], [10, 0, 0, "-", "models"]], "motornet.nets.callbacks": [[7, 1, 1, "", "BatchLogger"], [7, 1, 1, "", "BatchwiseLearningRateScheduler"], [7, 1, 1, "", "TensorflowFix"], [7, 1, 1, "", "TrainingPlotter"]], "motornet.nets.callbacks.BatchLogger": [[7, 2, 1, "", "on_batch_end"], [7, 2, 1, "", "on_train_begin"]], "motornet.nets.callbacks.BatchwiseLearningRateScheduler": [[7, 2, 1, "", "on_batch_end"], [7, 2, 1, "", "on_epoch_begin"]], "motornet.nets.callbacks.TensorflowFix": [[7, 2, 1, "", "on_train_batch_end"], [7, 2, 1, "", "on_train_begin"]], "motornet.nets.callbacks.TrainingPlotter": [[7, 2, 1, "", "on_batch_end"], [7, 2, 1, "", "on_train_begin"]], "motornet.nets.layers": [[8, 1, 1, "", "GRUNetwork"], [8, 1, 1, "", "Network"], [8, 3, 1, "", "recttanh"]], "motornet.nets.layers.GRUNetwork": [[8, 2, 1, "", "build"], [8, 2, 1, "", "forward_pass"], [8, 2, 1, "", "get_initial_state"], [8, 2, 1, "", "get_save_config"]], "motornet.nets.layers.Network": [[8, 2, 1, "", "call"], [8, 2, 1, "", "forward_pass"], [8, 2, 1, "", "from_config"], [8, 2, 1, "", "get_base_config"], [8, 2, 1, "", "get_base_initial_state"], [8, 2, 1, "", "get_initial_state"], [8, 2, 1, "", "get_save_config"]], "motornet.nets.losses": [[9, 1, 1, "", "ClippedPositionLoss"], [9, 1, 1, "", "CompoundedLoss"], [9, 1, 1, "", "L2ActivationL1MuscleVelIndLoss"], [9, 1, 1, "", "L2ActivationLoss"], [9, 1, 1, "", "L2ActivationMuscleVelLoss"], [9, 1, 1, "", "L2Regularizer"], [9, 1, 1, "", "L2xDxActivationLoss"], [9, 1, 1, "", "L2xDxRegularizer"], [9, 1, 1, "", "PositionLoss"], [9, 1, 1, "", "RecurrentActivityRegularizer"]], "motornet.nets.models": [[10, 1, 1, "", "DistalTeacher"], [10, 1, 1, "", "MotorNetModel"]], "motornet.nets.models.DistalTeacher": [[10, 2, 1, "", "from_config"], [10, 2, 1, "", "get_config"], [10, 2, 1, "", "save_model"], [10, 2, 1, "", "train_step"]], "motornet.plants": [[12, 0, 0, "-", "muscles"], [11, 0, 0, "-", "plants"], [13, 0, 0, "-", "skeletons"]], "motornet.plants.muscles": [[12, 1, 1, "", "CompliantTendonHillMuscle"], [12, 1, 1, "", "Muscle"], [12, 1, 1, "", "ReluMuscle"], [12, 1, 1, "", "RigidTendonHillMuscle"], [12, 1, 1, "", "RigidTendonHillMuscleThelen"]], "motornet.plants.muscles.Muscle": [[12, 2, 1, "", "activation_ode"], [12, 2, 1, "", "build"], [12, 2, 1, "", "get_initial_muscle_state"], [12, 2, 1, "", "get_save_config"], [12, 2, 1, "", "integrate"], [12, 2, 1, "", "setattr"], [12, 2, 1, "", "update_ode"]], "motornet.plants.muscles.RigidTendonHillMuscle": [[12, 2, 1, "", "build"]], "motornet.plants.muscles.RigidTendonHillMuscleThelen": [[12, 2, 1, "", "build"]], "motornet.plants.plants": [[11, 1, 1, "", "CompliantTendonArm26"], [11, 1, 1, "", "Plant"], [11, 1, 1, "", "ReluPointMass24"], [11, 1, 1, "", "RigidTendonArm26"]], "motornet.plants.plants.Plant": [[11, 2, 1, "", "add_muscle"], [11, 2, 1, "", "draw_fixed_states"], [11, 2, 1, "", "draw_random_uniform_states"], [11, 2, 1, "", "get_geometry"], [11, 2, 1, "", "get_initial_state"], [11, 2, 1, "", "get_muscle_cfg"], [11, 2, 1, "", "get_save_config"], [11, 2, 1, "", "integrate"], [11, 2, 1, "", "integration_step"], [11, 2, 1, "", "joint2cartesian"], [11, 2, 1, "", "print_muscle_wrappings"], [11, 2, 1, "", "setattr"], [11, 2, 1, "", "state2target"], [11, 2, 1, "", "update_ode"]], "motornet.plants.skeletons": [[13, 1, 1, "", "PointMass"], [13, 1, 1, "", "Skeleton"], [13, 1, 1, "", "TwoDofArm"]], "motornet.plants.skeletons.PointMass": [[13, 2, 1, "", "get_save_config"]], "motornet.plants.skeletons.Skeleton": [[13, 2, 1, "", "build"], [13, 2, 1, "", "clip_velocity"], [13, 2, 1, "", "get_base_config"], [13, 2, 1, "", "get_save_config"], [13, 2, 1, "", "integrate"], [13, 2, 1, "", "joint2cartesian"], [13, 2, 1, "", "path2cartesian"], [13, 2, 1, "", "setattr"], [13, 2, 1, "", "update_ode"]], "motornet.plants.skeletons.TwoDofArm": [[13, 2, 1, "", "get_save_config"]], "motornet.tasks": [[14, 1, 1, "", "CentreOutReach"], [14, 1, 1, "", "DelayedReach"], [14, 1, 1, "", "RandomTargetReach"], [14, 1, 1, "", "RandomTargetReachWithLoads"], [14, 1, 1, "", "Task"]], "motornet.tasks.CentreOutReach": [[14, 2, 1, "", "generate"]], "motornet.tasks.DelayedReach": [[14, 2, 1, "", "generate"]], "motornet.tasks.RandomTargetReach": [[14, 2, 1, "", "generate"]], "motornet.tasks.RandomTargetReachWithLoads": [[14, 2, 1, "", "generate"]], "motornet.tasks.Task": [[14, 2, 1, "", "add_loss"], [14, 2, 1, "", "generate"], [14, 2, 1, "", "get_attributes"], [14, 2, 1, "", "get_initial_state"], [14, 2, 1, "", "get_initial_state_layers"], [14, 2, 1, "", "get_input_dict_layers"], [14, 2, 1, "", "get_input_dim"], [14, 2, 1, "", "get_losses"], [14, 2, 1, "", "get_save_config"], [14, 2, 1, "", "print_attributes"], [14, 2, 1, "", "print_losses"], [14, 2, 1, "", "set_training_params"]], "motornet.utils": [[15, 0, 0, "-", "parallelizer"], [16, 0, 0, "-", "plotor"]], "motornet.utils.plotor": [[16, 3, 1, "", "animate_trajectory"], [16, 3, 1, "", "compute_limits"], [16, 3, 1, "", "plot_2dof_arm_over_time"], [16, 3, 1, "", "plot_pos_over_time"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"]}, "titleterms": {"changelog": 0, "develop": 0, "releas": 0, "font": 0, "size": 0, "4": 0, "version": 0, "0": 0, "1": 0, "3": 0, "2": 0, "how": [1, 20], "instal": 1, "pip": 1, "requir": 1, "anaconda": 1, "function": 2, "overview": 2, "motornet": [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "api": 3, "refer": 3, "manual": 3, "document": 3, "tutori": 3, "indic": 3, "tabl": 3, "modul": [5, 6, 11, 15], "content": [5, 6, 11, 15], "subpackag": 5, "task": [5, 14, 22], "net": [6, 7, 8, 9, 10], "callback": [6, 7], "layer": [6, 8], "loss": [6, 9, 19], "model": [6, 10], "plant": [11, 12, 13, 18], "muscl": [11, 12, 20], "skeleton": [11, 13], "util": [15, 16], "parallel": 15, "plotor": [15, 16], "build": [17, 18], "network": [17, 23], "creat": [19, 22], "custom": [19, 22], "object": 20, "work": 20, "structur": 21, "state": 21, "tensor": 21, "train": 23}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "nbsphinx": 4, "sphinx": 56}})
\ No newline at end of file
+Search.setIndex({"docnames": ["documentation/changelog", "documentation/install", "documentation/overview", "index", "modules", "motornet", "motornet.nets", "motornet.nets.callbacks", "motornet.nets.layers", "motornet.nets.losses", "motornet.nets.models", "motornet.plants", "motornet.plants.muscles", "motornet.plants.skeletons", "motornet.task", "motornet.utils", "motornet.utils.plotor", "tutorials/build-net", "tutorials/build-plant", "tutorials/losses", "tutorials/muscle-demo", "tutorials/states", "tutorials/tasks", "tutorials/train-net"], "filenames": ["documentation\\changelog.md", "documentation\\install.md", "documentation\\overview.rst", "index.rst", "modules.rst", "motornet.rst", "motornet.nets.rst", "motornet.nets.callbacks.rst", "motornet.nets.layers.rst", "motornet.nets.losses.rst", "motornet.nets.models.rst", "motornet.plants.rst", "motornet.plants.muscles.rst", "motornet.plants.skeletons.rst", "motornet.task.rst", "motornet.utils.rst", "motornet.utils.plotor.rst", "tutorials\\build-net.rst", "tutorials\\build-plant.rst", "tutorials\\losses.rst", "tutorials\\muscle-demo.rst", "tutorials\\states.rst", "tutorials\\tasks.rst", "tutorials\\train-net.rst"], "titles": ["Changelog", "How to Install", "Functional Overview", "MotorNet", "<no title>", "MotorNet", "motornet.nets", "motornet.nets.callbacks", "motornet.nets.layers", "motornet.nets.losses", "motornet.nets.models", "motornet.plants", "motornet.plants.muscles", "motornet.plants.skeletons", "motornet.task", "motornet.utils", "motornet.utils.plotor", "Build a Network", "Build a Plant", "Create a Custom Loss", "How Muscle Objects Work", "Structure of State Tensors", "Create a Custom Task", "Train a Network"], "terms": {"2022": [0, 3], "octob": 0, "30th": 0, "fix": [0, 7], "bug": 0, "which": [0, 2, 7, 8, 9, 10, 11, 12, 13, 14, 18], "would": [0, 9, 10, 11, 13, 16], "prevent": 0, "some": [0, 1, 2, 7, 10, 11, 13, 20], "new": [0, 2, 3, 7, 8, 11, 12, 13, 19], "custom": [0, 3, 7, 9, 10, 11, 17, 18], "model": [0, 1, 2, 3, 4, 5, 7, 8, 9, 11, 12, 13, 14, 15, 16, 21, 23], "from": [0, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 21], "compil": [0, 10], "due": 0, "mismatch": 0, "sequenc": [0, 14], "durat": 0, "ad": [0, 11, 14], "clippedpositionloss": [0, 9], "penal": [0, 9], "posit": [0, 7, 9, 11, 12, 13, 14, 16], "error": [0, 9], "unless": 0, "radial": [0, 9], "distanc": [0, 9, 14], "desir": [0, 2, 9, 10, 11, 14], "i": [0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "less": [0, 9], "than": [0, 9, 12], "user": [0, 1, 2, 3, 7, 8, 9, 13, 15], "defin": [0, 3, 8, 9, 10, 11, 12, 14], "radiu": [0, 9], "target": [0, 2, 9, 10, 11, 14, 17, 22], "around": [0, 2, 9, 11, 12, 14, 16], "said": 0, "see": [0, 2, 7, 8, 9, 10, 11, 13, 14, 15], "document": [0, 2, 7, 8, 9, 10, 14], "mn": [0, 14], "net": [0, 4, 5, 14, 15], "loss": [0, 2, 3, 4, 5, 7, 10, 14], "modul": [0, 1, 3, 4, 7, 8, 9, 14, 16], "more": [0, 2, 7, 9, 10, 11, 13, 14, 15, 18], "detail": [0, 2, 3, 7, 8, 9, 10, 11, 12, 13], "The": [0, 2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 23], "plot_pos_over_tim": [0, 16], "function": [0, 3, 7, 8, 10, 11, 12, 13, 15, 16], "util": [0, 1, 4, 5, 9], "plotor": [0, 1, 4, 5], "can": [0, 1, 2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 18, 19], "now": [0, 7], "take": [0, 7, 8, 11, 12, 13, 15], "colormap": [0, 16], "keyword": [0, 12], "argument": [0, 7, 9, 10, 11, 12, 13, 14], "remov": [0, 9], "numpi": [0, 1, 14, 16], "ndarrai": [0, 14, 16], "centeroutreach": 0, "attribut": [0, 2, 11, 12, 13, 14], "allow": [0, 3, 7, 10, 11, 12, 13, 15], "json": [0, 10, 15], "serial": 0, "when": [0, 1, 2, 3, 10, 14], "save": [0, 7, 8, 9, 10, 13, 14, 15, 23], "warn": 0, "task": [0, 2, 3, 4, 7, 10, 15, 17, 19, 21], "base": [0, 2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18], "class": [0, 2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 18, 20], "inform": [0, 2, 3, 7, 8, 10, 11, 14, 15, 17, 21], "contain": [0, 6, 7, 8, 10, 11, 12, 13, 14, 15, 16], "thi": [0, 2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23], "make": [0, 1, 3], "them": [0, 11], "awar": 0, "might": 0, "rais": [0, 8, 11, 14, 15], "an": [0, 1, 2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 16], "being": [0, 8, 9, 11, 12, 15, 16], "serializ": 0, "plant": [0, 2, 3, 4, 5, 6, 8, 9, 10, 14, 16, 21], "get_muscle_cfg": [0, 11], "occur": [0, 7, 14], "method": [0, 3, 7, 8, 9, 10, 11, 12, 13, 14, 18, 20, 22], "call": [0, 1, 7, 8, 10, 11, 12, 13, 14, 15], "add_muscl": [0, 11, 12], "wa": [0, 3, 7, 9, 11, 14], "befor": [0, 8], "juli": [0, 3], "31st": [0, 3], "option": [0, 2, 7, 8, 11, 12, 13, 14], "associ": [0, 11, 18], "skeleton": [0, 2, 4, 5, 12, 14, 16], "twodofarm": [0, 11, 13, 16], "initi": [0, 2, 3, 7, 8, 10, 11, 12, 13, 14, 17, 20, 21, 22], "ar": [0, 1, 2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 20, 21], "case": [0, 11, 13], "insensit": [0, 11, 13], "typo": 0, "result": [0, 13], "print": [0, 9, 11, 14, 19], "state": [0, 2, 3, 8, 9, 11, 12, 13, 14, 17, 20, 22], "shape": [0, 14], "path2cartesian": [0, 13], "june": 0, "4th": 0, "setup": [0, 1], "py": [0, 1], "solv": [0, 1], "tensorflow": [0, 1, 2, 3, 5, 6, 7, 8, 9, 10, 11, 14, 17], "depend": [0, 1, 3, 11, 14, 15], "m1": [0, 1, 11, 13], "chip": [0, 1], "equip": [0, 1], "appl": [0, 1], "devic": 0, "instead": [0, 7, 10, 11, 13, 14], "ask": [0, 14], "requir": [0, 3, 11, 14], "upon": 0, "pip": 0, "instal": [0, 3], "motornet": [0, 1, 2, 4, 17, 18, 21], "compat": [0, 1, 7, 8, 10, 11, 13, 14], "machin": [0, 1], "maco": [0, 1], "3th": 0, "first": [1, 8, 11, 13, 14, 15, 18], "pleas": 1, "sure": 1, "latest": 1, "version": [1, 11, 12, 20], "your": [1, 22], "work": [1, 3, 22], "environ": [1, 11], "python3": 1, "m": [1, 8, 9, 11, 12, 13, 14], "u": 1, "Then": [1, 11, 13, 18], "you": [1, 3], "us": [1, 2, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22], "simpl": [1, 12, 13, 17], "command": [1, 2, 8, 11], "There": [1, 2, 9, 11, 14], "third": [1, 3, 16], "parti": [1, 3], "softwar": [1, 3], "run": [1, 15], "howev": [1, 3, 13], "freeli": 1, "avail": [1, 2, 3, 14, 18], "python": [1, 2, 3, 5, 7, 8, 9, 10, 14, 15], "foremost": 1, "built": [1, 2, 3, 11, 12, 18], "standard": [1, 8, 11], "toolbox": [1, 2, 3, 5, 20], "recent": 1, "silicon": 1, "must": [1, 2, 3, 9], "reli": [1, 2, 3, 11, 12], "adapt": [1, 9], "routin": [1, 2, 7, 11, 23], "automat": [1, 8, 13], "check": 1, "": [1, 3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "o": 1, "platform": [1, 3], "hardwar": 1, "assess": 1, "whether": [1, 7, 14, 15], "For": [1, 3, 7, 8, 9, 10, 11, 12, 13, 14, 16], "arrai": [1, 8, 9, 10, 11, 12, 14, 16], "matrix": 1, "comput": [1, 2, 3, 8, 11, 12, 13, 14, 16], "tensor": [1, 3, 8, 10, 11, 12, 13, 14, 17], "matplotlib": [1, 16], "plot": [1, 7, 9, 14, 16], "mainli": 1, "ipython": 1, "callback": [1, 4, 5, 10], "output": [1, 2, 7, 8, 9, 10, 11, 12, 13, 14], "train": [1, 2, 3, 5, 7, 8, 9, 10, 11, 14, 15, 16], "metric": [1, 7, 10], "dure": [1, 2, 7, 9, 10, 11, 14, 21], "joblib": 1, "parallel": [1, 4, 5], "script": [1, 15], "via": [1, 3, 11, 12, 14, 19], "current": [1, 7, 11, 13, 14, 19], "support": [1, 16], "Being": 2, "object": [2, 3, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 21, 22], "orient": 2, "six": [2, 3], "consid": [2, 10, 13], "muscl": [2, 3, 4, 5, 7, 8, 9, 13, 14, 18], "network": [2, 3, 5, 7, 8, 9, 10, 11, 14, 21], "In": [2, 6, 7, 10, 12, 17, 18], "addit": [2, 8, 10, 13, 14], "motornetmodel": [2, 10, 22], "wrap": [2, 9, 11, 12, 18], "all": [2, 8, 11, 12, 13, 14, 20], "instanc": [2, 3, 8, 9, 10, 11, 12, 13, 14, 16], "like": [2, 10, 13, 15], "ani": [2, 3, 8, 12, 13, 14], "infer": [2, 8, 10, 11, 12, 14], "fact": 2, "subclass": [2, 6, 7, 8, 9, 10, 11, 12, 13, 14, 17, 18, 22], "kera": [2, 7, 8, 9, 10, 11, 14], "api": [2, 10], "handl": [2, 8, 10, 11, 14, 16, 18], "dynam": [2, 12], "gener": [2, 11, 13, 14, 15, 17, 22], "hold": 2, "geometri": [2, 8, 11, 12, 18], "motion": [2, 20], "joint": [2, 8, 11, 13, 14], "convert": [2, 11], "cartesian": [2, 7, 8, 11, 13], "coordin": [2, 11, 13], "flow": [2, 21], "between": [2, 8, 9, 11, 14], "thei": [2, 3, 7, 8, 9, 11, 19, 21, 22], "about": [2, 3, 10, 14], "how": [2, 3, 7, 10, 14, 15, 17, 18, 19, 21, 22, 23], "appli": [2, 7, 8, 9, 11, 13, 14], "moment": [2, 11, 13, 18], "arm": [2, 3, 11, 12, 13, 16, 18], "forc": [2, 9, 11, 12, 13, 18, 20], "adjust": [2, 7, 12], "also": [2, 3, 11, 13, 14, 17, 18, 20], "feedback": [2, 8, 11], "delai": [2, 8, 11, 14], "properti": [2, 11, 13, 20], "weight": [2, 7, 8, 9, 10, 14], "perform": [2, 3, 5, 7, 8, 10, 11, 12, 13, 14, 23], "forward": [2, 3, 8, 10, 11, 21], "pass": [2, 7, 8, 9, 10, 11, 12, 13, 14, 15, 21], "held": [2, 11, 12, 13, 14], "send": 2, "request": 2, "recomput": [2, 10], "onlin": [2, 3, 10], "one": [2, 8, 9, 10, 11, 12, 13, 14], "want": [2, 8, 10, 13, 14], "input": [2, 7, 8, 9, 10, 11, 12, 13, 14, 15, 17, 22], "variabl": [2, 8, 9], "whose": [2, 8, 10], "valu": [2, 7, 8, 9, 10, 11, 12, 13, 14, 16], "chang": [2, 11, 12, 13], "over": [2, 3, 8, 11, 15, 16, 17, 18, 19, 20, 21, 22], "trial": [2, 7, 14], "produc": [2, 10, 11, 12, 14, 15], "offlin": [2, 23], "penalti": [2, 9, 17], "free": [2, 3, 7], "paramet": [2, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18], "compound": [2, 9, 14], "sever": [2, 3, 8, 9, 12], "assign": [2, 14, 19], "same": [2, 8, 10, 11, 12, 13, 14], "hierarchi": 2, "present": [2, 3, 14], "abov": [2, 8, 9, 11], "each": [2, 6, 7, 8, 9, 11, 13, 14], "other": [2, 6, 8, 11, 14], "correctli": 2, "consequ": [2, 3], "declar": [2, 9, 10, 12, 14, 15, 19], "sensibl": 2, "order": [2, 3, 8, 9, 11, 16], "so": [2, 8, 10, 11, 12, 13], "retain": 2, "lead": [2, 3], "hierarch": 2, "structur": [2, 3, 8, 10, 17, 18, 19, 20, 22, 23], "where": [2, 14], "live": 2, "memori": 2, "nest": [2, 10, 11], "fashion": 2, "illustr": [2, 18, 21], "below": [2, 8, 13, 14], "displai": [2, 7], "organ": 2, "represent": [2, 10, 21], "relationship": 2, "runtim": [2, 21], "step": [2, 8, 10, 11, 12, 13], "figur": 2, "summar": [2, 21], "oper": [2, 8], "well": [2, 7, 10, 13], "what": [2, 3, 7, 10, 11, 13, 14, 21], "motor": [2, 3, 5, 8, 9, 11], "return": [2, 7, 8, 10, 11, 12, 13, 14, 16, 21], "A": [2, 3, 5, 7, 8, 9, 10, 11, 12, 13, 14, 16, 18], "dedic": 2, "tutori": [2, 10, 17, 18, 19, 20, 21, 22, 23], "here": [2, 7, 10, 13, 21], "break": 2, "down": 2, "reproduc": [2, 10, 21], "conveni": [2, 21], "power": [3, 5], "deep": [3, 5, 8], "neural": [3, 5, 8, 9, 17], "full": [3, 8, 12, 13], "implement": [3, 6, 7, 8, 9, 10, 11, 12, 13, 20, 22], "code": [3, 14], "github": [3, 7, 17, 18, 19, 20, 21, 22, 23], "watch": 3, "star": 3, "repositori": 3, "notifi": 3, "updat": [3, 7, 8, 11, 12], "releas": 3, "date": 3, "feel": [3, 7], "consult": 3, "changelog": 3, "distribut": [3, 8, 11, 14], "pypi": 3, "websit": 3, "If": [3, 7, 8, 9, 11, 12, 14, 15], "interest": 3, "collabor": 3, "get": [3, 8, 10, 11, 12, 13, 14], "touch": 3, "email": 3, "abstract": [3, 8, 14], "artifici": 3, "ann": 3, "popular": 3, "studi": 3, "control": [3, 7, 8, 9, 10, 11, 13], "movement": [3, 8, 10, 11, 12, 14, 16], "typic": [3, 6, 8, 10, 11, 13], "conjunct": [3, 11], "biomechan": [3, 11, 13, 14], "simul": [3, 7, 8, 12, 16, 20, 21], "effector": 3, "impract": 3, "1": [3, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 20, 21, 22, 23], "research": 3, "two": [3, 11, 13, 14, 16], "differ": [3, 21], "2": [3, 7, 8, 9, 10, 11, 13, 15, 16, 17, 18, 20, 21, 22, 23], "differenti": [3, 11, 12, 13], "constrain": [3, 11], "reinforc": 3, "learn": [3, 7, 10, 14], "algorithm": [3, 10], "despit": 3, "exist": [3, 8], "potenti": [3, 7, 8], "biolog": [3, 11], "relev": 3, "faster": 3, "To": [3, 11, 14, 17], "ha": [3, 7, 14, 16], "been": [3, 7], "mitig": 3, "multi": 3, "layer": [3, 4, 5, 9, 10, 14], "perceptron": 3, "approxim": [3, 11], "behaviour": [3, 7], "doe": [3, 8, 9, 10, 11, 12, 14, 15, 18], "address": 3, "remain": 3, "slow": 3, "cumbersom": 3, "process": [3, 8], "iter": [3, 15], "mani": [3, 7, 11, 12, 14, 15], "issu": [3, 7], "we": [3, 9, 10, 11, 13, 16, 17, 18], "develop": [3, 20], "open": 3, "sourc": 3, "creat": [3, 8, 9, 10, 11, 14, 17], "arbitrarili": 3, "complex": [3, 13, 18], "realist": 3, "It": [3, 8, 10, 12, 14, 20], "design": [3, 22], "meet": 3, "goal": 3, "eas": 3, "high": 3, "level": [3, 11, 13, 18], "friendli": 3, "modular": 3, "architectur": 3, "flexibl": 3, "build": [3, 8, 10, 11, 12, 13, 14, 15, 19, 22], "beyond": 3, "anaconda": 3, "librari": 3, "easi": 3, "start": [3, 7, 12, 14], "degre": [3, 11, 13, 14, 16], "freedom": [3, 11, 13, 14, 16], "planar": [3, 13, 16], "within": [3, 9, 11], "minut": 3, "desktop": 3, "therefor": [3, 8, 12, 14], "possibl": [3, 11], "framework": 3, "immedi": 3, "benefit": 3, "advanc": 3, "intellig": 3, "ai": 3, "field": 3, "through": [3, 8, 10, 11], "final": [3, 18, 23], "enabl": [3, 10], "share": 3, "own": [3, 7, 11, 22], "improv": [3, 15], "overal": 3, "hope": 3, "focu": 3, "higher": 3, "allevi": 3, "overhead": 3, "cost": [3, 11, 12], "project": 3, "provid": [3, 7, 8, 9, 11, 12, 14, 20], "standalon": 3, "readi": 3, "go": [3, 14, 17, 18], "speed": [3, 15], "up": [3, 11, 15], "progress": 3, "establish": 3, "team": 3, "concept": 3, "idea": 3, "poster": 3, "societi": 3, "dublin": 3, "ireland": 3, "sitemap": 3, "overview": [3, 21], "index": [3, 7, 9, 11], "search": 3, "page": 3, "content": [4, 12, 13], "subpackag": 4, "packag": [6, 7, 11, 15], "four": [6, 15], "submodul": 6, "seri": [6, 11], "off": 6, "word": 6, "conceptu": [6, 10, 13], "extens": [6, 10], "purpos": [6, 10, 14], "bridg": 6, "itself": [6, 9, 10, 11, 23], "achiev": 7, "refer": [7, 9, 10, 11, 12, 13], "http": [7, 9, 10], "www": [7, 10], "org": [7, 9, 10], "api_doc": 7, "tf": [7, 8, 9, 10, 14], "batchlogg": 7, "default": [7, 8, 9, 10, 11, 13, 14], "log": 7, "end": [7, 17], "epoch": 7, "batch": [7, 8, 11, 12, 14], "frequent": 7, "on_batch_end": 7, "none": [7, 8, 10, 11, 14], "on_train_begin": 7, "begin": 7, "should": [7, 8, 10, 11, 12, 13, 14, 15, 16], "onli": [7, 8, 10, 12], "mode": [7, 15], "dictionari": [7, 8, 10, 11, 12, 13, 14, 17, 22], "data": [7, 10, 16, 23], "batchwiselearningrateschedul": 7, "schedul": 7, "verbos": 7, "0": [7, 8, 9, 10, 11, 12, 13, 14, 16], "learningrateschedul": 7, "parent": [7, 8, 11, 12, 13, 14], "rate": 7, "made": [7, 11], "integ": [7, 8, 11, 12, 13, 14, 15, 16], "float": [7, 8, 9, 11, 12, 13, 14, 16], "either": [7, 11], "quiet": 7, "messag": 7, "toggl": 7, "on_epoch_begin": 7, "empti": 7, "overwrit": 7, "tensorflowfix": 7, "com": 7, "42872": 7, "As": 7, "nightli": 7, "6": [7, 11, 12, 14], "kept": 7, "backward": [7, 8, 10, 11, 13], "on_train_batch_end": [7, 10], "trainingplott": 7, "plot_freq": 7, "20": 7, "plot_n_t": 7, "100": 7, "plot_loss": 7, "true": [7, 14], "plot_trial": 7, "3": [7, 10, 14, 15, 18, 20, 23], "histori": [7, 23], "test": [7, 14, 15], "everi": [7, 8, 11], "help": 7, "monitor": 7, "session": [7, 16], "includ": [7, 9, 10, 14], "total": [7, 14, 15], "contribut": [7, 9, 14], "activ": [7, 8, 9, 12, 14], "veloc": [7, 9, 11, 13, 16], "unit": [7, 8, 9], "subplot": 7, "correspond": [7, 9, 11, 12, 14], "given": [7, 11, 12, 13, 14, 16], "indic": [7, 9, 11, 13, 14], "number": [7, 8, 11, 12, 13, 14, 15], "after": 7, "timestep": [7, 8, 9, 11, 12, 13, 14], "ignor": [7, 14], "set": [7, 8, 11, 12, 13, 14, 16], "bool": [7, 14], "time": [7, 8, 11, 12, 13, 14, 16], "keep": 7, "track": 7, "last": [7, 8], "visit": 7, "previou": 7, "even": 7, "subsequ": 7, "on_training_end": 7, "ensur": [7, 14], "interrupt": 7, "ongo": 7, "grunetwork": [8, 14], "arg": [8, 10], "kwarg": [8, 10, 11, 12, 13, 14], "gru": [8, 9], "act": 8, "dens": 8, "n_muscl": [8, 12], "k": [8, 14], "singl": [8, 9, 11, 12, 13, 14], "muscle_typ": [8, 11], "n_unit": [8, 14], "list": [8, 9, 10, 11, 12, 13, 14, 16], "per": [8, 14], "n_hidden_lay": 8, "hidden": [8, 9], "string": [8, 9, 10, 11, 12, 13, 14, 15, 16], "non": [8, 14], "linear": [8, 12], "kernel_regular": 8, "kernel": 8, "regular": [8, 9], "recurrent_regular": 8, "recurr": [8, 9], "hidden_noise_sd": 8, "deviat": [8, 11], "gaussian": [8, 11], "nois": [8, 11], "output_bias_initi": 8, "bias": 8, "e": [8, 11, 13, 14], "output_kernel_initi": 8, "input_shap": 8, "overrid": [8, 10], "need": [8, 11, 12], "creation": 8, "instanti": [8, 10], "invok": 8, "execut": 8, "discret": 8, "tensorshap": 8, "expect": 8, "forward_pass": 8, "repres": [8, 11, 16], "excit": [8, 11, 12], "get_initial_st": [8, 11, 14], "batch_siz": [8, 11, 12, 14], "int": [8, 11, 12, 13, 16], "dtype": 8, "float32": 8, "procedur": 8, "get_base_initial_st": 8, "follow": [8, 11, 12, 13, 23], "specif": [8, 11, 13, 14], "obei": [8, 14], "size": [8, 9, 11, 12, 13, 14, 16], "dimens": [8, 11, 14, 16], "get_save_config": [8, 11, 12, 13, 14], "configur": [8, 10, 11, 12, 13, 14, 15, 16, 18, 23], "get_base_config": [8, 13], "add": [8, 11, 13, 14, 16], "These": [8, 11, 12, 14], "name": [8, 9, 10, 11, 12, 13, 14], "virtual": 8, "anyth": 8, "long": 8, "abid": [8, 18], "proprioceptive_noise_sd": 8, "propriocept": [8, 11], "loop": 8, "normal": [8, 9], "center": [8, 11, 13, 14], "visual_noise_sd": 8, "random": [8, 11, 14], "visual": [8, 11, 16, 18], "n_ministep": 8, "global": 8, "5": 8, "excitatori": 8, "drive": [8, 12], "logic": [8, 10, 14], "signal": [8, 11, 12], "At": [8, 14], "veri": [8, 14], "least": [8, 14], "kei": [8, 11, 14], "map": [8, 11, 14], "convent": [8, 9], "while": [8, 11], "redund": 8, "necessari": 8, "obtain": [8, 11, 12], "inher": 8, "notimplementederror": 8, "overwritten": [8, 13], "classmethod": [8, 10], "from_config": [8, 10], "config": [8, 10], "its": [8, 9, 10, 11, 12], "revers": [8, 10], "get_config": [8, 10], "capabl": [8, 10], "connect": [8, 10], "nor": [8, 10], "set_weight": [8, 10], "entri": [8, 12, 13], "do": [8, 11, 13, 14], "ministep": 8, "By": [8, 13], "recttanh": 8, "x": [8, 9, 11, 16], "rectifi": [8, 12], "hyperbol": 8, "tangent": 8, "coupl": 9, "emploi": 9, "fed": 9, "label": [9, 14], "xdx": 9, "both": 9, "deriv": [9, 11, 12, 13, 14], "scale": [9, 12], "deriv_weight": [9, 14], "scalar": 9, "compar": [9, 10], "target_s": 9, "str": [9, 11, 12, 13, 14, 16], "reduct": 9, "auto": 9, "lossfunctionwrapp": 9, "l1": [9, 11, 13], "y": [9, 16], "xp": 9, "_": 9, "np": 9, "split": 9, "axi": [9, 16], "yp": 9, "reduce_mean": 9, "ab": 9, "clip": [9, 12, 13], "henc": 9, "extract": 9, "give": [9, 11, 14, 16], "losses_util": 9, "reductionv2": 9, "tensoflow": 9, "compoundedloss": 9, "union": [9, 11, 13, 14], "tupl": [9, 11, 13, 14], "loss_weight": [9, 14], "compounded_loss": 9, "composit": 9, "sum": 9, "subloss": 9, "constant": [9, 12], "l2activationl1musclevelindloss": 9, "max_iso_forc": 9, "activation_weight": 9, "l2_activation_muscle_vel": 9, "l2": [9, 11, 13, 14], "maximum": [9, 11, 12], "isometr": [9, 12], "dx": 9, "evalu": [9, 11, 12, 13, 23], "l2activationloss": 9, "l2_activ": 9, "l2activationmusclevelloss": 9, "l2regular": 9, "l2_regular": 9, "l2xdxactivationloss": 9, "dt": [9, 11, 12, 13], "l2_xdx_activ": 9, "da": [9, 11, 12], "calcul": [9, 11, 13, 18], "euler": [9, 11, 13], "l2xdxregular": 9, "gru_regular": 9, "positionloss": 9, "recurrentactivityregular": 9, "recurrent_weight": 9, "activity_weight": 9, "recurrent_act": 9, "f": 9, "h": 9, "accord": [9, 11, 12], "propos": 9, "sussillo": 9, "d": 9, "churchland": 9, "kaufman": 9, "et": 9, "al": 9, "find": 9, "naturalist": 9, "solut": 9, "product": 9, "nat": 9, "neurosci": 9, "18": 9, "1025": 9, "1033": 9, "2015": 9, "doi": [9, 10, 11, 12, 13], "10": [9, 10, 11, 12, 13, 16], "1038": 9, "nn": 9, "4042": 9, "fetch": 9, "distalteach": [10, 15], "abc": 10, "group": 10, "featur": 10, "propag": 10, "perfect": 10, "essenti": 10, "distal": 10, "teacher": 10, "jordan": 10, "mi": 10, "rumelhart": 10, "de": [10, 13], "supervis": 10, "cognit": 10, "scienc": 10, "1992": 10, "jul": 10, "16": 10, "307": 10, "354": 10, "1207": 10, "s15516709cog1603_1": 10, "serv": [10, 13], "placehold": 10, "introduct": [10, 17, 20, 23], "section": 10, "exampl": [10, 14, 18], "guid": 10, "custom_object": 10, "save_model": [10, 15], "path": [10, 11, 13], "file": [10, 15, 23], "absolut": 10, "without": [10, 14], "my_model_config": 10, "directori": [10, 15], "consol": [10, 15], "Not": 10, "train_step": 10, "origin": [10, 11, 12, 18], "sinc": [10, 12, 16], "alwai": [10, 11, 12], "sampl": 10, "usual": [10, 11, 12, 13, 14], "synthet": 10, "empir": 10, "mean": [10, 12, 16], "bia": 10, "callbacklist": 10, "accuraci": 10, "7": [10, 12], "alia": 10, "numer": [11, 12, 13, 18], "integr": [11, 12, 13, 18], "commun": 11, "technic": 11, "recommend": 11, "concis": 11, "strictli": 11, "equival": 11, "complianttendonarm26": 11, "0002": 11, "rigidtendonarm26": 11, "compliant": [11, 12, 20], "tendon": [11, 12, 20], "note": [11, 12, 13], "rung": [11, 13], "kutta": [11, 13], "4": [11, 13, 15, 16, 20], "sec": [11, 13, 14], "type": [11, 12, 14, 15, 18, 20, 21], "01": [11, 12], "integration_method": [11, 13], "excitation_noise_sd": 11, "proprioceptive_delai": 11, "visual_delai": 11, "pos_lower_bound": [11, 13], "pos_upper_bound": [11, 13], "vel_lower_bound": [11, 13], "vel_upper_bound": [11, 13], "specifi": [11, 13, 14], "done": [11, 13], "rk4": [11, 13], "rungekutta4": [11, 13], "kutta4": [11, 13], "amount": [11, 12, 15], "stochast": 11, "centr": [11, 14], "zero": 11, "term": 11, "drawn": [11, 14], "randomli": [11, 14], "receiv": 11, "multipl": 11, "round": 11, "match": [11, 12, 13, 14], "closest": 11, "qualifi": 11, "upper": [11, 12, 13, 14, 16], "boundari": [11, 13], "n": [11, 12, 13, 14], "element": [11, 12, 13, 14], "vector": [11, 12, 13], "have": [11, 12, 13, 16], "lower": [11, 12, 13, 14, 16], "path_fixation_bodi": [11, 13], "path_coordin": [11, 13], "fixat": [11, 13], "bodi": [11, 13], "bone": [11, 13], "point": [11, 13], "stand": 11, "worldspac": [11, 13, 14], "outsid": 11, "main": 11, "dimension": [11, 12, 13, 14, 16, 21], "2d": [11, 16], "system": [11, 12, 18], "Its": [11, 16], "alongsid": 11, "length": [11, 12, 13, 18], "next": 11, "proce": 11, "orthogon": 11, "muscle_m": 11, "counter": 11, "vari": 11, "typeerror": 11, "pertain": 11, "miss": 11, "draw_fixed_st": 11, "tile": 11, "null": 11, "draw_random_uniform_st": 11, "draw": 11, "uniform": [11, 14], "bound": [11, 12, 14], "get_geometri": 11, "joint_stat": [11, 13, 14, 16], "valueerror": [11, 14, 15], "equal": [11, 12, 13, 14], "fo": 11, "muscle_input": 11, "muscle_st": [11, 12], "geometry_st": [11, 12], "endpoint_load": [11, 13, 14], "joint_load": 11, "update_od": [11, 12, 13], "ordinari": [11, 12, 13], "equat": [11, 12, 13], "integration_step": [11, 13], "load": [11, 13, 14, 23], "endpoint": [11, 13, 14], "state_deriv": [11, 12, 13], "respect": [11, 13, 16], "joint2cartesian": [11, 13], "print_muscle_wrap": 11, "readabl": [11, 14], "format": [11, 12, 14], "setattr": [11, 12, 13], "state2target": 11, "n_timestep": [11, 12, 14, 16], "fit": [11, 14], "relupointmass24": [11, 14], "max_isometric_forc": [11, 12], "500": 11, "mass": [11, 13], "attach": [11, 13], "relumuscl": [11, 12], "corner": 11, "frame": 11, "space": [11, 13, 14, 16], "max_isometic_forc": 11, "kg": [11, 13], "pre": [11, 12, 14, 18], "lump": 11, "becaus": [11, 13], "realiti": 11, "polynomi": 11, "82": 11, "m2": [11, 13], "43": 11, "l1g": [11, 13], "135": 11, "l2g": [11, 13], "165": 11, "i1": [11, 13], "051": 11, "i2": [11, 13], "057": 11, "309": [11, 13], "333": 11, "shoulder": [11, 16], "elbow": [11, 16], "limit": [11, 14, 16], "155": 11, "come": 11, "kistemak": [11, 12, 20], "wong": [11, 12], "jd": [11, 12], "gribbl": [11, 12], "pl": [11, 12], "central": [11, 12], "nervou": [11, 12], "minim": [11, 12], "energi": [11, 12], "j": [11, 12], "neurophysiol": [11, 12], "2010": [11, 12], "dec": [11, 12], "104": [11, 12], "2985": [11, 12], "94": [11, 12], "1152": [11, 12], "jn": [11, 12], "00483": [11, 12], "epub": [11, 12], "sep": [11, 12], "8": [11, 12, 14], "pmid": [11, 12, 13], "20884757": [11, 12], "complianttendonhillmuscl": 12, "min_activ": 12, "rigidtendonhillmuscl": 12, "hill": [12, 18, 20], "unlik": 12, "formul": 12, "articl": 12, "minimum": 12, "input_dim": [12, 13], "output_dim": [12, 13], "tau_activ": 12, "015": 12, "tau_deactiv": 12, "05": [12, 14], "those": [12, 14], "regardless": 12, "n_batch": [12, 13, 16], "n_state": 12, "driven": 12, "deactiv": 12, "activation_od": 12, "descend": 12, "wrapper": [12, 13], "scructur": 12, "second": [12, 13, 15], "particular": 12, "extra": 12, "get_initial_muscle_st": 12, "directli": 12, "essenc": 12, "behav": 12, "actuat": 12, "pull": 12, "push": 12, "assum": 12, "yield": 12, "inherit": 12, "001": 12, "rigid": 12, "tendon_length": 12, "optimal_muscle_length": 12, "optim": [12, 14], "normalized_slack_muscle_length": 12, "past": [12, 13], "developp": 12, "passiv": [12, 18], "rigidtendonhillmusclethelen": 12, "thelen": [12, 20], "dg": 12, "mechan": 12, "contract": 12, "older": 12, "adult": 12, "biomech": 12, "eng": [12, 13], "2003": 12, "feb": 12, "125": 12, "70": 12, "1115": [12, 13], "1531112": 12, "12661198": 12, "pointmass": 13, "space_dim": [13, 14], "point_mass": 13, "evolv": 13, "xy": 13, "try": [13, 14], "dof": 13, "taken": 13, "dictionnari": 13, "1000": 13, "g": 13, "torqu": 13, "state_dim": 13, "clip_veloc": 13, "po": 13, "vel": 13, "exactli": 13, "move": 13, "further": 13, "top": 13, "ur": 13, "half": 13, "occasion": 13, "ident": 13, "transform": 13, "musculotendon": 13, "sherman": 13, "ma": 13, "seth": 13, "delp": 13, "sl": 13, "effect": 13, "proc": 13, "asm": 13, "tech": 13, "conf": 13, "2013": 13, "aug": 13, "detc2013": 13, "13633": 13, "25905111": 13, "pmcid": 13, "pmc4404026": 13, "part": [13, 14, 16], "n_fixation_point": 13, "across": 13, "angl": 13, "n_dof": 13, "od": 13, "two_dof_arm": 13, "864572": 13, "534315": 13, "180496": 13, "181479": 13, "013193": 13, "020062": 13, "26": 13, "graviti": 13, "inertia": 13, "corioli": 13, "viscos": 13, "centreoutreach": 14, "angular_step": 14, "15": 14, "catch_trial_perc": 14, "50": 14, "reaching_dist": 14, "start_posit": 14, "go_cue_rang": 14, "25": 14, "reach": [14, 16], "valid": 14, "out": [14, 19], "angular": 14, "deg": 14, "45": 14, "direct": 14, "percentag": 14, "catch": 14, "cue": 14, "wait": 14, "actual": 14, "anticip": 14, "item": 14, "rang": [14, 16], "window": 14, "mai": 14, "fals": [14, 16], "boolean": 14, "oppos": 14, "didder": 14, "y_true": 14, "initial_joint_st": 14, "delayedreach": 14, "delay_rang": 14, "randomtargetreach": 14, "randomtargetreachwithload": 14, "th": 14, "add_loss": 14, "assigned_output": 14, "retriev": 14, "output_nam": 14, "get_attribut": 14, "callabl": 14, "except": 14, "relat": 14, "attr": 14, "neither": 14, "get_initial_state_lay": 14, "entrypoint": 14, "get_input_dict_lay": 14, "import": 14, "rnn": 14, "cell": 14, "return_sequ": 14, "state_i": 14, "state_f": 14, "initial_st": 14, "onto": 14, "get_input_dim": 14, "get_loss": 14, "callbal": 14, "print_attribut": 14, "print_loss": 14, "set_training_param": 14, "overridden": 14, "altern": 14, "variou": [15, 16], "analys": 15, "cpu": 15, "particularli": 15, "larg": 15, "core": 15, "significantli": 15, "termin": 15, "param": 15, "animate_trajectori": 16, "joint_posit": 16, "save_anim": 16, "path_nam": 16, "arm_anim": 16, "mp4": 16, "compute_limit": 16, "margin": 16, "dataset": 16, "proport": 16, "becom": 16, "12": 16, "plot_2dof_arm_over_tim": 16, "cmap": 16, "viridi": 16, "linewidth": 16, "arm26": 16, "earlier": 16, "later": 16, "darker": 16, "brighter": 16, "color": 16, "trajectori": 16, "n_dim": 16, "line": 16, "width": 16, "segment": 16, "cart_result": 16, "earli": 16, "lighter": 16, "On": [17, 18, 19, 20, 21, 22, 23], "colab": [17, 18, 19, 20, 21, 22, 23], "ii": [17, 18, 19, 20, 21, 22, 23], "b": [17, 22], "c": [17, 22], "iii": [17, 18, 20, 21, 22, 23], "goe": [18, 19, 20, 21, 22], "scratch": 18, "look": 18, "choos": 18, "fulli": 18, "basic": [18, 23], "arm210": 18, "drift": 18, "iv": [18, 20, 21, 23], "relu": 20, "inspect": 20, "curv": 20, "v": [20, 21, 23], "carri": 21, "show": 23, "guidanc": 23, "re": 23, "analyz": 23, "vi": 23, "vii": 23}, "objects": {"": [[5, 0, 0, "-", "motornet"]], "motornet": [[6, 0, 0, "-", "nets"], [11, 0, 0, "-", "plants"], [14, 0, 0, "-", "tasks"], [15, 0, 0, "-", "utils"]], "motornet.nets": [[7, 0, 0, "-", "callbacks"], [8, 0, 0, "-", "layers"], [9, 0, 0, "-", "losses"], [10, 0, 0, "-", "models"]], "motornet.nets.callbacks": [[7, 1, 1, "", "BatchLogger"], [7, 1, 1, "", "BatchwiseLearningRateScheduler"], [7, 1, 1, "", "TensorflowFix"], [7, 1, 1, "", "TrainingPlotter"]], "motornet.nets.callbacks.BatchLogger": [[7, 2, 1, "", "on_batch_end"], [7, 2, 1, "", "on_train_begin"]], "motornet.nets.callbacks.BatchwiseLearningRateScheduler": [[7, 2, 1, "", "on_batch_end"], [7, 2, 1, "", "on_epoch_begin"]], "motornet.nets.callbacks.TensorflowFix": [[7, 2, 1, "", "on_train_batch_end"], [7, 2, 1, "", "on_train_begin"]], "motornet.nets.callbacks.TrainingPlotter": [[7, 2, 1, "", "on_batch_end"], [7, 2, 1, "", "on_train_begin"]], "motornet.nets.layers": [[8, 1, 1, "", "GRUNetwork"], [8, 1, 1, "", "Network"], [8, 3, 1, "", "recttanh"]], "motornet.nets.layers.GRUNetwork": [[8, 2, 1, "", "build"], [8, 2, 1, "", "forward_pass"], [8, 2, 1, "", "get_initial_state"], [8, 2, 1, "", "get_save_config"]], "motornet.nets.layers.Network": [[8, 2, 1, "", "call"], [8, 2, 1, "", "forward_pass"], [8, 2, 1, "", "from_config"], [8, 2, 1, "", "get_base_config"], [8, 2, 1, "", "get_base_initial_state"], [8, 2, 1, "", "get_initial_state"], [8, 2, 1, "", "get_save_config"]], "motornet.nets.losses": [[9, 1, 1, "", "ClippedPositionLoss"], [9, 1, 1, "", "CompoundedLoss"], [9, 1, 1, "", "L2ActivationL1MuscleVelIndLoss"], [9, 1, 1, "", "L2ActivationLoss"], [9, 1, 1, "", "L2ActivationMuscleVelLoss"], [9, 1, 1, "", "L2Regularizer"], [9, 1, 1, "", "L2xDxActivationLoss"], [9, 1, 1, "", "L2xDxRegularizer"], [9, 1, 1, "", "PositionLoss"], [9, 1, 1, "", "RecurrentActivityRegularizer"]], "motornet.nets.models": [[10, 1, 1, "", "DistalTeacher"], [10, 1, 1, "", "MotorNetModel"]], "motornet.nets.models.DistalTeacher": [[10, 2, 1, "", "from_config"], [10, 2, 1, "", "get_config"], [10, 2, 1, "", "save_model"], [10, 2, 1, "", "train_step"]], "motornet.plants": [[12, 0, 0, "-", "muscles"], [11, 0, 0, "-", "plants"], [13, 0, 0, "-", "skeletons"]], "motornet.plants.muscles": [[12, 1, 1, "", "CompliantTendonHillMuscle"], [12, 1, 1, "", "Muscle"], [12, 1, 1, "", "ReluMuscle"], [12, 1, 1, "", "RigidTendonHillMuscle"], [12, 1, 1, "", "RigidTendonHillMuscleThelen"]], "motornet.plants.muscles.Muscle": [[12, 2, 1, "", "activation_ode"], [12, 2, 1, "", "build"], [12, 2, 1, "", "get_initial_muscle_state"], [12, 2, 1, "", "get_save_config"], [12, 2, 1, "", "integrate"], [12, 2, 1, "", "setattr"], [12, 2, 1, "", "update_ode"]], "motornet.plants.muscles.RigidTendonHillMuscle": [[12, 2, 1, "", "build"]], "motornet.plants.muscles.RigidTendonHillMuscleThelen": [[12, 2, 1, "", "build"]], "motornet.plants.plants": [[11, 1, 1, "", "CompliantTendonArm26"], [11, 1, 1, "", "Plant"], [11, 1, 1, "", "ReluPointMass24"], [11, 1, 1, "", "RigidTendonArm26"]], "motornet.plants.plants.Plant": [[11, 2, 1, "", "add_muscle"], [11, 2, 1, "", "draw_fixed_states"], [11, 2, 1, "", "draw_random_uniform_states"], [11, 2, 1, "", "get_geometry"], [11, 2, 1, "", "get_initial_state"], [11, 2, 1, "", "get_muscle_cfg"], [11, 2, 1, "", "get_save_config"], [11, 2, 1, "", "integrate"], [11, 2, 1, "", "integration_step"], [11, 2, 1, "", "joint2cartesian"], [11, 2, 1, "", "print_muscle_wrappings"], [11, 2, 1, "", "setattr"], [11, 2, 1, "", "state2target"], [11, 2, 1, "", "update_ode"]], "motornet.plants.skeletons": [[13, 1, 1, "", "PointMass"], [13, 1, 1, "", "Skeleton"], [13, 1, 1, "", "TwoDofArm"]], "motornet.plants.skeletons.PointMass": [[13, 2, 1, "", "get_save_config"]], "motornet.plants.skeletons.Skeleton": [[13, 2, 1, "", "build"], [13, 2, 1, "", "clip_velocity"], [13, 2, 1, "", "get_base_config"], [13, 2, 1, "", "get_save_config"], [13, 2, 1, "", "integrate"], [13, 2, 1, "", "joint2cartesian"], [13, 2, 1, "", "path2cartesian"], [13, 2, 1, "", "setattr"], [13, 2, 1, "", "update_ode"]], "motornet.plants.skeletons.TwoDofArm": [[13, 2, 1, "", "get_save_config"]], "motornet.tasks": [[14, 1, 1, "", "CentreOutReach"], [14, 1, 1, "", "DelayedReach"], [14, 1, 1, "", "RandomTargetReach"], [14, 1, 1, "", "RandomTargetReachWithLoads"], [14, 1, 1, "", "Task"]], "motornet.tasks.CentreOutReach": [[14, 2, 1, "", "generate"]], "motornet.tasks.DelayedReach": [[14, 2, 1, "", "generate"]], "motornet.tasks.RandomTargetReach": [[14, 2, 1, "", "generate"]], "motornet.tasks.RandomTargetReachWithLoads": [[14, 2, 1, "", "generate"]], "motornet.tasks.Task": [[14, 2, 1, "", "add_loss"], [14, 2, 1, "", "generate"], [14, 2, 1, "", "get_attributes"], [14, 2, 1, "", "get_initial_state"], [14, 2, 1, "", "get_initial_state_layers"], [14, 2, 1, "", "get_input_dict_layers"], [14, 2, 1, "", "get_input_dim"], [14, 2, 1, "", "get_losses"], [14, 2, 1, "", "get_save_config"], [14, 2, 1, "", "print_attributes"], [14, 2, 1, "", "print_losses"], [14, 2, 1, "", "set_training_params"]], "motornet.utils": [[15, 0, 0, "-", "parallelizer"], [16, 0, 0, "-", "plotor"]], "motornet.utils.plotor": [[16, 3, 1, "", "animate_trajectory"], [16, 3, 1, "", "compute_limits"], [16, 3, 1, "", "plot_2dof_arm_over_time"], [16, 3, 1, "", "plot_pos_over_time"]]}, "objtypes": {"0": "py:module", "1": "py:class", "2": "py:method", "3": "py:function"}, "objnames": {"0": ["py", "module", "Python module"], "1": ["py", "class", "Python class"], "2": ["py", "method", "Python method"], "3": ["py", "function", "Python function"]}, "titleterms": {"changelog": 0, "develop": 0, "releas": 0, "font": 0, "size": 0, "4": 0, "version": 0, "0": 0, "1": 0, "3": 0, "2": 0, "how": [1, 20], "instal": 1, "pip": 1, "requir": 1, "anaconda": 1, "function": 2, "overview": 2, "motornet": [3, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16], "api": 3, "refer": 3, "manual": 3, "document": 3, "tutori": 3, "indic": 3, "tabl": 3, "modul": [5, 6, 11, 15], "content": [5, 6, 11, 15], "subpackag": 5, "task": [5, 14, 22], "net": [6, 7, 8, 9, 10], "callback": [6, 7], "layer": [6, 8], "loss": [6, 9, 19], "model": [6, 10], "plant": [11, 12, 13, 18], "muscl": [11, 12, 20], "skeleton": [11, 13], "util": [15, 16], "parallel": 15, "plotor": [15, 16], "build": [17, 18], "network": [17, 23], "creat": [19, 22], "custom": [19, 22], "object": 20, "work": 20, "structur": 21, "state": 21, "tensor": 21, "train": 23}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "nbsphinx": 4, "sphinx": 56}})
\ No newline at end of file
diff --git a/docs/source/documentation/changelog.md b/docs/source/documentation/changelog.md
index 4930c62..76ede36 100644
--- a/docs/source/documentation/changelog.md
+++ b/docs/source/documentation/changelog.md
@@ -13,9 +13,6 @@ module for more details.)
- The `plot_pos_over_time` function in the `mn.utils.plotor` module can now take colormaps as a keyword argument (see
documentation for details.)
-
-### Version 0.1.2
-*2022, August 6th*
- Removed a numpy.ndarray from `CenterOutReach` attributes to allow for JSON serialization when saving models.
- Added a warning in `Task` base class to inform users when their task contains a numpy.ndarray as attribute. This is