从master运行以下代码时会出现错误
import tensorflow as tf
import numpy as np
W = tf.constant(3., tf.float64)
X = tf.placeholder(tf.float64, [5,3])
Y = tf.scalar_mul( W , tf.ones(tf.pack([tf.shape(X)[0], tf.shape(X)[0]]), tf.float64) )
Z = tf.diag_part(Y)
init =
对于BasicLSTM单元,配置如下:
...
num_layers = 2
num_steps = 10
hidden_size = 200
...
我使用两个隐藏层模型:
lstm_cell = rnn_cell.BasicLSTMCell(hidden_size, forget_bias=0.0)
cell = rnn_cell.MultiRNNCell([lstm_cell] * 2)
单元格的大小是多少
我知道是30 x 800,但我不明白它是怎么来的
PS:请参阅中
我在github上阅读了tensorflow的源代码,发现gen_math_ops已经导入
from tensorflow.python.ops import gen_math_ops
但是,我在整个项目中找不到这个脚本,它也不在ops文件夹下
此文件是机器生成的
您可以在…/site packages/tensorflow/python/ops/gen_math_ops.py中找到生成的文件
例如,在Mac中,您可以在/Library/Frameworks/Python.framework
我正在编写代码,以便在32台主机(每个主机有16个GPU)的集群中运行分布式同步培训
我阅读了本教程:以及以下示例代码:
两者似乎都建议每个GPU运行一个worker,并使用SyncReplicaOptimizer运行同步培训
如果我这样做,在每一步之后,每个PS都会收到来自32*16工作者的参数子集的梯度,对吗
在将平均梯度发送到参数服务器之前,是否可以对每个主机中16个GPU的梯度进行平均?这样,每个PS只需要接收32组渐变,而不是32*16
如果有可能做到这一点,是否有关于如何做到这一点的
为了在Ubuntu系统上安装带有GPU的TensorFlow,我使用“CUDA-repo-ubuntu1404_8.0.44-1_amd64.deb”安装了CUDA v 8.0,使用“cuDNN-8.0-linux-x64-v5.1”安装了cuDNN,但是,在解压缩文件并将其复制到CUDA toolkit中时,以下文件会添加到/usr/local/CUDA/lib64文件夹中:
libcudnn.so
libcudnn.so.5
libcudnn.so.5.1.5
libcudnn_
我正在尝试构建一个非常大的稀疏模型(例如,如果只有一个嵌入层,则为LR),输入维度可以高达100000000,并且样本非常稀疏,非零值的平均数量约为100。由于权重非常大,我们必须将其划分并分布到不同的服务器上。代码如下:
weights = tf.get_variable("weights",
weights_shape,
我的服务器是Ubuntu 14.04 CPU
安装品红后,我运行
bazel测试品红色/,
这给了我一个错误:
错误:/home/jcc/.cache/bazel/_bazel_jcc/ed5599de3378c6e0a5a71ebe1650713e/external/protobuf/protobuf.bzl:91:19:未定义名称“HOST\u CFG”
错误:包包含错误:洋红/protobuf。
错误:加载包“洋红/protobuf”时出错:扩展名“protobuf.bzl”有错误
信息:
我已经使用tensorflow API运行了一个图像处理脚本。事实证明,当我在会话运行过程之外设置for循环时,处理时间迅速减少。谁能告诉我为什么?有副作用吗
原代码:
with tf.Session() as sess:
coord = tf.train.Coordinator()
threads = tf.train.start_queue_runners(coord=coord)
for i in range(len(file_list)):
start = time.time()
我尝试了很多方法,但我无法打印或写“预测”。
我想打印模型的测试结果(“预测”)并将其写入aaa.txt,以及如何打印
代码,请参阅:
谢谢。嗨,你找到解决办法了吗?因为我也有同样的问题。谢谢
with tf.Graph().as_default():
.............
.............
.............
image = image_preprocessing_fn(image, eval_image_size, eval_image
有一个包含优化函数的程序,它有下面的代码段来计算梯度
if hypes['clip_norm'] > 0:
grads, tvars = zip(*grads_and_vars)
clip_norm = hypes["clip_norm"]
clipped_grads, norm = tf.clip_by_global_norm(grads, clip_norm)
grads_and_vars = zip(clipped_gr
TensorFlow 1.1.0rc2在其仪表板中支持文本,但如何实际记录将显示在那里的内容?TensorFlow主分支引用了tf.summary.text,但在1.1.0rc2中没有可用的调用。
补丁说明说,它只是在v1.2.0中添加的
也许代码在以前的版本中已经存在,但是在安装/构建时,它没有包含在内?我使用的是Tensorflow 1.4
我找不到任何直接的方法来使用文本摘要,因为我找不到任何如何将类似数字的张量转换为字符串的示例。然而,使用post我们可以编写一个临时函数来实现结果
im
我在玩TensorFlow,我在看以下教程:
因为我不想使用MNINST数据库,所以我用8000个训练样本创建的一些数据更改了脚本。使用300个测试样本进行评估。输出为二进制分类。请记住,我刚刚投身于机器学习,目前我的知识非常有限
该脚本工作正常,但是我的成本被固定在一个非常高的值上,并且没有收敛到0。首先,这正常吗?我该如何改进这一点?我做错什么了吗?
第二,精度也不是很好,是不是因为收敛性差?也许8000英镑还不足以训练模特儿?或者该值过于分散,实际上无法获得更好的精度
我在这里发现了一个
因此,我有一个64核的1 CPU设备。我已经从anaconda安装了tensorflow。我知道如果我有多个CPU,我可以通过指定CPUID来分配计算。如下(改编自):
上面的示例代码假定有三个CPU。但是我想知道我是否能用现有的设备(1个CPU,64个核)有效地做一些有效的深度学习练习?有人能帮助或指导我吗
更新:
核心是英特尔至强Phi处理器型号
另外请注意,我没有管理员权限,因此无法编译任何库。我通过Anaconda安装了所有python库
我试图理解一些东西。我在上面给定的代码中使用
有没有一种方法可以让占位符张量的可变维度在其上循环?例如:
t = tf.placeholder(tf.float64, shape=[None])
def loop_cond(t, k):
N = t.get_shape()[0].value
tf.less(k, N-1)
我得到TypeError:-:'NoneType'和'int'的不支持的操作数类型
如何在变长秩1张量的元素上循环?您可以使用它在图形构造时消除已知的形状要求。下面的代码可以解决这个问题
def loo
我一直在学习一些使用神经网络进行关键点检测的教程。我注意到,对于输入(图像),除以255是很常见的(因为值介于0和255之间,所以标准化为[0,1])。但是对于目标(X/Y)坐标,我注意到更常见的是将其规格化为[-1,1]。这一差异的任何原因
例如:
我认为对于神经网络来说,最常见的图像归一化方法是去除图像的平均值,然后除以其标准偏差
X = (X - mean_dataset) / std_dataset
我认为关键点检测问题不应该太不同
看到性能上的差异可能会很有趣。我的猜测是,与[0,1
当我试图理解以下tensorflow图形构建代码的基本机制时,我对第3行和第4行感到困惑。我假设在+运算符重载的一侧,加法器_节点构建对a和b的引用。然而,当加法器_节点在第4行执行时,区分a(a:3)和b(b:3)的机制是什么。比方说,如果占位符被值填充,并且如果加法器_节点同时引用了a和b,那么为什么我们必须再次传递这些参数
a = tf.placeholder(tf.float32)
b = tf.placeholder(tf.float32)
adder_node = a + b
pr
我试图编译Protoc库,但它总是给我一个错误,没有这样的目录,即使它在那里
我正在采取步骤
我还向PATH环境变量添加了Protoc
但它根本看不到对象检测/protos目录
protoc object_detection/protos/*.proto --python_out=.
目录和文件都在那里
我在使用最新的windows protoc版本3.5.0时遇到了同样的问题。一时兴起,我尝试使用稍旧的版本(3.4.0),并使用完全相同的指令使其工作。我在使用最新的windows prot
我正在运行一个使用Keras和TensorFlow后端的模型。一切都很完美:
model = Sequential()
model.add(Dense(dim, input_dim=dim, activation='relu'))
model.add(Dense(200, activation='relu'))
model.add(Dense(1, activation='linear'))
model.compile(loss='mse', optimizer='Adam', metrics
我有带值的形状[batch_size,A]的张量T和带移位参数的形状[batch_size]的张量S
我想将T[b]中的值按S[b]位置向右移动,T[b]的最后S[b]元素应该被删除,新元素应该被设置为0
所以我基本上想做一些事情,比如:
for i in range(batch_size):
T[i] = zeros[:S[i]] + T[i, :A-S[i]]
例如:
For:
T = [[1, 2, 3], [4, 5, 6]]
S = [1, 2]
Return:
T' = [[
请帮帮我,我的失踪在哪里?为什么我总是遇到这个错误:
“DataFrame”对象没有属性“train”
# -*- coding: utf-8 -*-
import tensorflow as tf
from tensorflow.contrib import rnn
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
dataset = pd.read_csv("all.csv")
x =
我试图在Ubuntu 16.4机器上训练tensorflow模型。然而,训练开始后,TF几乎消耗了所有可用RAM(8GB),并被OOM收割者杀死。如果我禁用OOM killer,它将以分段错误终止
到目前为止,我的搜索结果还没有显示任何可以限制RAM tensorflow使用量的内容,只有与GPU相关的参数是可配置的,但这并不能解决问题。如果我使用ulimit-linux命令将python进程的RAM限制为4GB,那么脚本将永远被卡住,甚至无法启动——这几乎就像它从未开始执行脚本的主方法一样
我
但是,一个类可能在一批中出现两次(因此类5的“2*3”示例)@mrry的解决方案可以避免这种情况。
import tensorflow as tf
import numpy as np
def get_class_generator(class_id, num_el, el_shape=(32, 32), el_dtype=np.int32):
""" Returns a dummy generator,
outputting "num_el" elements of
我正在尝试运行一个应用程序。但是,我得到一个错误:
从createDB导入加载\u数据集
将numpy作为np导入
进口干酪
从keras.utils导入到_category
将matplotlib.pyplot作为plt导入
从sklearn.model\u选择导入列车\u测试\u拆分
从keras.models导入顺序、输入、模型
从keras.layers导入致密、脱落、平坦
从keras.layers导入Conv2D、MaxPooling2D
从keras.layers.normaliz
我正在训练一个预构建的基于tensorflow的自定义对象检测模型。
我只想检测1种类型的对象。我从不同的角度,在不同的光线条件下拍摄了很多照片。我正在培训K80 Nvidia GPU。一切正常,当我训练时,我可以看到损失函数下降到0.3。但当我开始训练时,损失值很快下降到1以下。我使用SSD mobile Net作为该型号的基本配置。当我尝试测试模型时,它只是在输入图像上绘制一个大正方形,而不是检测图像中所需的对象。基本上,它无法检测到目标
我试着用一组不同的mac n chesse图像来训练
我正在尝试执行多类分类。理想情况下,我会使用交叉熵损失来训练我的神经网络。然而,我的类是顺序变量。因此,我希望我的损失函数能够在预测中执行某种顺序。例如y_true=2,那么我更喜欢y_predict=3而不是y_predict=4。为此,我考虑在softmax层之后,结合使用交叉熵损失和平均绝对损失的自定义损失函数:
import from keras import backend as K
from keras import losses
loss_weight = [1,0.0001]
l
对于具有高度倾斜数据的数据集,是否有一种很好的方法来微调对象检测模型(特别是,我正在尝试使用Tensorflow对象检测API)?我正在尝试使用一些COCO分类,并将其与我自己的自定义数据相结合,但我的数据只有大约50张图像
我曾尝试将可可豆数据和我自己的数据结合起来,但每次都只是预测可可豆的种类 您可以尝试使用焦点丢失
见:
在Tensorflow对象检测模型文件中,如下所示:
loss {
localization_loss {
weighted_smooth_l1
我正在研究一个使用LSTM预测股票价值的问题
我的工作基于以下几点。
我使用一个总长度为12075的数据集(股票价格时间序列),我将其分为训练集和测试集(几乎10%)。它与链接项目中使用的相同
train_data.shape
(11000,)
test_data.shape
(1075,)
在我们的模型中,我们首先在多对多lstm模型上对其进行训练,在该模型中,我们提供N个输入序列(股票价格)和N个标签序列(通过将train_数据排序为N个段作为输入进行采样,标签作为输入的以下值序列进行采样)
我一直在尝试在Google Colab上运行,但每次我都会遇到下面的错误。我检查了GPU是否已启用,并尝试使用tensorflow GPU 1.4.0来替代,结果类似。有什么想法吗
---------------------------------------------------------------------------
ImportError Traceback (most recent call last)
/usr/lo
我想将follow pytorch网络(v1.2)更改为tensorflow。我混淆了tf.nn.conv2d和tf.keras.layers.conv2d我应该选择什么
import torch.nn as nn
nn.Sequential(nn.Conv2d(in_planes, out_planes, kernel_size=kernel_size, stride=stride, padding=padding, dilation=dilation, bias=True),
TensorFlow 2.0发布后,TensorBoard似乎无法在谷歌云JupyterLab中打开。
当我在JupyterLab中使用创建新的TensorBoard函数,并输入TensorFlow生成的日志文件的路径时,路径窗口关闭,没有响应
TensorBoard上个月可以在同一个日志文件上成功运行
我尝试重新安装/降级组件,包括TensorFlow(从1.13到2.0)、TensorBoard、JupyterLab笔记本、IPython。没有变化。我尝试创建一个新的JupyterLab实例
我试着
更快的\u rcnn\u resnet101\u fgvc模型,此模型为我提供结果:
{'detection_classes': [[2135.0, 1752.0, 360.0, 1160.0, 2553.0]], 'num_detections': [5.0], 'detection_scores': [[0.994473159, 0.354584545, 0.144689247, 0.0592163019, 0.0416594595]], 'detection_boxes': [[[
该模型现在只能识别带有tf的单个字母。如何识别连续字母和单词?手写数字识别。。。MNIST是手写数字分类任务中广泛使用的数据集。它由70000个标记为28x28像素的手写数字灰度像素组成。数据集分为60000张教育图像和10000张测试图像。根据图像的质量和类型,任务的难度会有所不同。如果要在自然场景中进行文本检测,这是相当困难的,并且需要多个模型,在这方面有大量的研究论文。还有很多笔记本电脑。这本书(一本好书)解释了要考虑的各种因素以及为什么这么困难,也分享了他的实现
如果您试图在一个简单的二
我想调用一个python脚本,它计算tensorflow函数中矩阵的符号。我不知道怎么做
有人能帮忙吗?tf.where检查条件,如果为true,则计算第一个参数,否则第二个参数为tf.where
下面举例说明:
#a是要设置阈值的数组
cond=tf.更大(a,tf.零(tf.形状(a)))
阈值_矩阵=tf.where(cond,tf.ones(tf.shape(a)),-1.*tf.ones(tf.shape(a)))
或者,您也可以使用tf.sign什么是“矩阵的符号”?我所说的符号是
我已经尝试在keras中实现ctc丢失功能好几天了。不幸的是,我还没有找到一个简单的方法来做到这一点,很适合keras。我找到了tensorflow的tf.keras.backend.ctc_batch_cost函数,但没有太多文档。我对一些事情感到困惑。首先,输入长度和标签长度参数是什么?我正在尝试制作一个手写识别模型,我的图像是32x128,我的rnn有32个时间步长,我的字符列表有80个长度。我尝试对这两个参数使用32,这给了我下面的错误。函数是否应该已经从前两个参数(y_true和y_p
我正在运行下面的代码,这一行出现了一个错误
tb.configure(argv=[None, '6006', 'C:/Users/ryans/'])
错误消息如下:
tb.configure(argv=[None, '6006', 'C:/Users/ryans/'])
usage: tensorboard [-h] [--helpfull] [--logdir PATH] [--host ADDR]
[--port PORT] [--purge_orph
我尝试在Keras中创建自定义层。这段代码是我从示例中得到的。如何得到该层的计算结果
class Linear(keras.layers.Layer):
def __init__(self, units=32):
super(Linear, self).__init__()
self.units = units
def build(self, input_shape):
self.w =
我正在学习使用tensorflow并尝试对文本进行分类。我有一个数据集,其中每个文本都与标签0或1关联。我的目标是使用一些句子嵌入来进行分类。首先,我使用Gnews预编译嵌入从整个文本创建了一个嵌入:
embedding = "https://tfhub.dev/google/tf2-preview/gnews-swivel-20dim/1"
hub_layer = hub.KerasLayer(embedding, input_shape=[2], dtype=tf.string,
有一种预处理技术,我们可以使用以下方法针对ImageNet数据集预处理图像:
from keras.applications import imagenet_utils
imagenet_utils.preprocess_input(image, mode='caffe')
你看,我选择了mode='caffe'。事实上,Keras.applicationsAPI解释了三种模式:
mode: One of "caffe", "tf" or "t
我有1000个对象,每个对象都有100个时间戳和5个功能,但其中一个非常重要,所以我不想让它通过LSTM,而是立即将其转移到最后一层,我该怎么做?在神经网络中需要很多输入层吗?我认为这两种方法中的任何一种都可以满足您的需要:
import tensorflow as tf
# dummy data
inp1 = tf.random.uniform(shape=(1000, 100, 5))
# ALTERNATIVE 1 (use lambda layer to split input)
i
我找到了关于它的两个主要来源
,未按照规则手册进行(我宁愿避免)
(我更喜欢避免意外)
我更喜欢遵循Keras的文档,以避免内存泄漏,因为这是一些使用Keras的人的情况
但Keras在文件中展示的是关于分类的。这不是我的情况。
所以我试着看一下Keras的源代码。确切地说是在文件中:/lib/python3.7/site packages/tensorflow\u core/python/keras/metrics.py。这对我一点帮助都没有,因为大多数度量(一些例外是分类度量)都是使用包装器
我已经建立了一个自定义的Keras模型,它由不同的层组成。由于我想将L2正则化添加到这些层中,因此我将keras.regularizers.L2的一个实例作为这些层的kernel\u regularizer参数传递(例如,请参见的构造函数)。现在,如果我用Keras的二元交叉熵损失()的实现来训练这个模型,我肯定在计算损失时会考虑我指定的L2正则化
然而,在我的例子中,我有一个自定义的loss函数,除了y_true和y_pred之外,它还需要几个其他参数,这意味着我无法将此函数作为模型的loss
我用TensorFlow训练了一个语音识别模型。得到一个名为“model.ckpt-1300.meta”的检查点。现在我想用sample.wav文件预测结果。有人能帮忙吗?有不同的方法可以使用保存的检查点来构建模型和执行预测;其中一个可以如下所示:
您可以使用模型作为原始模型函数,并使用保存的检查点热启动模型
然后,您可以创建一个自定义输入函数,将sample.wav文件输入估计器,并运行估计器以提供预测
我试图通过tf.keras.model子类化方法使用Tensorflow2.3创建自定义分类模型,在子类模型init函数中,我使用tf.feature\u column层对特征进行分类。通过以上所有部分,我可以训练、保存和重新加载保存的_模型,但是当我使用重新加载模型进行推理时,我得到以下错误:
ValueError: Could not find matching function to call loaded from the SavedModel. Got:
Positional ar
我编写了一个简单的TFRECORDS文件,其中包含三个特性和一个标签。
在我学习教程的过程中,似乎要使用这些TFRECORDS,我需要创建一个数据集,解析示例,并通过map()执行其他操作,如规范化。如果这不是正确的工作流程,我将不胜感激
dataset = tf.data.TFRecordDataset("dataset.tfrecords")
#parse the protobuffer
def _parse_function(
我已经为我的学校作业建立了以下对象识别模型,以根据CIFAR-10数据集预测班级。分配要求我对所有卷积层和池层使用有效的填充
def\u build\u cifar10\u model(num\u C1\u channels=50,num\u C2\u channels=60,use\u dropout=False):
模型=顺序()
#重塑长度为3072的一维阵列
#形状为32x32x3的矩阵
model.add(输入(shape=(3072,))
添加(重塑(目标形状=(32,32,3),输
我已经在此处搜索了有关错误的其他线程,但无法找出问题所在。我尝试使用一个玩具数据集创建一个LSTM,该数据集具有两个预测值和三个结果,将输出层设置为sigmoid,以便每个结果标签的概率介于0-1之间。我的代码:
import pandas as pd
import numpy as np
import tensorflow as tf
#create toy dataset
d = {'custID': [101,101,101,102,102,102,103,103,103],
假设我有一个输出数组序列的自动编码器。是否可以通过CNN运行该阵列,并根据CNN的输出(只有两个输出是或否),自动编码器自行训练。例如,如果CNN说“否”,则自动编码器调整其参数并生成另一个输出。这种情况一直发生,直到CNN输出“是”。应该是这样的:
while True:
autoencoder.fit(input, labels)
ae_output = autoencoder(input)
cnn_output = CNN(ae_output).numpy()
if cnn
我在尝试将数据导入TFX管道时遇到了一些问题,如果有人能为我指出正确的方向,我将非常感激。我有一个3D参差不齐(或者稀疏,如果需要的话)张量,其中每个2D切片都是一个示例,我想输入到我的管道中。每个二维张量由数量可变的行组成,但它们共同构成一个示例,而不仅仅是一批示例。编码此结构的最佳方式是什么,以便tfx管道的ExampleGen组件可以将其馈送到管道中?
到目前为止,我已经尝试按照本指南中的说明在tf.train.SequenceExample中进行转换,以便每个特征在值字段中都有一个向量,
我是诺布
问这个问题,因为我无法直接找到任何已解决的示例,而且信息非常分散在各个站点。以下是我的任务描述:
我正在尝试在Amazon Sagemaker中部署一个模型。模型采用keras(tf)建立和训练
import os
import numpy as np
from tensorflow.keras.preprocessing.image import load_img, img_to_array
import cv2
from sagemaker.tensorflow import T
使用后我得到了一个Mat文件
const mat = tf.browser.fromPixels(canvas)
我使用toString()获取输出
const data = mat.toString()
这是一个矩阵的例子
[[[58 , 57 , 66 ],
[58 , 57 , 66 ],
[58 , 57 , 62 ],
...,
[169, 228, 244],
[170, 224, 255],
[172,