我有python 3.我安装了"Theano"流血边缘和"Keras"使用
pip install --upgrade --no-deps git+git://github.com/Theano/Theano.git
Run Code Online (Sandbox Code Playgroud)
并且
pip install --upgrade git+git://github.com/Theano/Theano.git
Run Code Online (Sandbox Code Playgroud)
和
pip install git+git://github.com/fchollet/keras.git
Run Code Online (Sandbox Code Playgroud)
但是当我尝试导入Theano时,我收到以下错误:
AttributeError: module 'theano' has no attribute 'gof'
Run Code Online (Sandbox Code Playgroud)
我在网上寻找解决方案,什么都没有......
这是我收到错误的代码段(最后一行产生错误):
import sys
import numpy as np
import pandas as pd
from sklearn import preprocessing
from keras.models import Sequential
Run Code Online (Sandbox Code Playgroud)
由于我没有足够的python经验,我完全迷失了,无法弄清楚该怎么做......
任何帮助,将不胜感激.
在常规的jupyter笔记本中,例如,运行以下命令:
from IPython.display import display, Math, Latex
display(Math(r'F(k) = \int_{-\infty}^{\infty} f(x) e^{2\pi i k} dx'))
Run Code Online (Sandbox Code Playgroud)
生成用LaTeX渲染的方程式(通过Mathjax)。
即使LaTeX在降价单元格中工作正常,上述生成的LaTeX方程似乎也无法在Google Colaboratory中呈现。同样,例如qutip的函数输出也会发生同样的情况,该输出通常会在乳胶中渲染(例如,qutip.basis(2, 0)通常会在乳胶中渲染,但不会在Colaboratory中渲染)。
为什么会这样?有办法进行这项工作吗?
Visual Studio Code 带有 python 扩展,提供代码 linting。虽然在链接页面中记录了如何通过用户首选项一般启用/禁用 linting,但尚不清楚是否或如何在每个文件的基础上禁用。
更具体地说,我正在寻找一种方法来禁用文件上的 linting,最好是通过命令选项板或类似的方法。
我想对文档的文本应用一些功能。例如运行正则表达式替换,然后将结果文本转换为小写(或者一些更复杂的示例,使用提供的工具无法轻松完成)。
我知道如何使用 python 执行此操作,因此我可以从 python 解释器运行一个简单的脚本来加载、修改和保存数据。然而,这可能非常烦人,并且考虑到 sublime text 的 python API 的存在,应该有一种方法可以直接运行脚本来修改打开的文档。
我也希望避免使用宏,因为它们需要我保存一个.sublime-macro,但此类替代解决方案同样受欢迎。
我怎样才能实现这个目标?
当使用绘制直方图时matplotlib,手动给出垃圾箱列表相对容易,例如此处所示。
一个简单的例子如下:
import numpy as np
import matplotlib.pyplot as plt
fig, ax = plt.subplots()
ax.hist(np.random.randn(10000), bins=np.arange(-4, 4, 0.1))
ax.hist(0.2 * np.random.randn(10000), bins=np.arange(-4, 4, 0.1))
plt.show()
Run Code Online (Sandbox Code Playgroud)

