据我所知,Theano对Windows 8.1的支持仅处于试验阶段,但我想知道是否有人解决我的问题.根据我的配置,我会得到三种不同类型的错误.我认为我的任何错误的解决方案都可以解决我的问题.
我已用WinPython 32位系统安装Python,使用MinGW的描述这里.我的.theanorc文件内容如下:
[global]
openmp=False
device = gpu
[nvcc]
flags=-LC:\TheanoPython\python-2.7.6\libs
compiler_bindir=C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\
[blas]
ldflags =
Run Code Online (Sandbox Code Playgroud)
当我运行import theano错误时如下:
nvcc fatal : nvcc cannot find a supported version of Microsoft Visual Studio.
Only the versions 2010, 2012, and 2013 are supported
['nvcc', '-shared', '-g', '-O3', '--compiler-bindir', 'C:\\Program Files (x86)\\
Microsoft Visual Studio 10.0\\VC\\bin# flags=-m32 # we have this hard coded for
now', '-Xlinker', '/DEBUG', '-m32', '-Xcompiler', '-DCUDA_NDARRAY_CUH=d67f7c8a21
306c67152a70a88a837011,/Zi,/MD', '-IC:\\TheanoPython\\python-2.7.6\\lib\\site-pa
ckages\\theano\\sandbox\\cuda', '-IC:\\TheanoPython\\python-2.7.6\\lib\\site-pac …Run Code Online (Sandbox Code Playgroud) 我一直在学习使用神经网络作为业余爱好项目,但是如何处理分类数据完全失败了.我阅读了文章http://visualstudiomagazine.com/articles/2013/07/01/neural-network-data-normalization-and-encoding.aspx,它解释了输入数据的规范化,并解释了如何使用效果预处理分类数据编码.我理解将类别分解为向量的概念,但不知道如何实际实现它.
例如,如果我使用国家作为分类数据(例如芬兰,泰国等),我是否会将结果向量处理为单个数字以馈送到单个输入,或者我将为每个组件提供单独的输入向量?在后者的情况下,如果有196个不同的国家,这意味着我只需要196个不同的输入来处理这个特定的数据.如果向网络提供了大量不同的分类数据,我可以看到它变得非常笨重.
有什么我想念的吗?分类数据究竟是如何映射到神经元输入的?
基本上我知道神经网络的概念以及它是什么,但我无法弄清楚它在你编码时的外观或者你如何存储数据,我经历了很多我在谷歌上找到的教程但是不能找到任何代码,只是概念和算法.
谁能给我一段简单的神经网络代码,比如"Hello World!"?
我Theano在我的机器上安装了框架并启用了CUDA,但是当我在我的python控制台中"导入theano"时,我收到以下消息:
>>> import theano
Using gpu device 0: GeForce GTX 950 (CNMeM is disabled, CuDNN not available)
Run Code Online (Sandbox Code Playgroud)
现在,"CuDNN不可用",我cuDnn从Nvidia网站下载.我还更新了环境中的'path',并在'.theanorc.txt'配置文件中添加了'optimizer_including = cudnn'.
然后,我再次尝试,但失败了,:
>>> import theano
Using gpu device 0: GeForce GTX 950 (CNMeM is disabled, CuDNN not available)
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "C:\Anaconda2\lib\site-packages\theano\__init__.py", line 111, in <module>
theano.sandbox.cuda.tests.test_driver.test_nvidia_driver1()
File "C:\Anaconda2\lib\site-packages\theano\sandbox\cuda\tests\test_driver.py", line 31, in test_nvidia_driver1
profile=False)
File "C:\Anaconda2\lib\site-packages\theano\compile\function.py", line 320, in function
output_keys=output_keys)
File "C:\Anaconda2\lib\site-packages\theano\compile\pfunc.py", line 479, in pfunc
output_keys=output_keys) …Run Code Online (Sandbox Code Playgroud) 我最近再次钻研人工神经网络,进化和训练.我有一个问题,如果有什么方法可以解决导致目标输出集的输入.这有名字吗?我试图寻找的所有东西都让我反向传播,这不一定是我需要的.在我的搜索中,我最接近表达我的问题的是
这告诉我,确实存在许多解决方案,这些解决方案对于具有不同数量的节点的网络而言,并且它们不会轻易解决.我的想法是使用在学习过程中建立的权重向一组理想的输入方向前进.有没有其他人有经验做这样的事情?
为了详细说明:假设你的网络有401个输入节点,代表20x20灰度图像和偏差,两个隐藏层由100 + 25个节点组成,还有6个输出节点代表分类(符号,罗马数字等) ).在训练神经网络以便它可以用可接受的错误进行分类之后,我想向后运行网络.这意味着我会在输出中输入我想要看到的分类,并且网络会想象一组输入会产生预期的输出.因此,对于罗马数字示例,这可能意味着我会要求它为符号"X"反向运行网络,并且它将生成一个类似于网络认为"X"的图像.通过这种方式,我可以很好地了解它所学到的分离分类的功能.我觉得理解人工神经网络在宏观方案中如何运作和学习是非常有益的.
我正在建造一个自平衡的两轮机器人.我一直在计划为平衡部分实现一个简单的算法 - 然后花几天时间调整算法,但现在我知道我可以使用神经网络代替.
作为输入,我想给它提供车轮,陀螺仪和加速度计数据的当前速度,其尺寸与平衡相关,并且可能来自遥控器.
作为输出,我想要每个电机的方向和推力.
错误情况包括根据遥控器摔倒而不移动.
我遇到的麻烦是如何训练它?理想情况下,它会随着时间的推移而学习,但我不知道网络将如何学习 - 如果它做了什么,然后在2秒后跌倒.
因此,我无法告诉网络某个输出立即出错.我的想法是说每次机器人跌落时我都会"回滚"整个网络状态几秒钟.这样做的正确方法是什么?
我也希望网络能够节约能源; 使用权力是消极的,但是必要的.
我希望能够在1 ghz BeagleBone Black计算机上使用libfann.
额外信息:我不允许机器人翻倒,因此如果达到某些阈值,手动算法将接管控制 - 并将机器人置于中立位置并将控制权交还给网络.
我安装了Anaconda.现在我想在Anaconda中安装Theano库.我试过了:
Anaconda的Theano安装程序来自http://deeplearning.net/software/theano/install.html#windows-installer-for-anacondace,但它引发错误"安装程序找不到安装的Anaconda版本.请下载并安装Anaconda CE".我已将〜/ anaconda3,〜/ anaconda3/scripts添加到环境变量路径中.
我试图通过构建Stack Overflow中提到的软件包来安装它,如何在Anaconda(Conda)环境中跟踪pip安装的软件包?,但在测试包装时也失败了.错误截图如下:

我甚至安装了Python ver.3.4,使用pip install安装Theano,当我尝试导入Theano时,它给出了类似于屏幕截图中的错误的错误.我尝试了此Google网上论坛讨论中提到的更改,Re:[theano-users]在Windows上为Python 3安装Theano,但没有运气.
我在Windows机器上安装了Theano并按照配置说明进行操作.
我将以下.theanorc.txt文件放在C:\ Users\my_username文件夹中:
#!sh
[global]
device = gpu
floatX = float32
[nvcc]
fastmath = True
# flags=-m32 # we have this hard coded for now
[blas]
ldflags =
# ldflags = -lopenblas # placeholder for openblas support
Run Code Online (Sandbox Code Playgroud)
我试图运行测试,但还没有设法在GPU上运行它.我猜不会读取.theanorc.txt中的值,因为我添加了行print config.device并输出"cpu".
下面是基本的测试脚本和输出:
from theano import function, config, shared, sandbox
import theano.tensor as T
import numpy
import time
print config.device
vlen = 10 * 30 * 768 # 10 x #cores x # threads per core
iters = 1000
rng = …Run Code Online (Sandbox Code Playgroud)