我正在尝试实施Adversarial NN,它需要在交替训练小批量时"冻结"图形的一个或另一个部分.即有两个子网:G和D.
G( Z ) -> Xz
D( X ) -> Y
Run Code Online (Sandbox Code Playgroud)
其中损失函数G取决于D[G(Z)], D[X].
首先,我需要在D中训练所有G参数固定的参数,然后在G中参数D中的参数固定.第一种情况下的损失函数将是第二种情况下的负损失函数,并且更新将必须应用于第一或第二子网的参数.
我看到张量流有tf.stop_gradient功能.为了训练D(下游)子网,我可以使用此功能来阻止梯度流
Z -> [ G ] -> tf.stop_gradient(Xz) -> [ D ] -> Y
Run Code Online (Sandbox Code Playgroud)
这tf.stop_gradient是非常简洁的注释,没有内联示例(例子seq2seq.py太长而且不容易阅读),但看起来它必须在图形创建期间调用.这是否意味着如果我想在交替批次中阻止/解除阻塞梯度流,我需要重新创建并重新初始化图模型?
也似乎无法阻止流经G(上游)网络的梯度tf.stop_gradient,对吧?
作为替代方案,我看到可以将变量列表传递给优化器调用opt_op = opt.minimize(cost, <list of variables>),如果可以在每个子网的范围内获取所有变量,这将是一个简单的解决方案.可以获得<list of variables>一个tf.scope吗?
该pd.DataFrame文档字符串指定为整个数据框标量参数:
dtype : dtype, default None
Data type to force, otherwise infer
看起来它确实是一个标量,因为以下会导致错误:
dfbinseq = pd.DataFrame([],
columns = ["chr", "centre", "seq_binary"],
dtype = ["O", pd.np.int64, "O"])
dfbinseq = pd.DataFrame([],
columns = ["chr", "centre", "seq_binary"],
dtype = [pd.np.object, pd.np.int64, pd.np.object])
Run Code Online (Sandbox Code Playgroud)
创建一个空数据框(我需要将其放入HDF5商店以供进一步使用append)的唯一解决方法是
dfbinseq.centre.dtype = np.int64
Run Code Online (Sandbox Code Playgroud)
有没有办法dtypes立刻设置参数?
我试图从答案中实现一个建议: Tensorflow:如何保存/恢复模型?
我有一个对象,它tensorflow以一种sklearn风格包装模型.
import tensorflow as tf
class tflasso():
saver = tf.train.Saver()
def __init__(self,
learning_rate = 2e-2,
training_epochs = 5000,
display_step = 50,
BATCH_SIZE = 100,
ALPHA = 1e-5,
checkpoint_dir = "./",
):
...
def _create_network(self):
...
def _load_(self, sess, checkpoint_dir = None):
if checkpoint_dir:
self.checkpoint_dir = checkpoint_dir
print("loading a session")
ckpt = tf.train.get_checkpoint_state(self.checkpoint_dir)
if ckpt and ckpt.model_checkpoint_path:
self.saver.restore(sess, ckpt.model_checkpoint_path)
else:
raise Exception("no checkpoint found")
return
def fit(self, train_X, train_Y , load = True):
self.X = …Run Code Online (Sandbox Code Playgroud) 我使用fasttext.train_unsupervised()python 中的函数训练了我的无监督模型。我想将它保存为 vec 文件,因为我将使用此文件作为pretrainedVectors函数中的参数fasttext.train_supervised()。pretrainedVectors只接受 vec 文件,但我在创建这个 vec 文件时遇到了麻烦。有人能帮我吗?
附言。我能够以 bin 格式保存它。如果您建议我一种将 bin 文件转换为 vec 文件的方法,这也会很有帮助。
我看到了几个关于这个主题的问答,并尝试了这两种方法。任何关于如何继续任何一条路线的建议表示赞赏:
我关注了NVIDIA 文档和本教程。一切都docker在 Ubuntu 20.04 中安装和运行。但是,sudo service docker start返回:
docker: unrecognized service
更新:这变成了一个已知问题。我能够按照这些说明在 Ubuntu 上安装和运行 docker 。但是,接下来我遇到了这样的问题
$docker run --gpus all nvcr.io/nvidia/k8s/cuda-sample:nbody nbody -gpu -benchmark
Status: Downloaded newer image for nvcr.io/nvidia/k8s/cuda-sample:nbody
docker: Error response from daemon: OCI runtime create failed: container_linux.go:370: starting container process caused: process_linux.go:459: container init caused: Running hook #0:: error running hook: exit status 1, stdout: , …Run Code Online (Sandbox Code Playgroud) 目前tensorflow的张量板与python3不兼容.因此,一般而言,我正在寻找一种在100个时期内打印出摘要读数的方法.
是否有函数summary_str 将以下行中生成的字节字符串解析为浮点字典?
summary_op = tf.merge_all_summaries()
summary_str = sess.run(summary_op, feed_dict=feed_dict)
Run Code Online (Sandbox Code Playgroud) 我必须为遗传学软件重新格式化我的数据,这需要将每一列分成两列,例如0-> G G; 1-> A G; 2 -> A A;.输出文件应该是制表符分隔的.我想在熊猫中做到这一点:
import csv
import pandas as pd
import numpy as np
df = pd.DataFrame(np.random.randint(0,3, size = (10,5)),
columns=[ chr(c) for c in range(97, 97+5) ])
def fake_alleles(x):
if x==0:
return "A\tA"
if x==1:
return "A\tG"
if x==2:
return "G\tG"
plinkpast6 = df.applymap(fake_alleles)
plinkpast6.to_csv("test.ped", sep="\t", quoting=csv.QUOTE_NONE)
Run Code Online (Sandbox Code Playgroud)
这给了我一个错误Error: need to escape, but no escapechar set.还有其他方法pandas吗?
我想修改一个颜色条的刻度seaborn.clustermap.这个答案解决了一般matplotlib颜色条的这个问题.
g = sns.clustermap(np.random.rand(20,20),
row_cluster=None, col_cluster=None,
vmin = 0.25, vmax=1.0)
Run Code Online (Sandbox Code Playgroud)
出于某种原因,当我指定时clustermap(..., vmin=0.25, vmax=1.0),我会得到0.3到0.9的刻度,但没有1.0.如果我延长vmax=1.05,我会得到一个精确的嘀嗒声1.05.
我的猜测是g.cax返回的对象的属性clustermap是colorbar,但它没有.set_ticks()方法.
任何想法如何设置滴答声?
我有一个调用的遗留代码class TiffFile(file)。python3的调用方式是什么?
我尝试在 python2 中替换以下内容:
class TiffFile(file):
def __init__(self, path):
file.__init__(self, path, 'r+b')
Run Code Online (Sandbox Code Playgroud)
在python3中是这样的:
class TiffFile(RawIOBase):
def __init__(self, path):
super(TiffFile, self).__init__(path, 'r+b')
Run Code Online (Sandbox Code Playgroud)
但现在我得到了TypeError: object.__init__() takes no parameters
我需要计算 Spark 中列表项的成对对称分数。IE score(x[i],x[j]) = score(x[j], x[i])。一种解决方案是使用x.cartesian(x). 然而,它将执行x**2操作而不是最少的必要操作x*(x+1)//2。
Spark 中解决此问题最有效的方法是什么?
附言。在纯 Python 中,我会使用迭代器,例如:
class uptrsq_range(object):
def __init__(self, n):
self._n_ = n
self._length = n*(n+1) // 2
def __iter__(self):
for ii in range(self._n_):
for jj in range(ii+1):
yield (ii,jj)
def __len__(self):
"""
recepe by sleblanc @ stackoverflow
"""
"This method returns the total number of elements"
if self._length:
return self._length
else:
raise NotImplementedError("Infinite sequence has no length")
# or simply return None / 0 …Run Code Online (Sandbox Code Playgroud) python ×7
tensorflow ×3
dataframe ×2
pandas ×2
apache-spark ×1
docker ×1
fasttext ×1
matplotlib ×1
numpy ×1
nvidia ×1
porting ×1
pyspark ×1
python-2.7 ×1
python-2to3 ×1
python-3.x ×1
scikit-learn ×1
seaborn ×1
ubuntu-20.04 ×1
wsl-2 ×1