也可以使用以下命令等效地完成此操作pandas.DataFrame:
pd.DataFrame({
'firstHistogram': np.random.randn(10000),
'secondHistogram': 0.2 * np.random.randn(10000)
}).plot(kind='hist', bins=np.arange(-4, 4, 0.1))
Run Code Online (Sandbox Code Playgroud)
更进一步,plotly允许直接pandas通过cufflinks模块进行接口,从而可以执行以下操作:
pd.DataFrame({
'firstHistogram': np.random.randn(10000),
'secondHistogram': 0.2 * np.random.randn(10000)
}).iplot(kind='hist', bins=100)
Run Code Online (Sandbox Code Playgroud)
但这很重要:所iplot提供的方法cufflinks似乎不接受的列表bins。当像上面的示例中那样提供数字时,该数字用于独立地对两个数据集进行装箱,这导致装箱不均等,并可能产生误导性的结果(请参见上图中的相同高度)。
尽管使用该histnorm='density'选项可以稍微减轻这种影响,但您可能希望查看每个仓的计数而不是密度。
有没有解决的办法?
我有一串类似的字节str_of_bytes = b'\x20\x64\x20',我想提取其中的第二个元素。如果我这样做str_of_bytes[1],我所得到的是int 100。我如何获取b'\x64'而不必将其转换int为bytes?
我正在尝试读取大小为 ~1.1GB 的 .dat 文件中包含的数据。因为我是在 16GB RAM 的机器上执行此操作,所以我认为将整个文件一次读入内存不会有问题,只有在处理它之后。
为此,我使用了slurp在这个 SO answer 中找到的函数。问题是代码有时(但并非总是)抛出 bad_alloc 异常。查看任务管理器,我发现总有至少 10GB 的可用内存可用,所以我不知道内存会是什么问题。
这是重现此错误的代码
#include <iostream>
#include <fstream>
#include <sstream>
#include <string>
using namespace std;
int main()
{
ifstream file;
file.open("big_file.dat");
if(!file.is_open())
cerr << "The file was not found\n";
stringstream sstr;
sstr << file.rdbuf();
string text = sstr.str();
cout << "Successfully read file!\n";
return 0;
}
Run Code Online (Sandbox Code Playgroud)
什么可能导致这个问题?避免它的最佳做法是什么?
假设我有一个很长的对象列表(比如,bool元素的numpy矩阵列表)foo = [a, b, c],我想与一些按位运算符进行比较,得到类似的东西a | b | c.
如果我可以将这个按位操作用作函数,比如一个bitwiseor函数,我可以简单地使用bitwiseor(*foo).但是,我无法找到是否按位或以这种函数形式编写.
是否有一些方便的方法来处理这种问题?或者我应该使用循环来累积比较所有元素?
假设你在一个表情符号中有许多非交换符号,比如说
a, c = sympy.symbols('a c', commutative=False)
b = sympy.Symbol('b')
expr = a * c + b * c
Run Code Online (Sandbox Code Playgroud)
使表达式中的所有符号都可交换的首选方法是什么,例如,sympy.simplify(allcommutative(expr)) = c * (a + b)?
在这个答案中,声明在没有替换符号的情况下,没有办法在创建之后改变符号的交换性,但也许有一种简单的方法可以在块中更改像这样的表达式的所有符号?
假设我有一个数组,定义为
int arr[10];
Run Code Online (Sandbox Code Playgroud)
我希望逐步填充这个数组(假设不会耗尽为数组分配的内存),根据表单的循环
for(int i = 0; i < some_number; i++)
if(some_condition)
add_element_to_arr
Run Code Online (Sandbox Code Playgroud)
做这个的最好方式是什么?我能想到的两种方法是:1)使用辅助变量来记住存储的值的数量,或2)使用指针来做同样的事情.
这样做的首选/标准/传统方式是什么?
此外,必须为多个数组执行此类操作,要记住已向每个数组添加了多少值,必须为每个数组使用辅助变量.处理这个问题的首选方法是什么?
我正在尝试一个 hello world 测试来在 Windows 下制作 cmake,使用 MinGW 作为编译器。
此答案建议cmake使用以下-G标志运行:
cmake -G "MinGW Makefiles" .
Run Code Online (Sandbox Code Playgroud)
但是,如果我这样做,我会收到一条消息,说那不是已知的生成器。实际上,运行cmake --help,在Generators部分下列出了以下生成器:
如您所见,未列出“MinGW Makefiles”。
如果这是相关的,我已经安装了 MinGW 并在我的系统上的常用文件夹中工作C:\MinGW。我还通过 WinBuilds 和 MSYS2 安装了 MinGW-w64,同样在默认安装文件夹中。我正在使用cmake version 3.5.2,通过 MSYS2 安装。
为什么“MinGW Makefiles”没有在生成器中列出?
考虑以下MWE使用python API进行散点图绘制:
import plotly.plotly as py
import plotly.graph_objs
import plotly.offline
plotly.offline.init_notebook_mode()
data = list(range(10))
trace = plotly.graph_objs.Scatter(
x=list(range(len(data))),
y=data
)
plotly.offline.iplot([trace])
Run Code Online (Sandbox Code Playgroud)
如果我现在想在此图上添加一条(例如)水平线怎么办?我通过文档去,例如部分上线和散射和上线图,但没有的例子似乎讨论如何覆盖不同的地块,或简单地画直线和类似的形状。
一个简单的方法是将直线添加为第二个散点图,如下所示:
import plotly.plotly as py
import plotly.graph_objs
import plotly.offline
plotly.offline.init_notebook_mode()
data = list(range(10))
trace = plotly.graph_objs.Scatter(
x=list(range(len(data))),
y=data
)
trace_line = plotly.graph_objs.Scatter(
x=list(range(len(data))),
y=[4] * len(data),
mode='lines'
)
plotly.offline.iplot([trace, trace_line])
Run Code Online (Sandbox Code Playgroud)
但是,这种方法似乎不是最优的:除了添加单行所需的冗长程度外,它还使我手动“采样”直线,并将行高添加到鼠标悬停时的工具提示上。
是否有更好的方法来实现这一目标?
如果我有一个列表,如:
a = [1, 2, 3, 3, 4, 5]
Run Code Online (Sandbox Code Playgroud)
我想从这个列表中选择一个随机元素np.random.choice,让我说我得到的值是3,我应该如何获得元素3的正确索引,而不仅仅是自动出现的前3个?
我知道对于唯一值的列表,我可以.index用来获取它,但不知道如何去寻找非唯一值.
谢谢!