我有一个模型,我已经训练了40个时代.我为每个时代保留了检查站,也保存了模型model.save().培训的代码是
n_units = 1000
model = Sequential()
model.add(LSTM(n_units, input_shape=(None, vec_size), return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(n_units, return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(n_units))
model.add(Dropout(0.2))
model.add(Dense(vec_size, activation='linear'))
model.compile(loss='mean_squared_error', optimizer='adam')
# define the checkpoint
filepath="word2vec-{epoch:02d}-{loss:.4f}.hdf5"
checkpoint = ModelCheckpoint(filepath, monitor='loss', verbose=1, save_best_only=True, mode='min')
callbacks_list = [checkpoint]
# fit the model
model.fit(x, y, epochs=40, batch_size=50, callbacks=callbacks_list)
Run Code Online (Sandbox Code Playgroud)
但是,当加载模型并再次训练时,它会重新开始,就像之前没有训练过一样.损失不是从上次培训开始的.
让我感到困惑的是,当我用重新定义的模型结构加载模型时load_weight,model.predict()效果很好.因此我相信模型权重被加载.
model = Sequential()
model.add(LSTM(n_units, input_shape=(None, vec_size), return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(n_units, return_sequences=True))
model.add(Dropout(0.2))
model.add(LSTM(n_units))
model.add(Dropout(0.2))
model.add(Dense(vec_size, activation='linear'))
filename = "word2vec-39-0.0027.hdf5"
model.load_weights(filename)
model.compile(loss='mean_squared_error', optimizer='adam')
Run Code Online (Sandbox Code Playgroud)
但是,当我继续训练时
filepath="word2vec-{epoch:02d}-{loss:.4f}.hdf5"
checkpoint = ModelCheckpoint(filepath, monitor='loss', …Run Code Online (Sandbox Code Playgroud) 我将Jupyter笔记本从旧版本更新到最新的5.3.1.但是,当我尝试从anaconda启动笔记本时,它会抛出一个导入错误:我试图删除并安装Jupyter包,但问题仍然存在.
Traceback (most recent call last):
File "C:\Users\v-kangsa\AppData\Local\Continuum\anaconda3\Scripts\jupyter-notebook-script.py", line 6, in
from notebook.notebookapp import main
File "C:\Users\v-kangsa\AppData\Local\Continuum\anaconda3\lib\site-packages\notebook\__init__.py", line 25, in
from .nbextensions import install_nbextension
File "C:\Users\v-kangsa\AppData\Local\Continuum\anaconda3\lib\site-packages\notebook\nbextensions.py", line 27, in
from jupyter_core.utils import ensure_dir_exists
ImportError: cannot import name 'ensure_dir_exists'
Run Code Online (Sandbox Code Playgroud) 我想实现一个节点接口,基本上是一个DAG,每个节点在它的输入连接上执行操作,并输出一些东西(你可以连接到另一个节点)
一些示例应用:
作为第一个目标,我想拥有一个只有2个节点的图形应用程序.一个简单输出一个固定数字的"数字"和一个"加"节点,它取两个输入并输出两者之和.
正如人们已经回答的那样,我对如何在代码中表示数据有一个粗略的想法,例如在Python中寻找伪代码:
class Number:
def __init__(self, value):
self.value = value
def eval(self):
return self.value
class Add:
def __init__(self, input1, input2):
self.input1 = input1
self.input2 = input2
def eval(self):
return self.input1.eval() + self.input2.eval()
a = Number(20)
b = Number(72)
adder = Add(a, b)
print adder.eval()
Run Code Online (Sandbox Code Playgroud)
我如何围绕此包装自定义GUI?像下面的东西,但略少手绘!

我从哪里开始?我目前打算用Objective-C/Cocoa编写它,尽管我对其他语言的建议不仅仅是开放的.
我的OSX安装的Cassandra似乎已经被昨天的发布打破了.卡桑德拉似乎开始行了.
Jeremys-MacBook-Pro: fractal jeremy$ cqlsh --version
cqlsh 5.0.1
Jeremys-MacBook-Pro:fractal jeremy$ cqlsh localhost
Traceback (most recent call last):
File "/usr/local/Cellar/cassandra/3.11.2/libexec/bin/cqlsh.py", line 2443, in <module>
main(*read_options(sys.argv[1:], os.environ))
File "/usr/local/Cellar/cassandra/3.11.2/libexec/bin/cqlsh.py", line 2421, in main
encoding=options.encoding)
File "/usr/local/Cellar/cassandra/3.11.2/libexec/bin/cqlsh.py", line 488, in __init__
**kwargs)
File "cassandra/cluster.py", line 735, in cassandra.cluster.Cluster.__init__ (cassandra/cluster.c:10935)
TypeError: __init__() got an unexpected keyword argument 'no_compact'
Run Code Online (Sandbox Code Playgroud) 我已经看到很多关于获取所有可能的子串(即,相邻的字符集)的问题,但没有关于生成所有可能的字符串,包括其子串的组合.
例如,让:
x = 'abc'
Run Code Online (Sandbox Code Playgroud)
我希望输出类似于:
['abc', 'ab', 'ac', 'bc', 'a', 'b', 'c']
Run Code Online (Sandbox Code Playgroud)
重点是我们可以删除原始字符串中不相邻的多个字符(以及相邻的字符).
这是我到目前为止所尝试的:
def return_substrings(input_string):
length = len(input_string)
return [input_string[i:j + 1] for i in range(length) for j in range(i, length)]
print(return_substrings('abc'))
Run Code Online (Sandbox Code Playgroud)
但是,这只会从原始字符串中删除相邻字符串集,并且不会返回'ac'上面示例中的元素.
另一个例子是,如果我们使用字符串'abcde',输出列表应该包括的内容'ace','bd'等等.
我正在使用小数字tensorflow,这有时会导致数值不稳定.
我想提高结果的精确度,或者至少确定我的结果的界限.
下面的代码显示了一个数字错误的具体示例(它输出nan而不是0.0,因为float64不够精确地处理1+eps/2):
import numpy as np
import tensorflow as tf
# setup
eps=np.finfo(np.float64).eps
v=eps/2
x_init=np.array([v,1.0,-1.0],dtype=np.float64)
x=tf.get_variable("x", initializer=tf.constant(x_init))
square=tf.reduce_sum(x)
root=tf.sqrt(square-v)
# run
with tf.Session() as session:
init = tf.global_variables_initializer()
session.run(init)
ret=session.run(root)
print(ret)
Run Code Online (Sandbox Code Playgroud)
我假设没有办法增加tensorflow中值的精度.但也许有可能设置舍入模式,就像在C++中使用std::fesetround(FE_UPWARD)?然后,我可以强制张量流总是向上舍入,这将确保我采用非负数的平方根.
我尝试了什么:我试图按照这个问题概述如何设置python/numpy的舍入模式.但是,这似乎不起作用,因为以下代码仍然打印nan:
import numpy as np
import tensorflow as tf
import ctypes
FE_TONEAREST = 0x0000 # these constants may be system-specific
FE_DOWNWARD = 0x0400
FE_UPWARD = 0x0800 …Run Code Online (Sandbox Code Playgroud) 在试图在Pycharm中为Python 3.6解释器安装软件包时,我得到了
Python packaging tools not found. *Install packaging tools*
Run Code Online (Sandbox Code Playgroud)
当我试图安装它时,给我这个错误
Traceback (most recent call last):
File "C:\Program Files\JetBrains\PyCharm Community Edition
2017.3.1\helpers\packaging_tool.py", line 2, in <module>
import traceback
ModuleNotFoundError: No module named 'traceback'
Run Code Online (Sandbox Code Playgroud)
我正在使用Pycharm 2017.3.1社区版
我正在尝试根据 Udacity此处提供的给定文件在 Anaconda 中创建一个新环境。但是,我不断收到此错误:
SpecNotFound:无法处理没有名称
我认为这是因为在给定的文件中,没有环境名称。我注意到了这一点,因为在我当前环境的导出 yaml 文件中,我有以下格式与上述给定的 requirements.txt 文件不同。
所以问题是,如何使用给定的文件创建新环境?谢谢!
name: base
channels:
- anaconda
- conda-forge
- anaconda-fusion
- defaults
dependencies:
- graphviz=2.38.0=4
- vs2017_runtime=15.5.2=1
- backports.functools_lru_cache=1.4=py36_1
- blinker=1.4=py_0
- ca-certificates=2017.11.5=0
- certifi=2017.11.5=py36_0
- oauthlib=2.0.6=py_0
- openssl=1.0.2n=vc14_0
- pyjwt=1.5.3=py_0
- python-json-logger=0.1.7=py36_0
- requests-oauthlib=0.8.0=py36_1
- tweepy=3.5.0=py36_0
- vc=14=0
- yaml=0.1.7=vc14_0
- _license=1.1=py36_1
- alabaster=0.7.10=py36hcd07829_0
- anaconda-client=1.6.6=py36ha174c20_0
- anaconda=custom=py36h363777c_0
- anaconda-navigator=1.6.10=py36h51c3d4f_0
- anaconda-project=0.8.2=py36hfad2e28_0
- asn1crypto=0.24.0=py36_0
- astroid=1.5.3=py36h9d85297_0
- astropy=2.0.3=py36hfa6e2cd_0
- attrs=17.3.0=py36hc87868e_0
- babel=2.5.0=py36h35444c1_0
- backports=1.0=py36h81696a8_1
- …Run Code Online (Sandbox Code Playgroud) Scikitlearn的PolynomialFeatures有助于生成多项式特征.
这是一个简单的例子:
import numpy as np
import pandas as pd
from sklearn.preprocessing import PolynomialFeatures
# Example data:
X = np.arange(6).reshape(3, 2)
# Works fine
poly = PolynomialFeatures(2)
pd.DataFrame(poly.fit_transform(X))
0 1 2 3 4 5
0 1 0 1 0 0 1
1 1 2 3 4 6 9
2 1 4 5 16 20 25
Run Code Online (Sandbox Code Playgroud)
问题:是否有能力仅将多项式变换应用于指定的要素列表?
例如
# Use previous dataframe
X2 = X.copy()
# Categorical feature will be handled
# by a one hot encoder in another …Run Code Online (Sandbox Code Playgroud) 我正在尝试访问我的 Watson Data Platform 目录中的 csv 文件。我使用了 DSX 笔记本中的代码生成功能:Insert to code> Insert StreamingBody object。
生成的代码是:
import os
import types
import pandas as pd
import boto3
def __iter__(self): return 0
# @hidden_cell
# The following code accesses a file in your IBM Cloud Object Storage. It includes your credentials.
# You might want to remove those credentials before you share your notebook.
os.environ['AWS_ACCESS_KEY_ID'] = '******'
os.environ['AWS_SECRET_ACCESS_KEY'] = '******'
endpoint = 's3-api.us-geo.objectstorage.softlayer.net'
bucket = 'catalog-test'
cos_12345 = boto3.resource('s3', endpoint_url=endpoint) …Run Code Online (Sandbox Code Playgroud)