Instructions to use huyxdang/adaption_agent_memory with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- PEFT
How to use huyxdang/adaption_agent_memory with PEFT:
from peft import PeftModel from transformers import AutoModelForCausalLM base_model = AutoModelForCausalLM.from_pretrained("togethercomputer/Qwen3.5-0.8B") model = PeftModel.from_pretrained(base_model, "huyxdang/adaption_agent_memory") - Notebooks
- Google Colab
- Kaggle
Download trainer_state.json from huyxdang/adaption_agent_memory: direct link, hf CLI and curl.
- Browser
- Download file 17.7 kB
-
https://huggingface.co/huyxdang/adaption_agent_memory/resolve/main/trainer_state.json
- Command line
-
hf download hf://huyxdang/adaption_agent_memory/trainer_state.json
-
curl -L -o trainer_state.json https://huggingface.co/huyxdang/adaption_agent_memory/resolve/main/trainer_state.json
17.7 kB
| { | |
| "best_global_step": null, | |
| "best_metric": null, | |
| "best_model_checkpoint": null, | |
| "epoch": 4.0, | |
| "eval_steps": 17, | |
| "global_step": 88, | |
| "is_hyper_param_search": false, | |
| "is_local_process_zero": true, | |
| "is_world_process_zero": true, | |
| "log_history": [ | |
| { | |
| "epoch": 0.045454545454545456, | |
| "grad_norm": 2.1157734394073486, | |
| "learning_rate": 0.0, | |
| "loss": 1.005889892578125, | |
| "step": 1 | |
| }, | |
| { | |
| "epoch": 0.09090909090909091, | |
| "grad_norm": 4.412601947784424, | |
| "learning_rate": 1e-05, | |
| "loss": 1.8160552978515625, | |
| "step": 2 | |
| }, | |
| { | |
| "epoch": 0.13636363636363635, | |
| "grad_norm": 1.5948675870895386, | |
| "learning_rate": 2e-05, | |
| "loss": 0.999267578125, | |
| "step": 3 | |
| }, | |
| { | |
| "epoch": 0.18181818181818182, | |
| "grad_norm": 1.4215941429138184, | |
| "learning_rate": 3e-05, | |
| "loss": 1.501983642578125, | |
| "step": 4 | |
| }, | |
| { | |
| "epoch": 0.22727272727272727, | |
| "grad_norm": 0.7950710654258728, | |
| "learning_rate": 4e-05, | |
| "loss": 0.996612548828125, | |
| "step": 5 | |
| }, | |
| { | |
| "epoch": 0.2727272727272727, | |
| "grad_norm": 0.7334761023521423, | |
| "learning_rate": 5e-05, | |
| "loss": 1.0291748046875, | |
| "step": 6 | |
| }, | |
| { | |
| "epoch": 0.3181818181818182, | |
| "grad_norm": 0.7092056274414062, | |
| "learning_rate": 4.998388448336746e-05, | |
| "loss": 1.308746337890625, | |
| "step": 7 | |
| }, | |
| { | |
| "epoch": 0.36363636363636365, | |
| "grad_norm": 0.7157474756240845, | |
| "learning_rate": 4.993556101879217e-05, | |
| "loss": 1.397491455078125, | |
| "step": 8 | |
| }, | |
| { | |
| "epoch": 0.4090909090909091, | |
| "grad_norm": 0.5385923981666565, | |
| "learning_rate": 4.985509882917166e-05, | |
| "loss": 1.119781494140625, | |
| "step": 9 | |
| }, | |
| { | |
| "epoch": 0.45454545454545453, | |
| "grad_norm": 0.9018808007240295, | |
| "learning_rate": 4.974261317581749e-05, | |
| "loss": 1.59869384765625, | |
| "step": 10 | |
| }, | |
| { | |
| "epoch": 0.5, | |
| "grad_norm": 0.5648744702339172, | |
| "learning_rate": 4.959826519334456e-05, | |
| "loss": 1.00225830078125, | |
| "step": 11 | |
| }, | |
| { | |
| "epoch": 0.5454545454545454, | |
| "grad_norm": 0.5681160092353821, | |
| "learning_rate": 4.94222616588473e-05, | |
| "loss": 1.076324462890625, | |
| "step": 12 | |
| }, | |
| { | |
| "epoch": 0.5909090909090909, | |
| "grad_norm": 0.4146273732185364, | |
| "learning_rate": 4.92148546956935e-05, | |
| "loss": 1.24859619140625, | |
| "step": 13 | |
| }, | |
| { | |
| "epoch": 0.6363636363636364, | |
| "grad_norm": 0.45876458287239075, | |
| "learning_rate": 4.897634141235999e-05, | |
| "loss": 1.1114501953125, | |
| "step": 14 | |
| }, | |
| { | |
| "epoch": 0.6818181818181818, | |
| "grad_norm": 0.6067907214164734, | |
| "learning_rate": 4.870706347682764e-05, | |
| "loss": 1.41522216796875, | |
| "step": 15 | |
| }, | |
| { | |
| "epoch": 0.7272727272727273, | |
| "grad_norm": 0.5595985651016235, | |
| "learning_rate": 4.8407406627145223e-05, | |
| "loss": 1.4659423828125, | |
| "step": 16 | |
| }, | |
| { | |
| "epoch": 0.7727272727272727, | |
| "grad_norm": 0.44460752606391907, | |
| "learning_rate": 4.807780011886342e-05, | |
| "loss": 1.504058837890625, | |
| "step": 17 | |
| }, | |
| { | |
| "epoch": 0.8181818181818182, | |
| "grad_norm": 0.6547511219978333, | |
| "learning_rate": 4.7718716110130355e-05, | |
| "loss": 1.51690673828125, | |
| "step": 18 | |
| }, | |
| { | |
| "epoch": 0.8636363636363636, | |
| "grad_norm": 0.37663784623146057, | |
| "learning_rate": 4.73306689853296e-05, | |
| "loss": 1.4397735595703125, | |
| "step": 19 | |
| }, | |
| { | |
| "epoch": 0.9090909090909091, | |
| "grad_norm": 0.42292770743370056, | |
| "learning_rate": 4.691421461822952e-05, | |
| "loss": 1.6498565673828125, | |
| "step": 20 | |
| }, | |
| { | |
| "epoch": 0.9090909090909091, | |
| "eval_loss": 1.44781494140625, | |
| "eval_runtime": 10.839, | |
| "eval_samples_per_second": 0.738, | |
| "eval_steps_per_second": 0.092, | |
| "step": 20 | |
| }, | |
| { | |
| "epoch": 0.9545454545454546, | |
| "grad_norm": 0.4465126395225525, | |
| "learning_rate": 4.64699495756994e-05, | |
| "loss": 1.461669921875, | |
| "step": 21 | |
| }, | |
| { | |
| "epoch": 1.0, | |
| "grad_norm": 0.4709688425064087, | |
| "learning_rate": 4.599851026313323e-05, | |
| "loss": 1.371856689453125, | |
| "step": 22 | |
| }, | |
| { | |
| "epoch": 1.0454545454545454, | |
| "grad_norm": 0.298300176858902, | |
| "learning_rate": 4.550057201280503e-05, | |
| "loss": 0.905364990234375, | |
| "step": 23 | |
| }, | |
| { | |
| "epoch": 1.0909090909090908, | |
| "grad_norm": 0.3922536373138428, | |
| "learning_rate": 4.4976848116461925e-05, | |
| "loss": 1.6498794555664062, | |
| "step": 24 | |
| }, | |
| { | |
| "epoch": 1.1363636363636362, | |
| "grad_norm": 0.5086622834205627, | |
| "learning_rate": 4.442808880354058e-05, | |
| "loss": 0.90069580078125, | |
| "step": 25 | |
| }, | |
| { | |
| "epoch": 1.1818181818181819, | |
| "grad_norm": 0.37146782875061035, | |
| "learning_rate": 4.385508016647074e-05, | |
| "loss": 1.42340087890625, | |
| "step": 26 | |
| }, | |
| { | |
| "epoch": 1.2272727272727273, | |
| "grad_norm": 0.35506805777549744, | |
| "learning_rate": 4.325864303460539e-05, | |
| "loss": 0.930938720703125, | |
| "step": 27 | |
| }, | |
| { | |
| "epoch": 1.2727272727272727, | |
| "grad_norm": 0.4847773611545563, | |
| "learning_rate": 4.263963179839067e-05, | |
| "loss": 0.940673828125, | |
| "step": 28 | |
| }, | |
| { | |
| "epoch": 1.3181818181818181, | |
| "grad_norm": 0.40327075123786926, | |
| "learning_rate": 4.199893318545973e-05, | |
| "loss": 1.2469482421875, | |
| "step": 29 | |
| }, | |
| { | |
| "epoch": 1.3636363636363638, | |
| "grad_norm": 0.3953748047351837, | |
| "learning_rate": 4.1337464990403956e-05, | |
| "loss": 1.32940673828125, | |
| "step": 30 | |
| }, | |
| { | |
| "epoch": 1.4090909090909092, | |
| "grad_norm": 0.318462073802948, | |
| "learning_rate": 4.065617476004106e-05, | |
| "loss": 1.0788726806640625, | |
| "step": 31 | |
| }, | |
| { | |
| "epoch": 1.4545454545454546, | |
| "grad_norm": 0.5470213294029236, | |
| "learning_rate": 3.99560384360634e-05, | |
| "loss": 1.50225830078125, | |
| "step": 32 | |
| }, | |
| { | |
| "epoch": 1.5, | |
| "grad_norm": 0.45334795117378235, | |
| "learning_rate": 3.9238058957010904e-05, | |
| "loss": 0.941375732421875, | |
| "step": 33 | |
| }, | |
| { | |
| "epoch": 1.5454545454545454, | |
| "grad_norm": 0.44104766845703125, | |
| "learning_rate": 3.850326482157125e-05, | |
| "loss": 1.011871337890625, | |
| "step": 34 | |
| }, | |
| { | |
| "epoch": 1.5909090909090908, | |
| "grad_norm": 0.3063710033893585, | |
| "learning_rate": 3.775270861526544e-05, | |
| "loss": 1.217041015625, | |
| "step": 35 | |
| }, | |
| { | |
| "epoch": 1.6363636363636362, | |
| "grad_norm": 0.3747502565383911, | |
| "learning_rate": 3.698746550262914e-05, | |
| "loss": 1.069183349609375, | |
| "step": 36 | |
| }, | |
| { | |
| "epoch": 1.6818181818181817, | |
| "grad_norm": 0.47850826382637024, | |
| "learning_rate": 3.620863168704989e-05, | |
| "loss": 1.351593017578125, | |
| "step": 37 | |
| }, | |
| { | |
| "epoch": 1.6818181818181817, | |
| "eval_loss": 1.4315185546875, | |
| "eval_runtime": 1.4115, | |
| "eval_samples_per_second": 5.668, | |
| "eval_steps_per_second": 0.708, | |
| "step": 37 | |
| }, | |
| { | |
| "epoch": 1.7272727272727273, | |
| "grad_norm": 0.4339732229709625, | |
| "learning_rate": 3.5417322840466244e-05, | |
| "loss": 1.411956787109375, | |
| "step": 38 | |
| }, | |
| { | |
| "epoch": 1.7727272727272727, | |
| "grad_norm": 0.3840457499027252, | |
| "learning_rate": 3.461467250517854e-05, | |
| "loss": 1.46697998046875, | |
| "step": 39 | |
| }, | |
| { | |
| "epoch": 1.8181818181818183, | |
| "grad_norm": 0.5230147242546082, | |
| "learning_rate": 3.380183047006041e-05, | |
| "loss": 1.4490966796875, | |
| "step": 40 | |
| }, | |
| { | |
| "epoch": 1.8636363636363638, | |
| "grad_norm": 0.32547539472579956, | |
| "learning_rate": 3.2979961123497315e-05, | |
| "loss": 1.411407470703125, | |
| "step": 41 | |
| }, | |
| { | |
| "epoch": 1.9090909090909092, | |
| "grad_norm": 0.3284133970737457, | |
| "learning_rate": 3.215024178541144e-05, | |
| "loss": 1.6241302490234375, | |
| "step": 42 | |
| }, | |
| { | |
| "epoch": 1.9545454545454546, | |
| "grad_norm": 0.39169490337371826, | |
| "learning_rate": 3.131386102076218e-05, | |
| "loss": 1.42608642578125, | |
| "step": 43 | |
| }, | |
| { | |
| "epoch": 2.0, | |
| "grad_norm": 0.4425736367702484, | |
| "learning_rate": 3.0472016936938308e-05, | |
| "loss": 1.312286376953125, | |
| "step": 44 | |
| }, | |
| { | |
| "epoch": 2.0454545454545454, | |
| "grad_norm": 0.28853631019592285, | |
| "learning_rate": 2.9625915467480707e-05, | |
| "loss": 0.865966796875, | |
| "step": 45 | |
| }, | |
| { | |
| "epoch": 2.090909090909091, | |
| "grad_norm": 0.33344411849975586, | |
| "learning_rate": 2.877676864459417e-05, | |
| "loss": 1.62078857421875, | |
| "step": 46 | |
| }, | |
| { | |
| "epoch": 2.1363636363636362, | |
| "grad_norm": 0.4613015949726105, | |
| "learning_rate": 2.7925792862922927e-05, | |
| "loss": 0.860260009765625, | |
| "step": 47 | |
| }, | |
| { | |
| "epoch": 2.1818181818181817, | |
| "grad_norm": 0.336119145154953, | |
| "learning_rate": 2.7074207137077078e-05, | |
| "loss": 1.396728515625, | |
| "step": 48 | |
| }, | |
| { | |
| "epoch": 2.227272727272727, | |
| "grad_norm": 0.3368203938007355, | |
| "learning_rate": 2.6223231355405837e-05, | |
| "loss": 0.909912109375, | |
| "step": 49 | |
| }, | |
| { | |
| "epoch": 2.2727272727272725, | |
| "grad_norm": 0.46153724193573, | |
| "learning_rate": 2.5374084532519298e-05, | |
| "loss": 0.900390625, | |
| "step": 50 | |
| }, | |
| { | |
| "epoch": 2.3181818181818183, | |
| "grad_norm": 0.3795020878314972, | |
| "learning_rate": 2.4527983063061704e-05, | |
| "loss": 1.22430419921875, | |
| "step": 51 | |
| }, | |
| { | |
| "epoch": 2.3636363636363638, | |
| "grad_norm": 0.3769131898880005, | |
| "learning_rate": 2.3686138979237827e-05, | |
| "loss": 1.30157470703125, | |
| "step": 52 | |
| }, | |
| { | |
| "epoch": 2.409090909090909, | |
| "grad_norm": 0.31667038798332214, | |
| "learning_rate": 2.2849758214588558e-05, | |
| "loss": 1.0620880126953125, | |
| "step": 53 | |
| }, | |
| { | |
| "epoch": 2.4545454545454546, | |
| "grad_norm": 0.5120024681091309, | |
| "learning_rate": 2.2020038876502687e-05, | |
| "loss": 1.457000732421875, | |
| "step": 54 | |
| }, | |
| { | |
| "epoch": 2.4545454545454546, | |
| "eval_loss": 1.42132568359375, | |
| "eval_runtime": 1.4097, | |
| "eval_samples_per_second": 5.675, | |
| "eval_steps_per_second": 0.709, | |
| "step": 54 | |
| }, | |
| { | |
| "epoch": 2.5, | |
| "grad_norm": 0.44849491119384766, | |
| "learning_rate": 2.1198169529939592e-05, | |
| "loss": 0.9102783203125, | |
| "step": 55 | |
| }, | |
| { | |
| "epoch": 2.5454545454545454, | |
| "grad_norm": 0.42799195647239685, | |
| "learning_rate": 2.038532749482146e-05, | |
| "loss": 0.979736328125, | |
| "step": 56 | |
| }, | |
| { | |
| "epoch": 2.590909090909091, | |
| "grad_norm": 0.29272153973579407, | |
| "learning_rate": 1.9582677159533758e-05, | |
| "loss": 1.2034454345703125, | |
| "step": 57 | |
| }, | |
| { | |
| "epoch": 2.6363636363636362, | |
| "grad_norm": 0.36331531405448914, | |
| "learning_rate": 1.8791368312950112e-05, | |
| "loss": 1.050048828125, | |
| "step": 58 | |
| }, | |
| { | |
| "epoch": 2.6818181818181817, | |
| "grad_norm": 0.48127487301826477, | |
| "learning_rate": 1.8012534497370866e-05, | |
| "loss": 1.32159423828125, | |
| "step": 59 | |
| }, | |
| { | |
| "epoch": 2.7272727272727275, | |
| "grad_norm": 0.43873074650764465, | |
| "learning_rate": 1.724729138473457e-05, | |
| "loss": 1.38580322265625, | |
| "step": 60 | |
| }, | |
| { | |
| "epoch": 2.7727272727272725, | |
| "grad_norm": 0.387248694896698, | |
| "learning_rate": 1.6496735178428754e-05, | |
| "loss": 1.44134521484375, | |
| "step": 61 | |
| }, | |
| { | |
| "epoch": 2.8181818181818183, | |
| "grad_norm": 0.5109155774116516, | |
| "learning_rate": 1.5761941042989102e-05, | |
| "loss": 1.420166015625, | |
| "step": 62 | |
| }, | |
| { | |
| "epoch": 2.8636363636363638, | |
| "grad_norm": 0.3367740511894226, | |
| "learning_rate": 1.5043961563936598e-05, | |
| "loss": 1.38885498046875, | |
| "step": 63 | |
| }, | |
| { | |
| "epoch": 2.909090909090909, | |
| "grad_norm": 0.3440821170806885, | |
| "learning_rate": 1.4343825239958942e-05, | |
| "loss": 1.601806640625, | |
| "step": 64 | |
| }, | |
| { | |
| "epoch": 2.9545454545454546, | |
| "grad_norm": 0.4035175144672394, | |
| "learning_rate": 1.3662535009596046e-05, | |
| "loss": 1.40093994140625, | |
| "step": 65 | |
| }, | |
| { | |
| "epoch": 3.0, | |
| "grad_norm": 0.44624653458595276, | |
| "learning_rate": 1.3001066814540269e-05, | |
| "loss": 1.27447509765625, | |
| "step": 66 | |
| }, | |
| { | |
| "epoch": 3.0454545454545454, | |
| "grad_norm": 0.2926204800605774, | |
| "learning_rate": 1.2360368201609327e-05, | |
| "loss": 0.8464508056640625, | |
| "step": 67 | |
| }, | |
| { | |
| "epoch": 3.090909090909091, | |
| "grad_norm": 0.34034109115600586, | |
| "learning_rate": 1.1741356965394613e-05, | |
| "loss": 1.6083450317382812, | |
| "step": 68 | |
| }, | |
| { | |
| "epoch": 3.1363636363636362, | |
| "grad_norm": 0.46246662735939026, | |
| "learning_rate": 1.1144919833529266e-05, | |
| "loss": 0.840179443359375, | |
| "step": 69 | |
| }, | |
| { | |
| "epoch": 3.1818181818181817, | |
| "grad_norm": 0.34258928894996643, | |
| "learning_rate": 1.0571911196459422e-05, | |
| "loss": 1.3781280517578125, | |
| "step": 70 | |
| }, | |
| { | |
| "epoch": 3.227272727272727, | |
| "grad_norm": 0.3380149304866791, | |
| "learning_rate": 1.002315188353808e-05, | |
| "loss": 0.895111083984375, | |
| "step": 71 | |
| }, | |
| { | |
| "epoch": 3.227272727272727, | |
| "eval_loss": 1.42022705078125, | |
| "eval_runtime": 1.4123, | |
| "eval_samples_per_second": 5.665, | |
| "eval_steps_per_second": 0.708, | |
| "step": 71 | |
| }, | |
| { | |
| "epoch": 3.2727272727272725, | |
| "grad_norm": 0.4633515477180481, | |
| "learning_rate": 9.499427987194975e-06, | |
| "loss": 0.880889892578125, | |
| "step": 72 | |
| }, | |
| { | |
| "epoch": 3.3181818181818183, | |
| "grad_norm": 0.3759777843952179, | |
| "learning_rate": 9.001489736866775e-06, | |
| "loss": 1.20745849609375, | |
| "step": 73 | |
| }, | |
| { | |
| "epoch": 3.3636363636363638, | |
| "grad_norm": 0.37411433458328247, | |
| "learning_rate": 8.530050424300606e-06, | |
| "loss": 1.2868499755859375, | |
| "step": 74 | |
| }, | |
| { | |
| "epoch": 3.409090909090909, | |
| "grad_norm": 0.31834152340888977, | |
| "learning_rate": 8.085785381770486e-06, | |
| "loss": 1.053863525390625, | |
| "step": 75 | |
| }, | |
| { | |
| "epoch": 3.4545454545454546, | |
| "grad_norm": 0.5154919028282166, | |
| "learning_rate": 7.669331014670402e-06, | |
| "loss": 1.43865966796875, | |
| "step": 76 | |
| }, | |
| { | |
| "epoch": 3.5, | |
| "grad_norm": 0.4551151692867279, | |
| "learning_rate": 7.281283889869656e-06, | |
| "loss": 0.895416259765625, | |
| "step": 77 | |
| }, | |
| { | |
| "epoch": 3.5454545454545454, | |
| "grad_norm": 0.4267372190952301, | |
| "learning_rate": 6.922199881136588e-06, | |
| "loss": 0.9682769775390625, | |
| "step": 78 | |
| }, | |
| { | |
| "epoch": 3.590909090909091, | |
| "grad_norm": 0.2877237796783447, | |
| "learning_rate": 6.592593372854785e-06, | |
| "loss": 1.1962738037109375, | |
| "step": 79 | |
| }, | |
| { | |
| "epoch": 3.6363636363636362, | |
| "grad_norm": 0.35726508498191833, | |
| "learning_rate": 6.292936523172366e-06, | |
| "loss": 1.04071044921875, | |
| "step": 80 | |
| }, | |
| { | |
| "epoch": 3.6818181818181817, | |
| "grad_norm": 0.48686549067497253, | |
| "learning_rate": 6.023658587640011e-06, | |
| "loss": 1.302581787109375, | |
| "step": 81 | |
| }, | |
| { | |
| "epoch": 3.7272727272727275, | |
| "grad_norm": 0.4386521577835083, | |
| "learning_rate": 5.785145304306501e-06, | |
| "loss": 1.37298583984375, | |
| "step": 82 | |
| }, | |
| { | |
| "epoch": 3.7727272727272725, | |
| "grad_norm": 0.3800688087940216, | |
| "learning_rate": 5.577738341152701e-06, | |
| "loss": 1.432861328125, | |
| "step": 83 | |
| }, | |
| { | |
| "epoch": 3.8181818181818183, | |
| "grad_norm": 0.5085907578468323, | |
| "learning_rate": 5.401734806655442e-06, | |
| "loss": 1.40252685546875, | |
| "step": 84 | |
| }, | |
| { | |
| "epoch": 3.8636363636363638, | |
| "grad_norm": 0.3364790976047516, | |
| "learning_rate": 5.257386824182509e-06, | |
| "loss": 1.38653564453125, | |
| "step": 85 | |
| }, | |
| { | |
| "epoch": 3.909090909090909, | |
| "grad_norm": 0.33628761768341064, | |
| "learning_rate": 5.144901170828339e-06, | |
| "loss": 1.5935516357421875, | |
| "step": 86 | |
| }, | |
| { | |
| "epoch": 3.9545454545454546, | |
| "grad_norm": 0.4055577516555786, | |
| "learning_rate": 5.06443898120783e-06, | |
| "loss": 1.396575927734375, | |
| "step": 87 | |
| }, | |
| { | |
| "epoch": 4.0, | |
| "grad_norm": 0.4462212920188904, | |
| "learning_rate": 5.016115516632543e-06, | |
| "loss": 1.256683349609375, | |
| "step": 88 | |
| }, | |
| { | |
| "epoch": 4.0, | |
| "eval_loss": 1.4200439453125, | |
| "eval_runtime": 1.4089, | |
| "eval_samples_per_second": 5.678, | |
| "eval_steps_per_second": 0.71, | |
| "step": 88 | |
| } | |
| ], | |
| "logging_steps": 1.0, | |
| "max_steps": 88, | |
| "num_input_tokens_seen": 0, | |
| "num_train_epochs": 4, | |
| "save_steps": 0, | |
| "stateful_callbacks": { | |
| "TrainerControl": { | |
| "args": { | |
| "should_epoch_stop": false, | |
| "should_evaluate": false, | |
| "should_log": false, | |
| "should_save": true, | |
| "should_training_stop": true | |
| }, | |
| "attributes": {} | |
| } | |
| }, | |
| "total_flos": 3.363583064969052e+17, | |
| "train_batch_size": 1, | |
| "trial_name": null, | |
| "trial_params": null | |
| } | |