You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Thanks for making this library and it's amazing to have these different CRFs wrapped up in a common and easy to use framework.
I've been playing with the LinearChainCRF and one thing I noticed is the memory usage can be very high during loss backward pass on both CPU and GPU. I found the FastLogSemiring in fast_semirings.py uses genbmm.logbmm() and significantly reduce memory usage on GPU if I change the default LogSemiring used in StructDistribution class to FastLogSemiring. However, I haven't seen this being documented anywhere so my questions are:
Is FastLogSemiring ready to be used? It's not being included in test_semirings.py
If so, what would be the best way to switch between LogSemiring and FastLogSemiring? Is there a plan to introduce a parameter to choose between the semirings in StructDistribution class?
The text was updated successfully, but these errors were encountered:
Hi,
Thanks for making this library and it's amazing to have these different CRFs wrapped up in a common and easy to use framework.
I've been playing with the LinearChainCRF and one thing I noticed is the memory usage can be very high during loss backward pass on both CPU and GPU. I found the
FastLogSemiring
infast_semirings.py
usesgenbmm.logbmm()
and significantly reduce memory usage on GPU if I change the defaultLogSemiring
used inStructDistribution
class toFastLogSemiring
. However, I haven't seen this being documented anywhere so my questions are:FastLogSemiring
ready to be used? It's not being included intest_semirings.py
LogSemiring
andFastLogSemiring
? Is there a plan to introduce a parameter to choose between the semirings inStructDistribution
class?The text was updated successfully, but these errors were encountered: