我做了功课,我意外地发现了算法的速度奇怪的不一致.这是相同功能bur的2个版本的代码bur与1差异:在第一个版本中我使用3次数组生成器来过滤一些数组,在第二个版本中我使用1 for循环与3 if语句来做同样的过滤器工作.
所以,这是第一版的代码:
def kth_order_statistic(array, k):
pivot = (array[0] + array[len(array) - 1]) // 2
l = [x for x in array if x < pivot]
m = [x for x in array if x == pivot]
r = [x for x in array if x > pivot]
if k <= len(l):
return kth_order_statistic(l, k)
elif k > len(l) + len(m):
return kth_order_statistic(r, k - len(l) - len(m))
else:
return m[0]
Run Code Online (Sandbox Code Playgroud)
这里是第二版的代码:
def kth_order_statistic2(array, k):
pivot = (array[0] + …Run Code Online (Sandbox Code Playgroud) 我正在尝试执行此代码:
import matplotlib.pyplot as plt
import numpy as np
from keras.models import Sequential
from keras.layers import Dense
x = np.linspace(-3, 3, 1000).reshape(-1, 1)
def f(x):
return 2 * x + 5
f = np.vectorize(f)
y = f(x)
def baseline_model():
model = Sequential()
model.add(Dense(1, input_dim=1, activation='linear'))
model.compile(loss='mean_squared_error', optimizer='sgd')
return model
model = baseline_model()
model.fit(x, y, nb_epoch=100, verbose = 0)
Run Code Online (Sandbox Code Playgroud)
但在最后一行它抛出这个错误: ImportError: /home/puck/.theano/compiledir_Linux-4.4--MANJARO-x86_64-with-glibc2.2.5--3.6.0-64/tmpgk36rmkt/mf0c860ada3decf909d2c7248bdfcff39.so: undefined symbol: _ZdlPvm
这是完整的追溯。这是我第一次使用 keras 和 theano,所以我不知道该怎么做。
关于软件版本的一些信息:
Linux 4.4.52-1-MANJARO
GCC 6.3.1
Anaconda 4.3.0
Python 3.6.0
IPython 5.1.0 …Run Code Online (Sandbox Code Playgroud) 我写了这行代码.这是不可读的.是否有巧妙的方法将其分解为多行代码<80或100个字符长度?
Console.WriteLine(String.Join("\n", testResults.Select(row => String.Join("|", row.Select(column => String.Format("{0,20}", column.ToString()))))));