karl3ļ¼ writeme.com wrote:
> > /home/main.py(64)<module>()
> > -> print(PatchConv2d)
> > (Pdb) p PatchConv2d.forward
> > <function PatchConv2d.forward at 0x79ff23215120>
> > (Pdb) p PatchConv2d.forward.__code__
> > <code object forward at 0x79ff231d7260, file "/home/main.py", line 33>
> > (Pdb) p dir(PatchConv2d.forward.__code__)
> > ['__class__', '__delattr__', '__dir__', '__doc__', '__eq__', '__format__', 
> > '__ge__', '__getattribute__', '__gt__', '__hash__', '__init__', 
> > '__init_subclass__', '__le__', '__lt__', '__ne__', '__new__', '__reduce__', 
> > '__reduce_ex__', '__repr__', '__setattr__', '__sizeof__', '__str__', 
> > '__subclasshook__', 'co_argcount', 'co_cellvars', 'co_code', 'co_consts', 
> > 'co_filename', 'co_firstlineno', 'co_flags', 'co_freevars', 
> > 'co_kwonlyargcount', 'co_lines', 'co_linetable', 'co_lnotab', 'co_name', 
> > 'co_names', 'co_nlocals', 'co_posonlyargcount', 'co_stacksize', 
> > 'co_varnames', 'replace']
> > ok i tried it using an online python interpreter
> 
> -> class PatchConv2d(nn.Module):
> (Pdb) n
> p PatchConv2d.forward.co_constsconsts
> *** AttributeError: 'function' object has no attribute 'co_consts'
> p PatchConv2d.forward.__code__.co_constsconsts
> (None, 1073741824, 0, 2, 1, 3, 4, 'zeros', 'constant', ('mode', 'value'), -1, 
> ('dim',))
> (Pdb) PatchConv2d.forward.__code__.co_consts = 
> PatchConv2d.forward.__codePatchConv2d.forward.__code__.co_consts = 
> PatchConv2d.forward.__code__.co_consts
> *** AttributeError: readonly attribute
hum web interface elided a lot of text away. maybe relates to encodings used 
for email
> 
> the constant i want to change is 1073741824 . Setting this much lower would 
> enable the code for smaller data.
> 
> It seems the solution would be to construct a new code object with the 
> constant changed, and assign it to the function object.

Reply via email to