Hello,
I have a time series model that requires two portions of training: one
which is run on a CPU (it can only look at one trial per iteration, so the
data transfer cost to CPU is not worth it), and one which is run on a GPU
(this portion considers time points independently, and, thus, can be
parallelized). Training the CPU portion and then loading the pickled model
for GPU training works fine, but when we train the GPU portion and try to
load it with the CPU backend, we receive this error:
ContextNotDefined: (ContextNotDefined('context name None not defined',), <
function GpuArray_unpickler at 0x7fd58f7468c0>, (array(...array_values...,
dtype=float32), None))
When we load the trained model on a GPU, it loads properly, but when we try
to run it, we receive an error about ConvOp not working with gpuarray
backend since the CPU portion of the model uses
theano.tensor.signal.conv.conv2d, rather than
theano.tensor.nnet.conv.conv2d. This is not a huge problem, as we can
change the convolution that we are using; however, we are hoping to be able
to run the trained model end-to-end on a CPU, so I was wondering if there
is any workaround to get gpuarrays to load on CPU. This was all working
prior to our upgrading to the gpuarray backend, but we would like to be
future-proof.
Thanks!
--
---
You received this message because you are subscribed to the Google Groups
"theano-users" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.