我开始使用TensorFlow (与Python一起使用),并想知道:当在函数中使用占位符时,为什么不在我的函数中使用一个参数来提供一个TensorFlow常量而不是占位符?
下面是一个例子(不同之处在于x):
def sigmoid(z):
x = tf.constant(z, dtype=tf.float32, name = "x")
sigmoid = tf.sigmoid(x)
with tf.Session() as sess:
result = sess.run(sigmoid)
return result
而不是:
当我读取TensorFlow代码时,我看到人们为函数的输入参数指定占位符,然后将输入数据输入到session.run中。一个简单的例子可以类似于:
def sigmoid(z):
x = tf.placeholder(tf.float32, name='x')
sigmoid = tf.sigmoid(x)
with tf.Session() as session:
result = session.run(sigmoid, feed_dict={x:z})
return result
我想知道他们为什么不直接将z输入到t
在中,我发现了一个很好的解释如何为我的超参数设置边界。
不幸的是,我注意到使用tensorflow_probability.bijectors.Sigmoid变换会导致数值不稳定,从而导致[low, high]之外的参数值。
我目前的解决办法是定义自己的sigmoid转换,它使用tensorflow_probability源代码注释中的替代实现:
import tensorflow as tf
from tensorflow_probability import bijectors as tfb
from tensorflow_probability import math as tfm
c
在Keras文档中的培训示例中,
使用binary_crossentropy,并在网络的最后一层中添加sigmoid激活,但是否有必要在最后一层中添加sigmoid?正如我在源代码中所发现的:
def binary_crossentropy(output, target, from_logits=False):
"""Binary crossentropy between an output tensor and a target tensor.
Arguments:
output: A tensor.
target: A tensor
我正在学习TensorFlow,并且正在尝试解决异或问题。我创建了一个3层神经网络来做到这一点,但在500或1000个时代之后,它根本不会学习。我做错了什么?
我在colab.research.google中使用的是TensorFlow 2.3.0。
from tensorflow.keras.layers import Dense
from tensorflow.keras.losses import MeanSquaredError
from tensorflow.keras.optimizers import SGD
from tensorflow.keras.metrics impor
我想评估tensorflow模型的自定义输入,如何做到这一点?我有下面的工作tensorflow代码
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras.layers import Flatten, Dense
import numpy as np
import pandas as pd
all_data, all_labels = np.resize(np.linspace(0,50,100),[1000,3]), np.random.randint(0,2,[1000])
def build
我正在尝试为我用Keras编写的模型编写一个像素加权损失函数,但在TensorFlow 2.0中似乎不再可能了,即除了y_true和y_pred之外,不可能有其他输入的损失函数
我以前是这样写的:
from tensorflow.keras.layers import Input, Conv2D
from tensorflow.keras.optimizers import Adam
from tensorflow.keras import backend as K
def my_keras_model():
input = Input((256,256,1), name='in
我想使用keras框架构建和训练一个神经网络。我将keras配置为使用Tensorflow作为后端。在我使用keras训练了模型之后,我尝试只使用Tensorflow。我可以访问会话并获取tensorflow图。例如,我不知道如何使用tensorflow图来进行预测。
我使用以下教程构建了一个网络
在train()方法中,我只使用keras构建和训练模型,并保存keras和tensorflow模型
在eval()方法中
以下是我的代码:
from keras.models import Sequential
from keras.layers import Dense
from keras.m
目前,我的神经网络精度函数(和神经网络)如下:
import tensorflow as tf
from tensorflow import keras
from tensorflow.keras import layers
from tensorflow.keras import models
from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense
from tensorflow.keras.layers import LSTM
import numpy as np
d
我试图在我的输出层使用tf.floor,但是即使我试图用身份梯度覆盖它,仍然得到“无梯度”的错误。 import tensorflow as tf
from tensorflow import keras
def transfer(x):
with tf.compat.v1.get_default_graph() as g:
with g.gradient_override_map({'Floor': 'Identity'})
return tf.floor(x * 90) / 90
input = kera
在训练模型之后,我正在尝试从模型中提取权重。这是一个代码。1-如何将模型保存在先前上传的目录路径中? 2.如何获取权重? 3.我有一些csv文件,与用于建模的相同,但没有类。如何使用此模型估计类?
# Preprocess
import pandas as pd
import keras
from sklearn.model_selection import train_test_split
# Prepare data
churn = pd.read_csv('Churn_Modelling3.csv')
# split data into train and test se
我试图用keras编写线性和逻辑模型,并用相同的数据进行训练,但遇到了这个令人困惑的错误。以下是代码和错误消息。
import tensorflow as tf
from tensorflow import keras as tfk
import pandas as pd
def build_model(n_features, **kwargs):
model = tfk.models.Sequential([
tfk.layers.Dense(1, input_shape=[n_features, ], **kwargs)
])
optimizer
仅供参考。这不是已经报告和修复的bug #4715。
print('Tensorflow version {} is loaded.'.format(tf.__version__))
#Tensorflow version 1.4.0 is loaded.
我已经把一个定制的Estimator放在一起,只有2个特征和一个二进制分类。下面的代码可以工作,但确实收敛于一些有用的东西。
input_layer = tf.feature_column.input_layer(features, feature_columns)
h1 = tf.layers.Dense(h1_size,
如何了解此机型的VRAM使用率?(不是关于正在训练的数据,而是将模型及其权重加载到VRAM中 from tensorflow.keras.models import Sequential
from tensorflow.keras.layers import Dense,Dropout,LSTM,BatchNormalization
import tensorflow as tf
model = Sequential()
model.add(LSTM(700, input_shape=(10000,5000,20), return_sequences=True))
model.add(D