小编Mat*_*tSt的帖子

我们应该在 C++ 类中指定“私有”标签吗?它有什么区别吗?

这可能不是最大的问题,但由于 c++ 中的类默认情况下具有所有属性和方法,是否指定它有任何意义?

这只是喜好问题吗?指定私有部分会使代码看起来更精通还是更精通?

class User
{   
        string name;
        string surname;
        int miles;
        double balance; 

    public:
        User(string,string,int,double);

};
Run Code Online (Sandbox Code Playgroud)

对比

class User
 {    
     private:
        string name;
        string surname;
        int miles;
        double balance; 

    public:
        User(string,string,int,double);

};
Run Code Online (Sandbox Code Playgroud)

c++ class

5
推荐指数
1
解决办法
934
查看次数

Conda 从文件创建 env - 如何在文件中指定前缀?

我读到 environment.yaml 文件中的前缀行没有被 .yaml 使用conda env create。SO 上指出这一事实的两篇文章是:

导出没有前缀变量的 conda 环境,显示可执行文件的本地路径

Anaconda 导出环境文件

我有大多数这些帖子的相反问题

我想在文件中指定实际前缀,以便不同的用户在共享机器的主目录中设置他们的环境。

但是,如前所述,用于创建环境的命令完全忽略了前缀行。

我设法使用这样的前缀将环境设置为特定路径:

conda env create --prefix=<prefix> --file=environment.yaml
Run Code Online (Sandbox Code Playgroud)

但我试图找到一种定义前缀的方法,这样用户就不必自己输入它,但它会自动配置为他们的主目录。

python anaconda conda

5
推荐指数
1
解决办法
1101
查看次数

TensorFlow 2.0 如何从 tf.keras.layers 层获取可训练变量,如 Conv2D 或 Dense

我一直试图从我的图层中获取可训练的变量,但无法找到使其工作的方法。所以这是我尝试过的:

我曾尝试直接访问 Dense 或 Conv2D 对象的内核和偏差属性,但无济于事。我得到的结果类型是“密集对象没有属性‘内核’”。

trainable_variables.append(conv_layer.kernel)
trainable_variables.append(conv_layer.bias)
Run Code Online (Sandbox Code Playgroud)

同样,我尝试通过以下方式使用属性“trainable_variables”:

trainable_variables.extend(conv_layer.trainable_variables)
Run Code Online (Sandbox Code Playgroud)

据我所知,这应该返回两个变量的列表,权重和偏差变量。但是,我得到的是一个空列表。

知道如何从 TensorFlow 2.0 中的标签获取变量吗?我希望以后能够以类似于以下方式将这些变量提供给优化器:

gradients = tape.gradient(loss, trainable_variables)
optimizer.apply_gradients(zip(gradients, trainable_variables))
Run Code Online (Sandbox Code Playgroud)

编辑:这是我当前代码的一部分,用作示例并帮助回答问题(希望它是可读的)

from tensorflow.keras.layers import Dense, Conv2D, Conv2DTranspose, Reshape, Flatten

... 

class Network:
    def __init__(self, params):
        weights_initializer = tf.initializers.GlorotUniform(seed=params["seed"])
        bias_initializer = tf.initializers.Constant(0.0)

        self.trainable_variables = []

        self.conv_layers = []
        self.conv_activations = []
        self.create_conv_layers(params, weights_initializer, bias_initializer)

        self.flatten_layer = Flatten()


        self.dense_layers = []
        self.dense_activations = []
        self.create_dense_layers(params, weights_initializer, bias_initializer)

        self.output_layer = Dense(1, kernel_initializer=weights_initializer, bias_initializer=bias_initializer)
        self.trainable_variables.append(self.output_layer.kernel)
        self.trainable_variables.append(self.output_layer.bias)

    def create_conv_layers(self, params, weight_init, bias_init):
        nconv = …
Run Code Online (Sandbox Code Playgroud)

python keras tensorflow tf.keras tensorflow2.0

4
推荐指数
2
解决办法
1万
查看次数

标签 统计

python ×2

anaconda ×1

c++ ×1

class ×1

conda ×1

keras ×1

tensorflow ×1

tensorflow2.0 ×1

tf.keras ×1