小编T.P*_*Poe的帖子

统一成本搜索和最佳优先搜索方法之间有什么区别?

这两种方法都有一个数据结构,可以保持节点(及其成本)的扩展.两种方法首先以最高成本扩展节点.那么,它们之间有什么区别?

有人告诉我,统一成本搜索是一种盲目的方法,最好先搜索不是,这让我更加困惑(两者都有关于节点成本的信息?).

search artificial-intelligence difference best-first-search uniform-cost-search

12
推荐指数
3
解决办法
1万
查看次数

具有线性激活的层和没有激活的层有什么区别?

我在玩 Keras 一点,我在想线性激活层和根本没有激活层之间有什么区别?它没有相同的行为吗?如果是这样,那么线性激活的意义何在?

我的意思是这两个代码片段之间的区别:

 model.add(Dense(1500))
 model.add(Activation('linear'))
 model.add(Dense(1500))
Run Code Online (Sandbox Code Playgroud)

 model.add(Dense(1500))
 model.add(Dense(1500))
Run Code Online (Sandbox Code Playgroud)

neural-network keras activation-function keras-layer

11
推荐指数
2
解决办法
6852
查看次数

索引rowid BATCHED的表访问与索引rowid的表访问之间的区别

我在一个简单的SELECT语句中使用了Oracle数据库中的EXPLAIN PLAN,以了解它是如何工作的.在EXPLAIN PLAN的一个输出中提到了,table access by index rowid而在另一个输出中table access by index rowid BATCHED.他们之间有什么区别?

oracle sql-execution-plan

9
推荐指数
1
解决办法
2万
查看次数

如何使用经过训练的Tensorflow模型预测值

我已经在Tensorflow中训练了我的NN并保存了这样的模型:

def neural_net(x):
   layer_1 = tf.layers.dense(inputs=x, units=195, activation=tf.nn.sigmoid)
   out_layer = tf.layers.dense(inputs=layer_1, units=6)
   return out_layer

train_x = pd.read_csv("data_x.csv", sep=" ")
train_y = pd.read_csv("data_y.csv", sep=" ")
train_x = train_x / 6 - 0.5

train_size = 0.9
train_cnt = int(floor(train_x.shape[0] * train_size))
x_train = train_x.iloc[0:train_cnt].values
y_train = train_y.iloc[0:train_cnt].values
x_test = train_x.iloc[train_cnt:].values
y_test = train_y.iloc[train_cnt:].values

x = tf.placeholder("float", [None, 386])
y = tf.placeholder("float", [None, 6])

nn_output = neural_net(x)

cost = tf.reduce_mean(tf.losses.mean_squared_error(labels=y, predictions=nn_output))
optimizer = tf.train.AdamOptimizer(learning_rate=0.001).minimize(cost)

training_epochs = 5000
display_step = 1000
batch_size = 30 …
Run Code Online (Sandbox Code Playgroud)

python restore save tensorflow

9
推荐指数
1
解决办法
2万
查看次数

如何在pyenv中设置环境变量?

我正在使用pyenv. 使用以下命令创建环境:

pyenv install 3.6.0
pyenv virtualenv 3.6.0 foo
pyenv local foo

python my_app.py
Run Code Online (Sandbox Code Playgroud)

在应用程序中,我想使用以下命令加载一些环境变量:

SOME_VARIABLE = environ.get('MY_ENV_VAR', None)
Run Code Online (Sandbox Code Playgroud)

问题是,虽然MY_ENV_VAR设置为export MY_ENV_VAR=test(并且我可以用echo $MY_ENV_VAR),但 python 代码没有读取任何值。

那么如何才能正确地做到这一点呢?

python linux virtualenv pyenv

7
推荐指数
1
解决办法
2415
查看次数

如何在 docker 容器中安装 ffmpeg

我正在使用aeneaspython 模块,它使用ffmpeg. 我ffmpeg在dockerfile中安装如下:

RUN apt-get update && apt-get install -y ffmpeg
Run Code Online (Sandbox Code Playgroud)

现在当我运行程序时,它失败了:aeneas.ffprobewrapper.FFPROBEPathError: Unable to call the 'ffprobe' ffprobe executable : [Errno 2] No such file or directory: 'ffprobe'aeneas.audiofile.AudioFileProbeError: Unable to call ffprobe executable。所以我的问题是,如何ffmpeg在 docker 容器中成功使用?我正在运行 Ubuntu 16.04。

ffmpeg docker

7
推荐指数
2
解决办法
2万
查看次数

在某些情况下,在 CNN 中省略池化层是否有意义?

我知道通常的 CNN 由卷积层和池化层组成。池化层使输出更小,这意味着更少的计算,并且它们还以某种方式使其变换不变,因此内核滤波器的特征位置可以在原始图像中稍微移动。

