2020
10-08
10-08
解决Pytorch自定义层出现多Variable共享内存错误问题
错误信息:RuntimeError:in-placeoperationscanbeonlyusedonvariablesthatdon'tsharestoragewithanyothervariables,butdetectedthatthereare4objectssharingit自动求导是很方便,但是想想,如果两个Variable共享内存,再对这个共享的内存的数据进行修改,就会引起错误!一般是由于inplace操作或是indexing或是转置.这些都是共享内存的.@staticmethoddefbackward(ctx,grad_output):ind_lst=ctx.i...
继续阅读 >
1、代码如下:importnumpyasnpfromkeras.modelsimportSequentialfromkeras.layersimportDense,Activation,Reshapefromkeras.layersimportmergefromkeras.utils.visualize_utilimportplotfromkeras.layersimportInput,Lambdafromkeras.modelsimportModeldefslice(x,index):returnx[:,:,index]a=Input(shape=(4,2))x1=Lambda(slice,output_shape=(4,1),arguments={'index':0})(a)x2=Lambda(slice,...