Changelogs
1.6 - Mar 8th, 2024
Cli:
Added
toPdf
,lookupRange
,branch
Added optional delay to
intercept
Added
iterDelay
Added
toDist
,toAngle
,idxsToNdArray
,toYaml
,toMedian
Added daemon mode to
cmd
Added module
kcv
, focusing on opencv aruco markers detectionAdded proper pandas support to most cli
Added support for raw row ingestion to
toCsv
Added powerful
nparray | (~aS(lambda x,y: x+y)).all(3)
array optimization strategyAdded convenience methods to
s3
and friends. Also addedlsext.Redis
Added JS transpiler functions to matplotlib colormaps
Generic:
Added monkey patched methods
os.netstat()
andos.killPort()
Added
dollar()
Added
kcom
for external hardware communications, withGsm
andHost
Added monkey-patched method
torch.transpose_axes()
to match numpy’s signatureAdded monkey-patched method
plt.worldmap()
to quickly plot out a world mapAdded monkey-patched method
html.b64escape()
to provide a more robust html escaping where JS is availableAdded monkey-patched method
pandas.DataFrame.newColName()
Added module
kop
for optics simulationAdded module
zircon
for browser automation
1.5 - Jan 6th, 2024
Cli:
Added s3 compatibility with
ls()
andcat()
atk1lib.cli.lsext
Added
toUnix
,toLinks
,toArgmin
,toArgmax
,toMovingAvg
,toCm
Added
batchedTrigger
,latch
, aliasinsId
Added
clamp
Added
unpretty
Added
post
Added
utils.deref.js()
to transpile any data (not functions) into JSRemoved
structural.expandE
, because it’s so nicheAdded JS transpiler functionality to generate JS code automatically from clis
Added module
kjs
in support for the JS transpilerAdded module
kgv
to quickly plot graphviz plotsAdded tail() optimization for
catPickle
Generic:
Added websocket client and server support at
kws
Added logging integration with https://logs.mlexps.com using :meth`~k1lib.log`
Added module
kast
for advanced abstract syntax tree manipulation in support for the JS transpilerAdded
resolve()
to resolve coroutines everywhereAdded
serve.json()
,serve.date()
,serve.serialized()
,serve.apiKey()
and souped upserve
a littleAdded
serpent
, a lua serialization moduleAdded formatting function
rmAnsi()
1.4 - June 30th, 2023
Cli:
Added ability for an existing cli to join with a function that’s not a cli transparently. Meaning this is now possible:
3 | (iden() | (lambda x: x**4))
Accelerated
balanceFolder()
Accelerated
repeat
,repeatFrom
,joinStreams
andunique
for array typesAdded library-wide optimization that allows
np.random.randn(3, 4, 5, 6) | item().all() | shape() == (3, 5, 6)
to operate on the array directly and not be broken up by.all()
Removed
structural.accumulate
andstructural.indexTable
, as it can be done usinggroupBy
and it’s not used enoughAdded
sketch
,syncStepper
Added alias
T
Added Cython support and cpu limit settings option for
applyCl
Added full distribution mode to
intersection
Added builtin ML models support:
embed
,complete
,kmeans
,tsne
andbloom
Model operations are also optimized to batch things together automaticallyAdded new way to deal with infinite iterators generated by
repeat
and friendsAdded multiple table pretty-format mode to
pretty
Removed
kcsv
, because it’s ridiculous to have a single short method in a big module and it’s not intuitive. Replaced that withtoCsv
Added
ktree
for dealing with tree structuresAdded
k1lib.cli.lsext
, for ls’s custom datatypes (“ls extensions”), particularly MySQL, PostgreSQL and SQLiteAdded robust Actor model for
applyCl
.Added unsort mode to
sort
Added
roll
,batchify()
Added
k1lib.cli.kapi
to use ML apis published on mlexps.comAdded
k1lib.selen
to extract main content of a webpage using Selenium
Generic:
Added
cron()
,k1lib.viz.PDF
1.3 - May 26th, 2023
Cli:
Revamped docs a lot
Added
applyCl
to execute functions across an entire clusterAuto get representation if not string in
grep
.Added aliases
map_
,filter_
andflatten
Added string execution
3 | aS("x+2")
capability to all clisAdded
toHtml
to quickly convert PIL image to html tagAccelerated
filt
for array types even moreFixed
cut()[2:-2]
edge caseAdded demiliter-splitting mode to
toDict
Added
nb.execute.rightAway()
,toAscii()
,backup
,kzip
andkunzip
,resume()
Added
modifier.applyMp.shared()
to easily share memory between processesAccelerated
cat()
usingk1a
if sB and eB are specifiedAdded multi-column mode to
apply
Removed
inp.curl()
because you can docat("http://example.com")
directlyAdded array mode and
retries
parameter totryout
Allowed building pipelines with normal classes that only define
__ror__
but not subclassBaseCli
Generic:
Revamped
serve
a little, adding a more robust type systemAdded more default imports like ray and pyarrow
Added
row()
,col()
,pre()
andh()
to quickly build html stringsAdded
capturePlt()
to capture matplotlib plotsAdded formatting functions
fromSize()
andcolors()
1.2 - Feb 7th, 2023
Cli:
Added newPoolEvery mode to
applyMp
Added
walk
,tryout
,splitSeek
,inp.cat.pickle()
.Added PIL image mode to
size
Added chemical structure mode to
toPIL
Added read speed profiler to
cat()
Added table mode to
plotImgs
Removed
output.split
, because it’s horribly inefficient. UsesplitSeek
instead.Added argument expand mode to
applyMp
.Added column mode to
intersection
and added None column mode tounion
Simplified
insert
Accelerated
filt
,cut
,joinStreams
andrandomize
for array typesAdded complex yielding functionality to
repeatF
.Added automatic error checking for
filt
.Added padding option to
window
Added probability weighting mode to
joinStreamsRandom
Fixed
forbiddenfruit
or-patching ofndarray
,dict
,pandas.core.series.Series
andpandas.core.frame.DataFrame
Generic:
Added
ConstantPad
,ToggleImage
,dep()
andticks()
.Added more features to
Carousel
Changed
captureStdout()
so that it can capture C library’s output and can capture stderrAdded
p5
module for quick Processing-like image manipulationDeveloped
k1ui
module a lot further
1.1 - Oct 3rd, 2022
Cli:
Added dictionary mode, with table name to
tables()
Added
records()
,toGray
,plotImgs
,toBytes
,indexTable
,splitC
k1a speedups:
cat
Fixed strange bug in
applyMp
that happens between PyTorch and multiprocessingAdded tensor/bytes/figure to image feature to
toPIL()
Added image saving mode to
file()
Added separator mode to
oneHot
Removed
conv.toStr
,conv.toSet
,conv.toIter
,conv.toBin
,conv.toIdx
,conv.toDictF
,modifier.applySerial
because they’re kinda meaningless and redundant.Added bytes mode chunking to
cat
Removed module
k1lib.cli.others
as it’s pretty useless
Generic:
Added
pushNotification()
,fmt.throughput()
Removed
clearLine()
,close()
,textToHtml()
as they are quite nicheMoved
k1lib.sameStorage()
totorch.sameStorage()
Monkey patched
pandas.core.frame.DataFrame.table()
,builtins.str.splitCamel
Added intersection operation to
Domain
Removed library’s PyTorch dependency, so that it can be lightweight enough to be used inside containers
Deep learning:
Added estimated time remaining and throughput estimations to
ProgressBar
Removed module
k1lib.kdata
, as that provides no value
1.0 - Aug 9th, 2022
Cli:
Removed
conv.toNumpy
, astoList() | aS(np.array)
does the same thingAdded fill mode to
lookup
Changed
tee
style to be more naturalRemoved
utils.headerIdx
, asinsertIdColumn()
roughly does the same thingRemoved
init.manyToMany
, replaced withapply
to simplify thingsRemoved unstable
op
in
feature and added combined compare ops to itAdded bounds comparison to
op
, thus removedfilt.inRange
Added
every
mode totee
.Simplified
insertColumn
Added
oneHot
.Restructured expand argument feature in
applySerial
Added
cif
moduleRemoved
entrez
module, as it doesn’t add much valueSimplified
file
by removing explicit text/byte mode param
LLVM:
Added LLVM compiler/optimizer system to cli.
Added
typehint
andoptimizations
modules
Generic:
Added library k1a to speed up certain parts of the main library by compiling things down to C.
Added k1ui support within k1lib. It’s a Java program that can communicate over the network and provides apis to manipulate mouse/keyboard and screens.
DL:
Added callback
limits.CancelOnOverfit
0.17 - Jul 15th, 2022
Cli:
Accelerated
head
for all sliceable typesAdd fractional mode to
head
Added expanded arguments mode to
apply
Added column mode to
sortF
Added
gb.feats.root()
,gb.feats.tags()
Removed
gb.feats.tag()
, usegb.feats.tags()
insteadAdded predicate mode to
grep
Added
dictFields
Accelerated
groupBy
significantlyRemoved
collate()
, as there’s no use for itAccelerated
shape
, thus removingconv.lengths
andconv.toLens
asshape(0).all()
is just as good
0.16 - Jun 28th, 2022
Cli:
Accelerated
head
if input’s atorch.Tensor
ornp.ndarray
.Renamed
joinList
toinsert
, cause that’s more intuitiveRemoved
structural.insertRow
, asinsertRow(1, 2)
can be achieved using~insert(1, 2)
Souped up
insertColumn
Added column mode in
grep
.Added JIT compilation for
op
Added alias
parallel
andtoLens
Added accelerated mode to
cat()
Grouped
to__
clis into the moduleconv
.Removed redundant
toType
andidentity
0.15 - Mar 22nd, 2022
Generic:
Patched
numpy.ndarray
’s__or__
method to work better with cli toolsAdded a few mathematical and physics constants in
k1lib.imports
Added
selector.ModuleSelector.cutOff()
Renamed
k1lib.integrate()
tok1lib.integral()
, to avoid conflict with existing cliAdded
sameStorage()
Cli:
Moved
k1lib.tab()
toutils.tab()
.Added
groupBy
,disassemble
,toProd
Added
mode
option totoFloat
andtoInt
Accelerated
toFloat
,toInt
,batched
andsmooth
if it’s atorch.Tensor
ornp.ndarray
0.14 - May 1st, 2022
Generic:
Added
OnProgress
callback
Cli:
Changed implementation of
rows
. Should be much more stable and perdictable than the last versionFixed
transpose
so that it works efficiently with numpy arraysFixed
splitW
so that it includes dangling elements at the endRevamped
k1lib.cli.kxml
heavilyAdded
structural.count.join()
, to join multiple count results togetherAdded aliases
toImg
,aS
Added
toRgb
andtoRgba
.Added
clipboard
and its dependency requirement.Fixed bug in
accumulate
.Removed
modifier.replace()
andmodifier.remove()
, as those can be done byop
just fine.Added seed option in
randomize
Added
window
.
0.13 - Mar 23rd, 2022
Generic:
Added
pValue()
.captureStdout()
now returns aWrapper
Added
attrContext()
,MovingAvg
Monkey patched
animate()
Added mechanism to quickly insert a
Callback
inCallbacks.add()
Cli:
Added support for
filt(4 in op())
as extension forfilt.contains()
.Added support for
filt(op() in [1, 2, 3])
as extension forfilt.inSet()
Removed
filt.isFile()
, asfilt(os.path.isfile)
does the same thing.Added JIT basics. Just a stub feature for now.
Added multidimensional option to
joinStreams
.Added pipe input mode to
sam.cat()
.Added control flow blocking option to
inp.cmd
.Added
unpack
param toapplySerial
.Renamed
structural.splitList()
tosplitW()
Added
modifier.stagger.tv()
Replaced
k1lib.smooth()
withutils.smooth()
with a simpler impl
0.12 - Dec 1st, 2021
Generic:
Disallow adding new settings accidentally when using
context()
.
Cli:
Fixed
cmd
piping mechanism into each other.Added
quiet
setting, used bycmd
.Made
columns
more robust so that it can deal with missing elements and longer rows below.Added operator
-
tofilt
for extra intuitiveness.6Moved
sam.quality
tobio.quality()
, and addedcli.bio.phred
,cli.sam.header
settings.Moved setting
cli.oboFile
tocli.bio.go
, andcli.lookupImgs
tocli.bio.lookupImgs
.Added
fill
param toitem
.Optimizes higher order operations quite a bit, and added setting
cli.atomic
.Renamed
init.manyToManySpecific
toinit.mtmS
, and added methodf()
.Added
fill()
andwrap()
totranspose()
.Revamped how
cmd
works, allowed real time output yielding, added bytes mode and option on how to return stdout and stderr.
0.11 - Nov 24th, 2021
DL:
Added
Settings
, and the centralizedsettings
for the entire library. As a consequence, movedk1lib.cli.cliSettings
tosettings
under name “cli”.Added
TrainOnly
,ValidOnly
.Removed “pause” concept from
Callback
.Patched
torch.Tensor.positionalEncode()
, and removed procedural version (k1lib.positionalEncode()
).Added
MultiheadAttention
.
Cli:
Added multidimensional mode to
transpose
.Changed param position of
deref
so that it’s more convenient.Moved
inp.toPIL
toutils.toPIL
, to be more consistent.Added
nb
. As a consequence, removednbCells()
andexecuteNb()
.Added temporary file and append features to
file()
.Added immediate resolve option to
cmd
.Added
N
option (max sections) and changedtill()
mechanics ingrep
. Also addedsep
option and as a consequence, removedgrepToTable
.
0.10 - Nov 17th, 2021
DL:
Added
nbCells()
,timer()
Changed
Absorber
methods so that it won’t use special words likeint
,float
,len
,str
and addedab_contains()
andab_fastF()
.Revamped lots of Callbacks docs
Renamed
CaptureStdout
tocaptureStdout
, to match context manager’s styles.
Cli:
Added
utilization
parameter toapplyMp
.Added
fastF()
Added tensor mode to
mask
.Added
filt
andapply
modes with columns totrace
.Made
deref
so that it ignores dictionaries.Added some compatibility with numpy arrays across clis.
Added
cacheLimit
parameter toapply
and as a consequence, removedapplyCached
.Added
toType
andapplyTh
.Added
bs
parameter toapplyMp
and as a consequence, removedapplyMpBatched()
.
0.9 - Mov 14th, 2021
DL:
Added
scaleSvg()
.Added
prefix
option toAutoIncrement
.
Cli:
Added
kwargs
argument tomodifier.applyMpBatched()
.Added alias
iden
.Added
trace()
mechanism, with accompanying tutorial.Remove
shape
’s tensor special caseAdded
applySerial
.Added
inf
andcontext
tocliSettings
.Fixed bug where
"abc" | deref()
will actually split the string into characters.Terminates pool in
applyMp
if is keyboard interrupted, and in general made it much more robust.Stops
deref
early if encounteredyieldSentinel
Optimizes
op
even further, thus removingisValue()
, asfilt(op() == value)
does the same thing.
0.8 - Nov 7th, 2021
DL:
Exposed
k1lib.viz
automatically, and improvemask()
so that it smoothes out highlighted regions.Added
perlin3d()
.Monkey patched
march()
,surface()
,k3d()
,loglinspace()
,point()
,line()
,plane()
,aspect()
.Renamed
append()
toadd()
.Removed
with-
semantics forCallback()
. UseCbs
instead.Changed
__contains__()
so that it handles*
differently.
Cli:
0.7 - Nov 3rd, 2021
DL:
Added
metab
as extra metadata from dataloaders toLearner
in the core training loop and modifiedRecorder
to return it if available.Added
n
option toAutoIncrement
.Added
mask()
.Removed
k1lib.stats()
, replaced it withtorch.Tensor.stats()
directlyAdded
torch.Tensor.hasInfs()
Made
LossNLLCross
integrates withAccF
instead.Made
AccF
integrates withConfusionMatrix
.Made
ConfusionMatrix
resilient against nans and infs, and fixed norm strategy (tensor rows divide by max rows, instead of tensor columns divide by max rows, like before).
Cli:
Added
mask
,unsqueeze()
.Made
op
compatible with lots of other cli tools, so you can do stuff likefilt(op() > 3, 1)
.Removed
split
, asop().split().all() | joinStreams()
does the same thing. This is longer, so I kinda want to put it back in, but the name is incredibly oxymoronic.Removed
listToTable()
and its aliastableFromList()
, as they are too simple, and the newunsqueeze(1)
does the same thing.Removed
args
option inapplyMp
, as it feels clunky.Removed
cats
ascat().all()
does the same job.Sped up
op
to have roughly same performance asapply
. As a consequence, removed [lstrip
,rstrip
,strip
,upper
,lower
] clis as stuff likeop().upper().all()
does the same and I want to simplify the collection of cli tools.Completely removed
k1lib.cli.ctx
module, as the performance sacrifices are too much, and it doesn’t add a lot of useful features.Renamed
utils.to1Str
tojoin
as that is more intuitive.Removed
structural.table
, asop().split().all()
does the same thing
0.6 - Oct 30th, 2021
DL:
Added __module__ impersonation for
wrapMod
.Renamed
LossLambda
toLossF
Renamed
torch.nn.Module.preserveDevice()
totorch.nn.Module.deviceContext()
and add preserve buffers capability.Added
torch.nn.Module.gradContext()
.
k1lib.selector.ModuleSelector
:
Renamed
filter()
topreprocess()
.Removed
selected()
, as__call__()
does the same thing and is more intuitiveAdded
prop
option tonamed_children()
andchildren()
.Removed callback
Frozen
asfreeze()
andunfreeze()
does the job and is much more robust.Added
freeze()
andunfreeze()
Removed
copy()
, as you can just grab another selector straight from the model real quick.Removed
parameters()
, as you can always access the associatedtorch.nn.Module
inside and get params from there.
Cli:
0.5 - Oct 27th, 2021
DL:
Renamed
k1lib.format
tok1lib.fmt
, and exposed it automatically.Added
sizeOf()
Exposed
selector
automatically.Deleted
k1lib.website
Fixed infinity elements in
landscape.Landscape
’s plots.
Cli:
Added chained mode to
item
Fixed ignoreTensor mechanic in
deref
Added prefetch mode in
applyMp
Added
applyMpBatched
that executes lots of transformations in a single job.Added
clearPools()
andpools()
.Added
activeSamples
.Removed aliases
splitColumns
andjoinColumns
.Removed
stitch
, asto1Str().all()
does the same thing.
0.4 - Oct 23rd, 2021
This update moves things around a lot. The actual coding experience stays the same, but a lot of links < 0.4 will be broken in 0.4 docs. Go to 0.3 docs if you wish to follow links.
Molecule (k1lib.mo
):
Added close coulomb force calculations to simulator to make it more realistic (cyclohexane chair config possible now!)
Added optional Hydrogen viewing to various functions in
mo
Fixed parsing bug where it doesn’t recognize “3-methyl” group in “3-methylpentane”.
DL:
Don’t let
AutoIncrement
’svalue
property to auto increment internal value.Removed
CyclicRandomSampler
, asrange(n) | repeatFrom() | randomize(n)`
does the same thing.Removed
FunctionDataset
, added simplerFunctionData
as replacement.Removed
DataLoader
,Data
andDatasetWithSampler
, as they’re complex and obsolete.Added
tfImg()
,tfFloat()
,analyzeFloat()
Monkey-patched
torch.nn.Module
to have piping capabilities.Renamed
k1lib.data
tok1lib.kdata
, and exposed it automatically inimports
.Renamed
k1lib.nn
tok1lib.knn
, and exposed it automatically.
Bioinfo cli:
Renamed
k1lib.bioinfo.cli
tok1lib.cli
Added
stagger()
as the new interface for dataloaders.Added
intercept
,toPIL
.Added PIL conversion mode to
utils.toTensor
Added Tensor shape mode in
utils.shape
.Added
others
module, withcrissCross()
Added Tensor mode to
toSum
,toAvg
,toMin
,toMax
andoneToMany
.Added alias
toMean
.Added dtype choice to
toTensor
.
0.3 - Oct 18th, 2021
Background stuff:
Added mo tutorial
DL:
Added
FAnim()
Added
mo
for stuff related to molecular dynamicsAdded
graph()
,digraph()
,__call__()
Huge revamp of
schedule
to make it more intuitive. There’s only 1 main schedule object now:Fn
.Added
k1lib.wraps()
,k1lib.Object.__delitem__()
,k1lib.Range.fromRange()
Added
k1lib.Every
Bioinfo cli:
Removed
notIn
, asinSet
does the job just as wellIncluded cli import command in
imports
by defaultModified
toFloat()
andmodifier.toInt()
so they can force weird values to 0.Moved existing
toDict
totoDictF
, and created a newtoDict
.
0.2 - Sep 24th, 2021
Pretty minor update. I just want to push this out as soon as possible
Background stuff:
Changed versioning system so that it makes more sense
Added osic and mp tutorials
Added more speed analysis in the cli tutorial
Bioinfo cli:
Removed
dirs
andfiles
parameters inls
, asisFile
is good enoughDisable module
ctx
by default, to improve performanceReplaced
nonEmptyStream
toempty
0.1.13 - Sep 20th, 2021
Background stuff:
Removed walrus operator library-wide, so that it can be used with Python < 3.8
Bioinfo cli:
Added
breakIf
,isFile
Replaced
infiniteF
withrepeatF
Replaced
infiniteFrom
withrepeatFrom
Replaced
dereference
withderef
Replaced
ctx.dereference
withctx.deref
Modified
applyMp
to usedill
to deserialize everythingModified
to1Str
so that it returns a string, instead of yieldingModified
toStr
so that it can accept an optional columnModified
splitList
so that it accepts *argsRemoved
applySingle
, but retainapplyS
DL:
Added class
CaptureStdout
Patched
torch.Tensor
withcrissCross()
,histBounds()
andhistScaled()
0.1.12 - Sep 3rd, 2021
Background stuff:
Removed docs’s generated
fonts
folder, as it takes 8MB and isn’t even used. Should now be sustainable for 100 versions on github pages.
Bioinfo cli:
Removed wrapping
__ror__
operator if__init__
is not defined, to make things performant.Added speed analysis in the cli tutorial.
Added
init.BaseCli.__call__()
,consume
,ctx.ctx()
,ctx.f
,peekF
,expandE
,utils.dereference.__invert__()
,unique
,notIn
,sortF
,toMax
,toMin
,union
,ls()
,instanceOf()
,randomize
Removed
ctx.identity
Added shortcuts to
ctx.setC()
andctx.getC()
Made
headerIdx()
context-awarePut
ctx.Promise
dereferencing atinit.BaseCli.__ror__()
, instead of dynamic patching atk1lib.bioinfo.cli
construction timeGet rid of
stdout
style inconsistencies. Previously, it looks like[1, 2] | stdout
, now it looks like[1, 2] | stdout()
.Added multiprocessing capabilities with
applyMp
Added
maxDepth
option fordereference
Added
includeLast
option tobatched
Added
float("inf")
option tobs
parameter ofbatched
Fixed
permute
to be able to take in generator for rows.Fixed
stdout
to be able to display non-iterable inputsFixed
dereference
so that it will handle poking errorsFixed
count
so that it can deal with list. Used to throw unhashable type: ‘list’Added more flexibility with
toFloat()
,toInt()
andsort
DL:
Added classes
AutoIncrement
,Wrapper
Added functions
positionalEncode()
,debounce()
Fixed
executeNb
’s_globals
doc-backref problem. Also clears plot automatically after executing a cell now.
0.1.11 - Aug 25th, 2021
Background stuff:
Added testing section for unit tests (simple assert statements inside the notebooks)
Bioinfo cli:
Added numpy/torch checks to
dereference
Renamed
sample
topeek
Added
infiniteFrom
,joinStreamsRandom
,batched
,collate
,splitList
Added
infiniteF
Added
toTensor
Replaced
infinite
in favor ofrepeat
Updated all cli tools to use
super().__init__()
Added
ctx
module, withPromise
,enum
,identity
classes, andgetC()
,setC()
methods
DL:
Added
k1lib.data.CyclicRandomSampler
andk1lib.data.DatasetWithSampler
Added highlight feature in
callbacks.Callbacks.checkpointGraph()
Added
k1lib.viz.Carousel.pop()
,k1lib.viz.Carousel.__getitem__()
Added
k1lib.Learner.sample()
Disallow
k1lib.executeNb()
to execute lines that starts with “!”, also removed parametercatchErrors
, as it’s quite uselessAdded
k1lib.Object()
0.1.10 - Aug 22nd, 2021
Background stuff:
Added notebook regression tests
Added tutorials automated building tool
Added
k1lib.ignoreWarnings
Tutorials part moved to official docs (rather than .md files on github)
Added covid tutorial
Bioinfo cli:
Reintroduced
permute
, asrows
is inadequateAdded
lengths
,applySingle
Exposed
serial
,oneToMany
,manyToMany
, andmanyToManySpecific
DL:
Added
confusionMatrix.ConfusionMatrix
andk1lib.viz.confusionMatrix()
Modified
k1lib.Object
to allow settinggetdoc
fieldAdded
k1lib.viz.Carousel.saveBytes()
,k1lib.viz.Carousel.saveFile()
,k1lib.viz.Carousel.saveGraphviz()
, and handle different image formats much better now
0.1.9 - Aug 19th, 2021
Bioinfo cli:
Added
k1lib.Domain
classAdded
__invert__
option forrows
andcolumns
by incorporatingk1lib.Domain
Sped up
rows
significantlyRemoved cli tool
every
asrows
is good enoughAdded
__invert__
option forhead
. As a result, removednhead
Added
till()
mechanism togrep
cli toolAdded
gb
cli module to deal with genbank file formatAdded
tableFromList()
as alias oflistToTable()
Renamed
avg
totoAvg
Added
toSum
DL:
Added Callbacks tab completion to
k1lib.Learner
andCallbacks
Refactored
lossLandscape.LossLandscape
tolandscape.Landscape
that can be used by any other callbacks, right now it’sLoss
andAccuracy
Added
callbacks.Callback.pause()
to help withAccuracy
’sLandscape
0.1.8 - Aug 15th, 2021
Fixed installation bug where readme.md would be absent, and setup.py won’t work at all.
Bioinfo cli:
Huge revamp of how tables are treated. Before, row elements are in a single string, separated by a delimiter. Now each row is a full fledged list
Added
grepToTable
,joinList
,contains
,table
,stitch
,listToTable
,insertColumn
cli toolsRemoved
joinRows
but still keepjoinStreams
as “joinRows” is not really obviousRemoved
permute
ascolumns
is pretty much identicalRenamed
inside
toinSet
Cut out nested functionality from
grep
togrepToTable
0.1.7 - Aug 14th, 2021
Interface with external modules:
Swapped out
register_backward_hook
withregister_full_backward_hook()
inHookModule
callbackAdded
torch.nn.Module.preserveDevice()
context manager
Callbacks:
Changed
Callbacks.suspend()
to take in names onlyAdded
Callbacks.suspendClasses()
to take in classesChanged
Callbacks.suspendEvaluation()
toCallbacks.suspendEval()
, also added functionality for white and black listsRipped out complex
Callback.__getattr__()
mechanism (that automatically searches the parent learner for missing attributes) to improve speedAdded
k1lib.callbacks.core
callbacksCoreNormal
andCoreRNN
Added more plot decorators for
MemoryProfiler
, including backward-forward separator with their textChanged
LossLandscape
callback so that it follows the common flow structure. Before, it implements a whole newcbs(...)
schema that essentially duplicated the loop inside ofk1lib.Learner
Learner:
Implemented grace stop handling for
Learner
. Before, if someone throwsCancelRunException
while executing a batch, then it will immediately jump to the end of the run. Changed it so that it will be caught in the batch loop, execute checkpointscancelBatch
andendBatch
and rethrow it. Same thing withCancelEpochException
Moved loss function from being a core functionality inside
Learner
to an external callback, so that adapting multiple loss functions are possibleAdded
Learner.__call__()
Bioinfo cli:
Added
isValue
,intersection
,AA_
,infinite
,dereference
cli toolsModified
cat
to be able to take in file name by pipeAdded new joining operator “+” between
init.BaseCli
Style changes:
Changed
Callbacks.learner
toCallbacks.l
Changed
Callback.learner
toCallbacks.l
Removed
k1lib.eqn
fromk1lib.imports
’s namespace
0.1.6 - Aug 13th, 2021
I don’t really keep track of things 0.1.6 and before, so nothing here really.