我是keras的新手,当我试图在我的linux上运行我的第一个keras程序时,有些事情并没有按照我的意愿去做.这是我的python代码:
import numpy as np
np.random.seed(123)
from keras.models import Sequential
from keras.layers import Dense, Dropout, Activation, Flatten
from keras.layers import Convolution2D, MaxPooling2D
from keras.utils import np_utils
from keras.datasets import mnist
(X_train,y_train),(X_test,y_test) = mnist.load_data()
print X_train.shape
from matplotlib import pyplot as plt
plt.imshow(X_train[0])
Run Code Online (Sandbox Code Playgroud)
最后一句没有显示任何内容.我从教程中复制了那些代码而没有任何修改.在我的计算机上matplotlib的后端没有任何问题.我通过下面的代码测试了它.
import matplotlib.pyplot as plt
data = [[0, 0.25], [0.5, 0.75]]
fig, ax = plt.subplots()
im = ax.imshow(data, cmap=plt.get_cmap('hot'), interpolation='nearest',
vmin=0, vmax=1)
fig.colorbar(im)
plt.show()
Run Code Online (Sandbox Code Playgroud)
而且,我可以打印X_train [0],看起来没有错.
那可能是什么原因呢?为什么我的第一个代码中的imshow()函数没有显示任何内容?
DataFrame.to_hdf(path_or_buf, key, **kwargs)
Run Code Online (Sandbox Code Playgroud)
在pandas官方文档中,据说密钥是商店中组的标识符.
但是,这是什么意思?不过,我找不到足够的例子.我已经为参数键尝试了一些任意值,但我没有看到它们之间有任何区别.有时,api引用可能非常模糊.谁能给我一些例子来帮助我更好地理解参数键?
\K意味着重置匹配的开始,当不支持复杂的lookbehind(即,它不允许+和*用于lookbehind)时,这非常有用。它很好地满足了我的需求,但是,当我尝试在 python 中使用它时,它报告bad escape \K. 以下是我的Python代码:
re.sub(r'\[\n[ ]+\d+, ?\n[ ]+\K\d+(?=, ?\n[ ]+(?:true|false)\n[ ]+\])', '__table1.column__', content)
Run Code Online (Sandbox Code Playgroud) 我们知道,html中的表单数据可以通过GET方法或POST方法提交.
但是在Http RFC中,据说
特别是已经确定了GET和HEAD方法不具有采取除检索之外的动作的重要性的约定.
那么为什么我们可以通过GET方法将表单数据提交给服务器呢?应该使用GET方法进行检索吗?
这是此异常的日志:
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure
The last packet successfully received from the server was 1,409,240 milliseconds ago. The last packet sent successfully to the server was 1,409,267 milliseconds ago.
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source)
at java.lang.reflect.Constructor.newInstance(Unknown Source)
at com.mysql.jdbc.Util.handleNewInstance(Util.java:425)
at com.mysql.jdbc.SQLError.createCommunicationsException(SQLError.java:989)
at com.mysql.jdbc.MysqlIO.nextRowFast(MysqlIO.java:2229)
at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1989)
at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:3410)
at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:470)
at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:3112)
at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:2341)
...
Caused by: java.io.EOFException: Can not read response from server. Expected to read 7 bytes, read 5 bytes before connection was unexpectedly lost. …Run Code Online (Sandbox Code Playgroud) 文档里说可以通过参数metric_freq来设置频率。我也试过参数verbose,参数设置为
params = {
'task': 'train',
'boosting_type': 'gbdt',
'objective': 'binary',
'metric': { 'binary_logloss'},
'metric_freq':10,
'num_leaves': 511,
'max_depth':8,
'learning_rate': 0.1,
'feature_fraction': 1,
'bagging_fraction': 0.8,
'bagging_freq': 1,
'verbose':10
}
Run Code Online (Sandbox Code Playgroud)
但是,我仍然得到如下结果,
[1] valid_0's binary_logloss: 0.607487
Train until valid scores didn't improve in 5 rounds.
[2] valid_0's binary_logloss: 0.537403
[3] valid_0's binary_logloss: 0.479081
[4] valid_0's binary_logloss: 0.429961
[5] valid_0's binary_logloss: 0.388182
[6] valid_0's binary_logloss: 0.35239
[7] valid_0's binary_logloss: 0.321529
[8] valid_0's binary_logloss: 0.294795
[9] valid_0's binary_logloss: 0.271543
[10] valid_0's binary_logloss: 0.251267
[11] valid_0's binary_logloss: …Run Code Online (Sandbox Code Playgroud) For example,
class BasicTransitionFunction(TransitionFunction[GrammarBasedState]):
...
Run Code Online (Sandbox Code Playgroud)
where TransitionFunction is the base class of BasicTransitionFunction, and GrammarBasedState is also a class name. I only know that [] can be used to indexed arrays. What does it mean here?
众所周知, 有两个参数add_graph(),第一个参数是我们想要可视化的模型对象,第二个参数只是模型的输入。输入可以很随意,即我们可以简单地随机生成一个具有我们想要的形状的输入并将其提供给add_graph()。那么将输入作为参数有什么意义呢?在我看来,这个参数只提供了一个输入张量的形状信息,但是我们可以直接从模型定义中得到这个信息,对吧?而且无论我们输入什么输入add_graph(),tensorboard 打印的计算图总是相同的。我真的很困惑。
pattern = '(ns:m\.[^ ]+ )|(ns:g\.[^ ]+ )'
query = "PREFIX ns: <http://rdf.freebase.com/ns/>\nSELECT DISTINCT ?x\nWHERE {\nFILTER (?x != ns:m.0pz91)\nFILTER (!isLiteral(?x) OR lang(?x) = '' OR langMatches(lang(?x), 'en'))\nns:m.0pz91 ns:film.producer.film ?x .\n?x ns:film.film.genre ?c .\n?c ns:film.film_genre.films_in_this_genre ns:g.11b5lzm6b0 . \n}"
entities = re.findall(pattern, query)
Run Code Online (Sandbox Code Playgroud)
我所试图做的是找到我的查询,即所有的游离碱的实体,'ns:g.11b5lzm6b0'并'ns:m.0pz91'在我的例子。但是,我编写的代码返回[('ns:m.0pz91)\nFILTER ', ''), ('ns:m.0pz91 ', ''), ('', 'ns:g.11b5lzm6b0 ')]而不是['ns:m.0pz91 ', 'ns:g.11b5lzm6b0 '].
我通过使用 2 个单独的正则表达式解决了这个问题,即,ns:m\.[^ ]+和ns:g\.[^ ]+,但是,我仍然不明白为什么我不能直接使用(ns:m\.[^ ]+ )|(ns:g\.[^ ]+ )来匹配ns:m\.[^ ]+或ns:g\.[^ ]+ …
我正在训练一个神经网络模型,我的模型很好地拟合了训练数据。训练损失稳定下降。一切正常。
但是,当我输出模型的权重时,我发现它自随机初始化以来并没有太大变化(我没有使用任何预训练的权重。所有权重在 PyTorch 中默认初始化)。权重的所有维度仅变化约 1%,而训练数据的准确率从 50% 攀升至 90%。什么可以解释这种现象?权重的尺寸是否太高,我需要减小模型的尺寸?或者还有其他可能的解释吗?
我知道这是一个相当广泛的问题,但我认为在这里展示我的模型并对其进行数学分析是不切实际的。所以我只想知道这个问题的一般/常见原因是什么。
python ×8
python-3.x ×2
regex ×2
data-mining ×1
get ×1
html ×1
http ×1
jdbc ×1
keras ×1
lightgbm ×1
matplotlib ×1
mysql ×1
pandas ×1
python-3.6 ×1
pytorch ×1
rest ×1
tensorboard ×1
tensorflow ×1
torch ×1
web ×1