ValueError: недопустимый литерал для int () с основанием 10: «Активная кодовая страница: 65001 \ r \ n4» - PullRequest
0 голосов
/ 22 сентября 2019

Я встретил эту ошибку как заголовок, когда попытался запустить тестовый код Theano в Pycharm.Что меня действительно смутило, так это то, что если я запускаю код в CLI (я имею в виду, используя python XXX.py напрямую), он должен хорошо работать!

Вот заявление об ошибке:

Traceback (most recent call last):
  File "D:/test_gpu.py", line 1, in <module>
    from theano import function, config, shared, tensor
  File "D:\Anaconda3\envs\theano\lib\site-packages\theano\__init__.py", line 156, in <module>
    import theano.gpuarray
  File "D:\Anaconda3\envs\theano\lib\site-packages\theano\gpuarray\__init__.py", line 33, in <module>
    from . import fft, dnn, opt, extra_ops, multinomial, reduction, sort, rng_mrg, ctc
  File "D:\Anaconda3\envs\theano\lib\site-packages\theano\gpuarray\fft.py", line 14, in <module>
    from .opt import register_opt, op_lifter, register_opt2
  File "D:\Anaconda3\envs\theano\lib\site-packages\theano\gpuarray\opt.py", line 2801, in <module>
    from .dnn import (local_abstractconv_cudnn,
  File "D:\Anaconda3\envs\theano\lib\site-packages\theano\gpuarray\dnn.py", line 339, in <module>
    handle_type = CUDNNDataType('cudnnHandle_t', 'cudnnDestroy')
  File "D:\Anaconda3\envs\theano\lib\site-packages\theano\gpuarray\dnn.py", line 259, in CUDNNDataType
    version=version(raises=False))
  File "D:\Anaconda3\envs\theano\lib\site-packages\theano\gpuarray\dnn.py", line 319, in version
    if not dnn_present():
  File "D:\Anaconda3\envs\theano\lib\site-packages\theano\gpuarray\dnn.py", line 207, in dnn_present
    dnn_present.avail, dnn_present.msg = _dnn_check_compile()
  File "D:\Anaconda3\envs\theano\lib\site-packages\theano\gpuarray\dnn.py", line 169, in _dnn_check_compile
    try_run=False, output=True)
  File "D:\Anaconda3\envs\theano\lib\site-packages\theano\gof\cmodule.py", line 2230, in try_flags
    theano.config.cxx, comp_args)
  File "D:\Anaconda3\envs\theano\lib\site-packages\theano\gof\cmodule.py", line 1879, in _try_flags
    comp_args=comp_args)
  File "D:\Anaconda3\envs\theano\lib\site-packages\theano\gof\cmodule.py", line 1796, in _try_compile_tmp
    args = cls.compile_args()
  File "D:\Anaconda3\envs\theano\lib\site-packages\theano\gof\cmodule.py", line 2109, in compile_args
    mj, mn, patch = [int(vp) for vp in version]
  File "D:\Anaconda3\envs\theano\lib\site-packages\theano\gof\cmodule.py", line 2109, in <listcomp>
    mj, mn, patch = [int(vp) for vp in version]
ValueError: invalid literal for int() with base 10: 'Active code page: 65001\r\n4'

Моя платформа - Windows 10, версия Python - 3.6.5, а версия Theano - 1.0.2.Я думаю, что нет никаких проблем с моей установкой.Пожалуйста, обратите внимание на Active code page: 65001\r\n4 в заявлении.Я знаю, что это окно CLI, которое я только что открыл, но я понятия не имею, что оно означает.

Я попытался найти некоторые решения по поводу invalid literal for int() with base 10, что касается ошибки преобразования между str и int.Но в моем случае это может быть не так.

Вот мой код, скопированный из документации:

from theano import function, config, shared, tensor
import numpy
import time

vlen = 10 * 30 * 768  # 10 x #cores x # threads per core
iters = 1000

rng = numpy.random.RandomState(22)
x = shared(numpy.asarray(rng.rand(vlen), config.floatX))
f = function([], tensor.exp(x))
print(f.maker.fgraph.toposort())
t0 = time.time()
for i in range(iters):
    r = f()
t1 = time.time()
print("Looping %d times took %f seconds" % (iters, t1 - t0))
print("Result is %s" % (r,))
if numpy.any([isinstance(x.op, tensor.Elemwise) and
              ('Gpu' not in type(x.op).__name__)
              for x in f.maker.fgraph.toposort()]):
    print('Used the cpu')
else:
    print('Used the gpu')

И мои результаты работы в CIL таковы:

D:\Anaconda3\envs\theano\lib\site-packages\theano\gpuarray\dnn.py:184: UserWarning: Your cuDNN version is more recent than Theano. If you encounter problems, try updating Theano or downgrading cuDNN to a version >= v5 and <= v7.
  warnings.warn("Your cuDNN version is more recent than "
Using cuDNN version 7600 on context None
Mapped name None to device cuda: GeForce GTX 965M (0000:01:00.0)
[GpuElemwise{exp,no_inplace}(<GpuArrayType<None>(float32, vector)>), HostFromGpu(gpuarray)(GpuElemwise{exp,no_inplace}.0)]
Looping 1000 times took 0.627322 seconds
Result is [1.2317803 1.6187935 1.5227807 ... 2.2077181 2.2996776 1.623233 ]
Used the gpu

Кто-нибудь сталкивался с подобной ошибкой?Что я могу сделать, чтобы решить эту проблему?

Thx!

...