所以,我对feed变量有一些问题。我想冻结我的模型的权重和偏差。我有下一个变量:
wc1 = tf.Variable(tf.random_normal([f1, f1, _channel, n1], mean=0, stddev=0.01), name="wc1")
wc2 = tf.Variable(tf.random_normal([f2, f2, n1, n2], mean=0, stddev=0.01), name="wc2")
wc3 = tf.Variable(tf.random_n
我想用TensorFlow运行套索回归。由于套索回归只是简单地将L1范数添加到成本中,我将把我的成本术语定义为
cost = RSS + tf.nn.l1_norm(Weight) or
cost = RSS + tf.reduce_sum(tf.abs(Weight))
train = tf.train.GradientDescentOptimizer(cost)
上述代码是否作为套索回归?我的一个问题是,在这种情况下,我是否可以使用梯度下降法。
套索回归具有无微分点,坐标下降被广泛使用,这
我目前正在使用tf.contrib.metrics.streaming_mean_iou来计算iou精度。这个函数只返回mean_iou,而我需要每个类的精度
我该怎么办 看起来像你需要的。一旦你有了混淆矩阵,你就可以了。是的,它可以工作。同时,我发现这个函数的工作方式是相同的,并且有一个局部变量,它被添加到集合中。有没有办法访问局部变量?我想我明白了。我可以使用tf.local_variables()获取所有局部变量。虽然我的程序中只有一个局部变量,但我得到了它。如果有更多的变量,我可以过滤它
在进行分布式异步培训时,需要让所有工作人员在某个时间等待同步模型参数,例如,在一个历元完成后进行同步,并计算验证集上的auc
MPI_屏障在使用MPI时已经足够好了,tensorflow中是否有类似的功能?您可以使用共享计数器变量来实现屏障。也就是说,按照3.6.4从你可以做这样的事情
# N is number of workers
def barrier():
sess.run(counter_adder_ops[0])
while sess.run(counter_va
最近我在Kaggle中玩树叶分类问题。我看到一本笔记本。但是,当我试图用Tensorflow构建同一个模型时,它产生的精度非常低,损失变化很小。这是我的密码:
import tensorflow as tf
import numpy as np
import pandas as pd
from sklearn.preprocessing import scale,StandardScaler
#preparing data
train=pd.read_csv('E:\\DataAnalysis
我正在研究这一点,我在下面的代码中发现:在评估预测时,他运行精度,这运行正确的变量,这反过来运行预测,这将使用随机数重新初始化权重,并重建NN模型。这是怎么回事?我错过了什么
def神经网络模型(数据):
隐藏的_1_层={'weights':tf.Variable(tf.random_normal([784,n_nodes_hl1]),
“偏差”:tf.Variable(tf.random_normal([n_nodes_hl1]))
隐藏的_2_层={'weights':tf.Variabl
我想用tensorflow中的两个DIM来连接张量
例如,有四个四维张量。所有张量都类似于tensorflow中的图像,因此每个维度都表示以下内容:[批量大小、图像宽度大小、图像高度大小、图像通道大小]
import tensorflow as tf
image_tensor_1 = 1*tf.ones([60, 2, 2, 3])
image_tensor_2 = 2*tf.ones([60, 2, 2, 3])
image_tensor_3 = 3*tf.ones([60, 2, 2, 3
从github代码来看,MatMul op似乎不支持分区矩阵。那么tensorflow中是否有任何工具支持两个分布在多个节点上的巨大矩阵的乘法?tensorflow内置了跨机器分布计算的支持。我建议阅读分布式TensorFlow文档,了解如何设置TensorFlow集群
设置集群后,您可以决定如何对问题进行分区,并使用tf.device将每个工人分配到他们的工作分区中
例如,假设您要将a*a'相乘,并且希望将中间乘法平均分割到2个辅助运算器上,并且在第3个辅助运算器上计算聚合结果
您可以这样做:
我不确定这是否是提出这个问题的正确地点。我正在跟踪,并遇到了以下示例代码:
W = tf.Variable([.3], tf.float32)
b = tf.Variable([-.3], tf.float32)
x = tf.placeholder(tf.float32)
linear_model = W * x + b
In the section on loss function it has the following:
y = tf.placeholder(tf.float
我已经为这个问题编写了以下代码,其中有两个卷积层(简称Conv1和Conv2),我想绘制每个层的所有输出(它是自包含的)。Conv1的一切都很好,但我遗漏了一些有关Conv2的信息
我正在将一个1x2x5x25(num images、num channels、height、width(我的约定,既不是TF也不是Theano约定))图像馈送到具有四个5x5过滤器的Conv1。这意味着它的输出形状是4x1x1x25x25(num过滤器、num图像、num通道、高度、宽度),结果是4个绘图
现在,该输
我用tensorboard来监控我的训练过程,图很好,但有些图让我感到困惑
首先使用队列库py:(它使用队列和多线程读取二进制数据,参考)
在main函数中,我写:
data_train,labels_train=Using_Queues_Lib.inputs(
filenames=r'./training.dat',
batch_size=32,
data_le
在使用tensorflow代码库进行开发时,工作流似乎是
更改代码
运行bazel构建
构建pip包
安装pip包
测试更改
这太笨重了。在源代码树中编译和测试更改有什么诀窍吗?类似于设置自己的PYTHONPATH
我知道tensorflow不允许从源树中导入。例如
您可以使用bazel运行Tensorflow测试用例,无需安装任何东西,只需运行
bazel test //tensorflow/...
(或者您可以使用更精确的路径来运行单个测试用例。)
我建议您通过编写测试用例并使用baz
你可以在官方网站上找到一步一步的样品:
您可以在官方网站上找到分步示例:
每个步骤的指南可能不是很清楚。
你可以试试
bazel build tensorflow/compiler/aot/tests:tfcompile\u test
bazel-bin/tensorflow/compiler/aot/tests/tfcompile\u test
例如。每个步骤中的指南可能不是很清楚。
你可以试试
bazel build tensorflow/compiler/aot/tests:tfcompi
我想建立一个多标签分类模型(每个示例都有多个标签,每个示例的标签数量不是固定的)。例如,示例1可能有类标签“X”、“Y”,而示例2有类标签“X”、“Y”和“Z”。我的目标是计算这个多标签分类模型的交叉熵损失
我的第一个解决方案是手动创建目标类的稠密one hot表示并计算损失。然而,当我的词汇量为O(10K)时,这个解决方案的速度很慢。我想知道是否有更有效的方法来做到这一点
[更新以提供相关代码]
## During the data input phrase
def input_fn():
看看这个,逻辑是:
'''grads depend on total_loss'''
grads = optimizer.compute_gradients(
total_loss,
variables_to_train,
gate_gradients=gate_gradients,
aggregation_method=aggregation_method,
colocate_gradients_with_ops=colocate_gradients_w
在TensorFlow中,当张量的维数较大时,为了调试目的,只打印张量的某些部分很有用,例如二维矩阵的对角线。我只知道如何打印整个张量,如下所示:
sess = tf.InteractiveSession()
a = tf.constant(1.0, shape=[1000, 1000])
a = tf.Print(a, [a], "print entire a\n", summarize=1000000)
b = a + 1.
ret = sess.run(b)
上面的代码将打印整个“a”张
标签: Tensorflow
object-detectionobject-detection-api
如何使用Google的对象检测API的推理脚本获取生成的边界框的坐标?我知道打印框[0][I]返回图像中第I次检测的预测,但这些返回的数字的确切含义是什么?有没有办法让我得到xmin,ymin,xmax,ymax?提前感谢。您提到的框数组包含此信息,格式为[N,4]数组,其中每行的格式如下:
[ymin,xmin,ymax,xmax]在相对于输入图像大小的标准化坐标中。Google对象检测API以[ymin,xmin,ymax,xmax]格式和标准化形式返回边界框(完整解释)。要找到(x,y)像
我正在训练一个数据很少的猫/狗模型。我运行了上给出的精确代码,但精度保持在0.5并且从未改变
我的keras版本是2.0.9
Found 2000 images belonging to 2 classes.
Found 800 images belonging to 2 classes.
Epoch 1/50
125/125 [==============================] - 150s 1s/step - loss: 0.7777 - acc: 0.4975 - val_lo
对于解码png图像,我们通常使用以下代码段
image_placeholder = tf.placeholder(tf.string)
image_tensor = tf.read_file(image_placeholder)
image_tensor = tf.image.decode_png(image_tensor, channels=1)
为了使用Tensorflow服务部署一个模型,我使用了我自己版本的模型的示例。下面是该程序中用于读取传入tensorproto的代码
image_
我一直在寻找后面的预训练网络——通过RNN进行时间序列分析的resnet等价物
同一篇论文中有一些文章和几份出版物,但重量和结构本身并不容易找到
有人知道怎么找到它吗?它对公众开放吗?看起来有人在对这个问题的回答中回答了这个问题
目前还没有向公众开放
似乎sess.run(tf.assign(…)返回此变量的新值。这似乎效率低下,因为我不需要该值,而且该值是一个大矩阵。如何在不返回新值的情况下执行赋值?如果给sess.run()an而不是a,它将执行赋值并返回None(而不是Tensor值)
您可以使用张量属性访问底层操作
打印(sess.run(tf.assign(…).op)
#>没有
我将尝试此方法并向您报告。
使用TensorFlow 1.9,我想在一个Python文件中训练一个神经网络,然后使用另一个Python文件恢复该网络。我尝试使用一个简单的例子来实现这一点,但当我尝试加载“预测”操作时,我收到了一个错误。具体地说,错误是:KeyError:“名称‘prediction’指的是不在图形中的操作。”
下面是我用来训练和保存网络的Python文件。它生成一些示例数据并训练一个简单的神经网络,然后每个历元保存该网络
import numpy as np
import tensorflow as tf
我有Jetson TX2、python 2.7、Tensorflow 1.5、CUDA 9.0
Tensorflow似乎正在工作,但每次我运行程序时,都会收到以下警告:
将tf.Session()作为sess:
print(sess.run(y,feed_dict))
...
2018-08-07 18:07:53.200320:E
tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:881]无法打开文件以读取NUMA节点:/sys/bus
我尝试过使用不同版本的TensorFlow,我尝试过设置不同的路径,但无论我做什么,我都会得到以下错误。
我在Windows7 Professional上使用Spyder v3.2.8、Python v3.6.6和TensorFlow v1.11.0
进口干酪
使用TensorFlow后端。
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
进口干酪
文件“C:\Users\dchisholm\AppData\Local\Continuum\anaconda3.3.7\envs\Python
我有1000张狗和1000张猫的照片
我已经训练了一个小型CNN对这个数据集进行分类,验证/测试集的准确率都是99%+
但是,我注意到,当我输入的不是猫或狗时,例如汽车,分类器(有时)会给出猫或狗的高置信度
为什么会这样?我知道CNN只接受过两门课的训练,但是如果它看到一些完全随机的东西,它不应该对两门课都输出一个较低的信心吗
我假设这个问题可以通过(其他随机对象和动物的)负面例子来解决,但问题变成了:需要多少负面例子才能真正涵盖所有可能的随机图像(不是猫或狗的图像)的分布?如果网络仅针对狗/猫
我尝试在我的桌面ubuntu和Cuda GPU上运行mobilenet_v2_1.0_224.tflite模型。
但默认情况下,它只在CPU上运行
我怎样才能让它也在cuda GPU上运行
顺便说一句,我能够使用nnapi在移动设备加速器上运行相同的功能。
问候,
我没有sudo访问已安装cuda的远程pc的权限。现在,我必须在该系统上安装tensorflow gpu。请给我一步一步的指南,安装它没有sudo
操作系统:Ubuntu18.04我以前不得不这么做。基本上,我安装了miniconda(你也可以使用anaconda,同样的东西,没有sudo也可以安装),并使用conda安装了所有东西
创建并激活我的环境:
conda create --name myenv python=3.6.8
conda actiavate myenv
安装CUDA th
使用TF2.0和tfp概率层,我构建了一个keras.sequential模型。我想将其导出,以便与TensorFlow服务一起使用,我想将预处理和后处理步骤包括在可服务的中
我的预处理步骤相当简单——用显式值填充NAs、将一些字符串编码为浮点、规范化输入和反规范化输出。为了培训,我一直在与pandas和numpy一起进行前/后处理
我知道我可以导出我的Keras模型的权重,将Keras.sequential模型的架构封装在一个更大的TensorFlow图中,使用诸如tf.math.subtra
我花了一天多的时间,非常沮丧。我怀疑这是Tensorflow 1.13.1(稳定版本)中的一个bug
总之,我创建了一个模型子类样式的自定义模型,它只包含一个自定义层。在初始化之后,我使用save_weights和load_weights函数将其可训练权重转储到文件中并将其恢复。保存前后的可训练重量不同
我还在Tensorflow 2.0.0a0上运行了相同的测试,结果证明这个版本没有出现这种现象
我的自定义图层:
class EncodingLayer(tf.keras.layers.Laye
因此,我有一个tensorflow图保存在.pb文件中,它在我的机器上运行得很好,但是当我在tensorflow v 1.3上运行它时,它可以很好地加载,尽管它会因以下错误而崩溃
InvalidArgumentError (see above for traceback): No OpKernel was registered to support Op 'Reshape' with these attrs. Registered devices: [CPU], Registered kern
我需要使用TPUEstimator实现一个布尔屏蔽操作。未实现tf.boolean_掩码。有解决办法吗
以下代码在CPU和GPU上非常适合我:
all_out = model.get_sequence_output()
P = tf.boolean_mask(all_out, P_mask)
所有这些都是一个形状为[?,128768]的张量
p_掩模是形状[?,128],第二个维度是一个热编码的维度,表示要提取的所需张量
p的理想形状为[?,768]
当我使用TPUEstimator在
我使用Keras和Tensorflow后端解决分类问题。可以限制我的程序使用的CUDA内核吗?我已经设法限制GPU内存使用以并行运行多个支持cuda的程序,但我还需要限制cuda内核
我正在使用贝叶斯神经网络。我之前体验过f1分数的nan,我使用的其他指标(FPR、TPR、精度和召回率)在我运行模拟时都会给出随机值。现在我用这个
f1没有给出nan,但其他指标不断给出零输出
I previously tried to compute the values of the performance metrics I am using in the models as follows: #TP, TN, FP, FN
TP = tf.count_nonzero(predic
当我打印一个张量,它显示某种运算名而不是它的值时,这意味着什么
例如:
生成这些打印的代码是:
from keras.applications import VGG16
from keras import backend as K
model = VGG16(weights='imagenet',
include_top=False)
layer_name = 'block3_conv1'
filter_index = 0
layer_output = mode
我试图找出如何在一个张量上进行移位,这个张量有b(批量大小)、d(深度)、h(高度)和w(宽度),表示如下:
b, d, h, w = tensor.size()
所以,我需要找到移位张量和张量本身之间的减法
我正在考虑使用torch.shown或torch.concat对每一侧执行此操作(向右、向左、向上然后向下移动),每次我都从相同的张量一侧(张量本身一侧)减去,然后在最后我将对每一侧的差/减进行相加/求和(所以我将在移位和张量之间进行最后的减法
我是PyTorch的新手,它很容易理解,但
我有一个tf.keras模型,需要接受多个形状的多个输入。我的目标是以这样一种方式构建它:我可以使用它的fit和evaluateAPI轻松地对它进行培训和评估
到目前为止,模型的构建如下所示:
class MultipleLSTM(Model):
def __init__(self, lstm_dims=128, name='multi_lstm', **kwargs):
super(MultipleLSTM, self).__init__(name=name)
我想用谷歌Colab(Tensorflow+Keras)中的GPU使用相同的训练数据集多次训练CNN架构,然后用相同的测试数据集测试这些训练模型。然后我想确定结果的平均值和标准偏差(精度),以评估CNN的性能。(我想反复训练CNN架构,因为GPU不可能产生可重复的结果)
我想知道我是否应该在每次跑步中加入不同的种子,以至少限制一点随机性
到目前为止,我已经设置了以下种子,它们的值在不同的运行中有所不同,除了os.environ['PYTHONHASHSEED']='0',我不确定是否应该设置这些
我在pytorch网站上学习了以下教程:
我已经在眼睛数据库上训练了我的模型来检测瞳孔。我保存经过训练的模型并打开它进行评估。
问题是,如果图片中没有眼睛,模型将崩溃
为了重现,我首先将模型打印在工作图片上:
[{'boxes': tensor([[126.9488, 112.5852, 141.5698, 127.4215]], device='cuda:0'), 'labels': tensor([1], device='cuda:0'), 'scores': tensor([1.000
因为VGG19主要由卷积层组成,所以我主要关注于实现一个高效的卷积层。我在做这件事时遵循了这篇文章:
我的实现提供了正确的结果。我使用SIMD Intrisics和本文描述的算法。所有砝码都是预先装好的。在运行实际推理之前,分配每层的输入和输出缓冲区
例如,让我们看看VGG19网络的第二个卷积层:
输入:(22422464)(填充后22622664)
输出:(22422464)
内核:(3,3,64,64)(KH,KW,C_-IN,C_-OUT)
以下是对应代码的代码:
void conv
我需要一个Tensorflow模型将图像分为4个不同的类别,我正在对预训练的InceptionResNetV2模型(weights='Imagenet')进行迁移学习。在model.fit()期间,我获得了97.4%的准确度,损失为0.3,而验证准确度保持在84%,损失为0.4。我是否过度拟合,如何提高验证准确性
base_model = InceptionResNetV2(input_shape=(299,299,3),weights='imagenet', include_top=False
如果我的数据集很大,比如说15000张图片,我使用的是gpu,它显示的训练时间几乎是15小时,但免费gpu的限制是12小时,你能建议应该做些什么来训练它吗???首先,我想建议你在文本体中添加你正在使用谷歌Colab进行训练。我不得不从问号中解析这些信息
现在回到你的问题上来。在Colab上训练15个小时是可能的,但这不是直截了当的。此外,您提到的12小时限制是为了有效使用,这意味着您需要积极与笔记本互动。如果您的笔记本闲置超过90分钟,Colab将终止您的连接
因此,简单的解决方法是修改代码,
小背景:我正在制作一个简单的石头、布、剪刀图像分类器程序。基本上,我希望图像分类器能够区分岩石、纸张或剪刀图像
问题:该程序对其中两个类(摇滚和纸类)的效果令人惊讶,但只要给出剪刀测试图像,该程序就会完全失败。我试着增加我的训练数据和其他一些东西,但没有运气。我想知道是否有人对如何抵消这一点有任何想法
旁注:我怀疑这也与过度装修有关。我之所以这样说,是因为该模型对训练数据的准确率约为92%,而对测试数据的准确率为55%
将numpy导入为np
导入操作系统
进口cv2
随机输入
导入tensor
这是我第一次遇到这个问题。我已经使用这个模型有一段时间了,但是数据较少。问题是,在前3个历元中,训练需要11秒/步(31k样本/128批大小),而在第4个历元中,训练需要18秒/步。在第五次测试中,它大约花费了45秒/步。我使用的是Keras,没有做任何自定义循环的恶作剧
有人能解释这种减速吗?模型没有被打断。我用的是TF2.3
Epoch 1/1200
248/248 [==============================] - 2727s 11s/step - loss: 2.348
我想知道使用可训练的重量和可训练的变量的实际区别是什么。在线教程,比如Keras网站上的教程,似乎可以互换使用
这样更好吗
with tf.GradientTape() as tape:
predictions,_ = model(inputs, values, trainable=True)
outputs = predictions
loss = loss_function(targets, outputs)
标签: Tensorflow
google-cloud-mltensorflow-estimator
我正在尝试升级我的模型,以使用AI平台2.1而不是1.15,但我无法让FinalExporter正常工作
我遵循了中概述的步骤,并将其带到了一个地方:
评估指标将导出到eval文件夹
BestExporter和LatestExporter都成功导出了模型
FinalExporter不导出任何模型
我使用的代码类似于:
将tensorflow导入为tf
...
估计量=tf.估计量.估计量(…)
列车规格=tf.估算器.列车规格(…)
最终出口商=tf.estimator.FinalExpor
我在ubuntu 18.04服务器上安装了jupyter实验室。我已经安装了一个图形卡,并使用python 3.6.9安装了tenserflow 2.3.1(按照以下说明:)。我必须将以下环境变量添加到/etc/environment,以使其正常工作:
export LD_LIBRARY_PATH=/usr/local/cuda-10.2/lib64
然而,Jupyter实验室没有看到我的GPU!当我在jupyter实验室笔记本中运行以下命令时
import tensorflow as tf
张量是A_张量,具有形状[3,3,3],我想通过索引获得最后一个轴的值
如何在Tensorflow中实现这一点
A_tensor =tf.constant([[1,2,3],[2,3,4],[3,4,5]])
如何获得张量([1,2],[2,3],[3,4]])?您可以使用tf.gather():
A_tensor =tf.constant([[1,2,3],[2,3,4],[3,4,5]])
tf.gather(A_tensor,[[0,1]],axis=-1)
我目前正在做以下tf教程:
在不同的句子上测试tokenize函数的输出,我想知道在标记未知单词时会发生什么
加载模式:
bert_model_name = 'bert_en_uncased_L-12_H-768_A-12'
tfhub_handle_encoder = 'https://tfhub.dev/tensorflow/bert_en_uncased_L-12_H-768_A-12/3'
tfhub_handle_preprocess = 'https://tfhub.dev/ten
标签: Tensorflow
cluster-analysisembeddingdiarization
我想做演讲者日记。我已经将wav文件嵌入到嵌入中,并通过聚类获得了非常好的结果
我想更进一步。我想让人们记录一个句子并嵌入其中。所以我可以把录音和人们的录音进行比较
我如何最好地比较嵌入以将声音映射到特定的人?我想基于预先标记的集群进行集群
我想:
集群数据=>通过记录的数据将其分配给一个人
在我正在处理的一个特定问题中,我想优化一个神经网络,它应该根据输入向量的一个条目确定输出的坐标
一个简化的版本是我的输入,比如大小为2,一个条目用于确定输出值的方向,而第二个条目用于给出输出向量的坐标:
例如,如果我声明输出的大小为5:
对于输入x=(12,3.4),我希望我的输出是(0 12 0)
对于输入x=(6.8,0.9),我希望我的输出是(6.80)
总的来说,我的NN给了我
$$f(x)=x_1 e_{层(x_2)$$
其中Eyk表示第k次正则向量(我写的东西是因为,在实际问题中
1 2 3 4 5 6 ...
下一页 最后一页 共 243 页