我正在为Tensorflow(不是Keras或Tflearn)中直接编写的代码搜索超参数调整包.你能提一些建议吗?
optimization machine-learning bayesian hyperparameters tensorflow
我已经创建了 AVD,但是当我尝试运行 android 程序时,它显示一个错误
您的 CPU 不支持 VT-x
我在 BIOS 中启用了虚拟化技术,但是当我尝试运行我的 android 程序时仍然出现这个错误。
我正在用TensorFlow进行一些实验,并遇到了障碍.我正在尝试使用TF来评估模型中的变化,然后根据损失函数的结果变化保留或恢复模型.我已经找到了困难的部分(条件控制),但我坚持一些应该相当简单的事情:我似乎无法存储一个tf.trainable_variables迭代,然后在需要时恢复它.
让我们说一个构建一个Op:
...
store_trainable_vars = []
for v in tf.trainable_variables():
store_trainable_vars.append(v)
...
Run Code Online (Sandbox Code Playgroud)
然后,我想恢复tf.trainable_variables到上次运行此操作时的值.我想做的事情如下:
def reject_move():
revert_state = []
for (v, s) in zip(tf.trainable_variables(), store_trainable_vars):
revert_state.append(tf.assign(v, s, name="revert_state"))
return(revert_state)
Run Code Online (Sandbox Code Playgroud)
显然,这将重新评估store_trainable_vars,这反过来又与现在的价值相关联tf.trainable_variables(),从而避免了revert_stateOp.我需要一些方法来存储和检索Tensors的值,而不回调那些Tensors的现值.就像是
...
store_trainable_vars = []
for v in tf.trainable_variables():
store_trainable_vars.append(v.value_right_now())
...
Run Code Online (Sandbox Code Playgroud)
其中v.value_right_now()返回一个在被覆盖之前不会改变的常量.
我知道我可以使用Saver,但是该解决方案会写入磁盘,这对于此应用程序是不可接受的,因为它将在训练循环内运行.
我可能错过了一些明显的东西 - 任何指导都会受到赞赏.
LDA 与朴素贝叶斯在机器学习分类方面的优缺点是什么?
我知道一些差异,比如朴素贝叶斯假设变量是独立的,而 LDA 假设高斯类条件密度模型,但我不明白什么时候使用 LDA,什么时候使用 NB 取决于情况?
classification machine-learning naivebayes linear-discriminant machine-learning-model
我试图弄清楚为什么tf.get_default_session()总是返回None类型:
import tensorflow as tf
tf.reset_default_graph()
init=tf.global_variables_initializer()
sess = tf.Session()
sess.run(init)
default = tf.get_default_session()
default == None # True
Run Code Online (Sandbox Code Playgroud)
我不知道为什么default = tf.get_default_session(),None因为我认为它应该返回上一个会话.任何人都可以弄清楚我的代码有什么问题吗?
在使用TensorFlow很长一段时间之后,我已经阅读了一些Keras教程并实现了一些示例.我找到了几个keras.losses.binary_crossentropy用作损失函数的卷积自动编码器的教程.
我想binary_crossentropy应该不会是一个多级的损失函数,并最有可能使用二进制标签,但实际上Keras(TF Python的后端)称tf.nn.sigmoid_cross_entropy_with_logits,这实际上是用于与多个独立的类是分类任务不是相互排斥的.
另一方面,我的期望categorical_crossentropy是用于多类分类,其中目标类彼此依赖,但不一定是单热编码.
但是,Keras文档指出:
(...)当使用categorical_crossentropy损失时,你的目标应该是分类格式(例如,如果你有10个类,每个样本的目标应该是一个10维向量,在索引处为1的全0期望对应于样本的类别).
如果我没有记错,这只是单热编码分类任务的特例,但潜在的交叉熵损失也适用于概率分布("多类",依赖标签)?
此外,Keras使用tf.nn.softmax_cross_entropy_with_logits(TF python后端)实现,其本身指出:
注意:虽然这些类是互斥的,但它们的概率不一定是.所需要的只是每行标签是有效的概率分布.如果不是,则梯度的计算将是不正确的.
如果我错了,请纠正我,但在我看来Keras文档是 - 至少 - 不是非常"详细"?!
那么,Keras命名损失函数背后的想法是什么?文档是否正确?如果二进制交叉熵真的依赖于二进制标签,它就不适用于自动编码器,对吧?!同样,分类的交叉熵:如果文档是正确的,应该只适用于一个热门的编码标签?!
我试图用keras训练LSTM模型,但我觉得我在这里弄错了.
我收到了错误
ValueError:检查输入时出错:预期lstm_17_input有3个维度,但得到的数组有形状(10000,0,20)
而我的代码看起来像
model = Sequential()
model.add(LSTM(256, activation="relu", dropout=0.25, recurrent_dropout=0.25, input_shape=(None, 20, 64)))
model.add(Dense(1, activation="sigmoid"))
model.compile(loss='binary_crossentropy',
optimizer='adam',
metrics=['accuracy'])
model.fit(X_train, y_train,
batch_size=batch_size,
epochs=10)
Run Code Online (Sandbox Code Playgroud)
哪里X_train有一个形状,(10000, 20)前几个数据点是这样的
array([[ 0, 0, 0, ..., 40, 40, 9],
[ 0, 0, 0, ..., 33, 20, 51],
[ 0, 0, 0, ..., 54, 54, 50],
...
Run Code Online (Sandbox Code Playgroud)
并且y_train具有(10000, )二进制(0/1)标签数组的形状.
有人能指出我错在哪里吗?
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
dataset = pd.read_csv("Churn_Modelling.csv")
X = dataset.iloc[:,3:13].values
Y = dataset.iloc[:,13:].values
from sklearn.preprocessing import OneHotEncoder,LabelEncoder,StandardScaler
enc1=LabelEncoder()
enc2=LabelEncoder()
X[:,1] = enc1.fit_transform(X[:,1])
X[:,2] = enc2.fit_transform(X[:,2])
one = OneHotEncoder(categorical_features=[1])
X=one.fit_transform(X).toarray()
X = X[:,1:]
from sklearn.model_selection import train_test_split
Xtrain,Xtest,Ytrain,Ytest = train_test_split(X,Y,random_state=0,test_size=0.2)
scale = StandardScaler()
scale.fit_transform(Xtrain)
scale.transform(Xtest)
from keras.wrappers.scikit_learn import KerasClassifier
from sklearn.model_selection import cross_val_score
from keras.models import Sequential
from keras.layers import Dense
def func1():
net = Sequential()
net.add(Dense(input_dim=11,units=6,activation="relu",kernel_initializer='uniform'))
net.add(Dense(units=6,activation="relu",kernel_initializer='uniform'))
net.add(Dense(units=1,activation="sigmoid",kernel_initializer='uniform'))
net.compile(optimizer='adam',metrics=['accuracy'],loss='binary_crossentropy')
return net
classfier …Run Code Online (Sandbox Code Playgroud) 我知道如何在使用张量板训练后可视化张量流图.现在,是否可以只显示图形的前向部分,即没有定义训练操作符?
我问这个的原因是我收到了这个错误:
No gradients provided for any variable, check your graph for ops that do not support gradients, between variables [ ... list of model variables here ... ] and loss Tensor("Mean:0", dtype=float32).
Run Code Online (Sandbox Code Playgroud)
我想检查图表以找出梯度张量流(双关语意图)被打破的位置.
python visualization machine-learning tensorflow tensorboard
任何人都可以解释什么数据时间主要和批次主要意味着什么是它们之间的区别?
tensorflow ×8
python ×7
keras ×3
lstm ×2
android ×1
bayesian ×1
cpu ×1
naivebayes ×1
optimization ×1
rnn ×1
tensorboard ×1