但是当我不使用池化层时会发生什么?原因可能是我想要原始图像中每个像素的特征向量,因此卷积层的输出必须与图像大小相同,只是具有更多通道。这有道理吗?这些特征向量中是否仍然存在有用的信息,或者 CNN 中是否需要池化层?或者是否有一些方法可以通过池化层获取各个像素的特征向量?

machine-learning computer-vision neural-network conv-neural-network max-pooling

5
推荐指数
1
解决办法
3311
查看次数

在 Keras 中编写没有 y_true 的自定义损失函数

我正在 Keras 中实现一个三元组损失函数。一般来说,损失函数以预测值和真实值作为参数。但三元组损失不使用标签,仅使用输出。我尝试编写仅包含一个参数的函数:

def triplet_loss(y_pred):
    margin = 1
    return K.mean(K.square(y_pred[0]) - K.square(y_pred[1]) + margin)
Run Code Online (Sandbox Code Playgroud)

它失败了,说triplet_loss()需要 1 个参数,但给出了两个参数(在 中score_array = fn(y_true, y_pred)。当我编写带有两个参数的函数时y_true, y_pred,程序运行没有错误。为什么会这样?我应该用这两个参数来实现这个函数,尽管y_true不会被使用?这是正确的还是有其他方法可以做到这一点?

python keras

5
推荐指数
1
解决办法
2380
查看次数

从 Keras 预训练网络进行图像检索的三元组模型

我想实现一个图像检索模型。该模型将使用三元组损失函数(与 facenet 或类似架构相同)进行训练。我的想法是使用来自 Keras 的预训练分类模型(例如 resnet50),并使其成为三重架构。这是我在 Keras 中的模型:

resnet_input = Input(shape=(224,224,3))
resnet_model = ResNet50(weights='imagenet', include_top = False, input_tensor=resnet_input)
net = resnet_model.output

net = Flatten(name='flatten')(net) 
net = Dense(512, activation='relu', name='embded')(net)
net = Lambda(l2Norm, output_shape=[512])(net)

base_model = Model(resnet_model.input, net, name='resnet_model')

input_shape=(224,224,3)
input_anchor = Input(shape=input_shape, name='input_anchor')
input_positive = Input(shape=input_shape, name='input_pos')
input_negative = Input(shape=input_shape, name='input_neg')

net_anchor = base_model(input_anchor)
net_positive = base_model(input_positive)
net_negative = base_model(input_negative)

positive_dist = Lambda(euclidean_distance, name='pos_dist')([net_anchor, net_positive])
negative_dist = Lambda(euclidean_distance, name='neg_dist')([net_anchor, net_negative])

stacked_dists = Lambda( 
            lambda vects: K.stack(vects, axis=1),
            name='stacked_dists'
)([positive_dist, negative_dist]) …
Run Code Online (Sandbox Code Playgroud)

python conv-neural-network keras tensorflow

5
推荐指数
1
解决办法
3778
查看次数

如何重新启动heroku应用程序而不杀死未完成的celery任务

我在 Heroku 上有一个 Django Web 应用程序,其中多个 celery 任务可能在后台运行。Redis 用作代理。

问题是,当我在执行某些任务时使用heroku restart或通过部署重新启动heroku应用程序时,它们会被SIGTERM杀死,这意味着任务永远不会完成。heroku container:release

2018-11-23T19:35:24.506833+00:00 heroku[beat.1]: Restarting
2018-11-23T19:35:24.507645+00:00 heroku[beat.1]: State changed from up to starting
2018-11-23T19:35:24.517551+00:00 heroku[web.1]: Restarting
2018-11-23T19:35:24.518013+00:00 heroku[web.1]: State changed from up to starting
2018-11-23T19:35:24.528684+00:00 heroku[worker.1]: Restarting
2018-11-23T19:35:24.529175+00:00 heroku[worker.1]: State changed from up to starting
2018-11-23T19:35:24.952139+00:00 app[worker.1]: 
2018-11-23T19:35:24.952156+00:00 app[worker.1]: worker: Warm shutdown (MainProcess)
2018-11-23T19:35:24.949622+00:00 heroku[worker.1]: Stopping all processes with SIGTERM
2018-11-23T19:35:24.996307+00:00 heroku[worker.1]: Process exited with status 143
2018-11-23T19:35:25.456920+00:00 heroku[web.1]: Stopping all processes with SIGTERM
2018-11-23T19:35:25.480748+00:00 app[web.1]: [2018-11-23 …
Run Code Online (Sandbox Code Playgroud)

python django heroku celery

5
推荐指数
1
解决办法
1229
查看次数