我使用name_scope来管理变量的名称,因此它可以通过tensorboard很好地显示.但是我发现一些奇怪的东西,name_scope不会为tf.get_variable创建的变量添加前缀.所以代码引发了一个错误:
with tf.name_scope(self.networkName + '/conv1'):
self.conv1_w = tf.get_variable(shape = [8, 8, 4, 16], name = 'w', initializer=tf.contrib.layers.xavier_initializer())
self.conv1_b = tf.get_variable(shape = [16], name = 'b', initializer=tf.contrib.layers.xavier_initializer())
self.conv1_o = tf.nn.relu(tf.nn.conv2d(self.states, self.conv1_w, [1, 4, 4, 1], 'SAME') + self.conv1_b)
with tf.name_scope(self.networkName + '/conv2'):
self.conv2_w = tf.get_variable(shape = [4, 4, 16, 32], name = 'w', initializer=tf.contrib.layers.xavier_initializer())
self.conv2_b = tf.get_variable(shape = [32], name = 'b', initializer=tf.contrib.layers.xavier_initializer())
self.conv2_o = tf.nn.relu(tf.nn.conv2d(self.conv1_o, self.conv2_w, [1, 2, 2, 1], 'SAME') + self.conv2_b)
Run Code Online (Sandbox Code Playgroud)
ValueError:变量w已存在,不允许.
我可以使用variable_scope而不是name_scope吗?tensorboard可以在variable_scope上工作吗?
我尝试从tfrecords文件加载示例。我有一个类似的阅读器功能:
def read_record(filename_queue):
reader = tf.TFRecordReader()
key, record_string = reader.read(filename_queue)
features = {
"feature": tf.FixedLenFeature([], dtype=tf.string),
}
ex_dict = tf.parse_single_example(record_string, features)
ex_feature = tf.decode_raw(ex_dict["feature"], tf.float32)
return ex_feature
Run Code Online (Sandbox Code Playgroud)
但是之后
example_features = read_record(filename_queue)
values = sess.run({"features":example_features})
Run Code Online (Sandbox Code Playgroud)
停止并显示以下错误:
InvalidArgumentError:名称:,键:功能,索引:0。字节数!! =预期值。值大小:4096,但输出形状:[]由op u'ParseSingleExample / ParseExample / ParseExample'引起
有什么问题(我知道我可以提及实际尺寸,但我不想要这个)吗?
我正在使用包含3k图像的数据集从头开始训练VGG-16模型.我使用Tensorflow平台和8 cpu没有任何gpu.
训练率 - 0.01,
重量衰减 - 0.0005,
动量 - 0.9,
批量大小 - 64,
我已经训练了大约三天.但是训练的准确性在20个时期后保持不变,约为15%-20%.谁能给我一些提示来提高准确性?
parameters image-recognition neural-network deep-learning tensorflow
我试图将python降级到3.5.2所以我可以运行TensorFlow.在这里遇到一些问题,不知道为什么.我打开我的cmd并运行python- 显示Python 3.6.1正在运行.退出()退出cmd,然后键入conda install python=3.5.2.它显示当前安装了3.5.2,但无论出于何种原因,当我在cmd时python它仍然显示我的python是在verison 3.6.知道如何解决这个问题吗?
我已经开始在TF中实现fast-rcnn(基于VGG16).在我学习的过程中,如果我试图在所有层上进行反向传播,那么我就会遇到内存问题.但测试工作得很好.(我有一台带有6G内存的Gforce GTX 1060)
我想知道怎么来的?TF保存需要两次保存参数才能进行培训吗?
memory-management object-detection tensorflow tensorflow-gpu
我能获得预测值的概率吗?
我可以获得我的数据的准确性,但想以某种方式获取每个预测值的概率.
我的代码:
training_data = np.vstack(training_data)
training_target = np.vstack(training_target)
test_data = np.vstack(test_data)
test_target = np.vstack(test_target)
feature_columns = tf.contrib.learn.infer_real_valued_columns_from_input(training_data)
classifier = tf.contrib.learn.DNNClassifier(
feature_columns=feature_columns,
hidden_units=[10, 20, 10],
n_classes=3,
model_dir="/tmp/basic09",
optimizer=tf.train.ProximalAdagradOptimizer(
learning_rate=0.1,
l1_regularization_strength=0.001
)
)
def input_fn_train():
x = tf.constant(training_data)
y = tf.constant(training_target)
return x, y
def input_fn_test():
x = tf.constant(test_data)
y = tf.constant(test_target)
return x, y
def new_tests():
return np.array(
[
[33.33, 44.44],
], dtype=np.float32)
classifier.fit(input_fn=input_fn_train, steps=200)
score = classifier.evaluate(input_fn=input_fn_test, steps=1)
score_accuracy = score["accuracy"]
score_loss = score["loss"]
print("Score: ", score)
print("Accuracy: ", …Run Code Online (Sandbox Code Playgroud) 文档说它是1 d张量,但是,我没有弄清楚如何访问列表.
我更喜欢实际的变量而不是名称,因为我想通过它来初始化它们 tf.variables_initializer()
我正在尝试学习新的 Tensorflow API,但我对在哪里获得输入批处理张量的句柄有点迷茫,这样我就可以使用例如 tf.image 来操作和增强它们。
这是我当前的网络和管道:
trainX, testX, trainY, testY = read_data()
# trainX [num_image, height, width, channels], these are numpy arrays
#...
train_dataset = tf.data.Dataset.from_tensor_slices((trainX, trainY))
test_dataset = tf.data.Dataset.from_tensor_slices((testX, testY))
#...
iterator = tf.data.Iterator.from_structure(train_dataset.output_types,
train_dataset.output_shapes)
features, labels = iterator.get_next()
train_init_op = iterator.make_initializer(train_dataset)
test_init_op = iterator.make_initializer(test_dataset)
#...defining cnn architecture...
# In the train loop
TrainLoop {
sess.run(train_init_op) # switching to train data
sess.run(train_step, ...) # running a train step
#...
sess.run(test_init_op) # switching to test data
test_loss = sess.run(loss, ...) …Run Code Online (Sandbox Code Playgroud) 我见过使用内核和权重的 CNN 代码内核和权重有什么区别?
python machine-learning deep-learning conv-neural-network tensorflow
tensorflow ×10
python ×6
arrays ×1
file-io ×1
numpy ×1
parameters ×1
pip ×1
python-3.5 ×1
tensorboard ×1