[机器翻译] multilingual fairseq-preprocess的两种做法

文章目录

  • 前言
  • multilingual fairseq-preprocess1
    • 方法简介
    • cli_main
    • main
    • _make_all
  • multilingual fairseq-preprocess2
    • 方法简介
    • generate_split-iwslt14.sh
    • learn_and_encode_spm-iwslt14.sh
    • binarize.sh
  • 参考

前言

fairseq给出的preprocess代码只支持一个语言对的binarize,而笔者在[机器翻译] 记一次多语言机器翻译模型的训练想要对多个语言对同时进行binarize,过程中能够创建一个共享的词典。
和师兄交流之后,实现这一结果有两种方式:1. 在学习bpe之后,就会得到一个共享词表,需要对这个词表进行一些修改,然后作为binarize的参数;2. 不使用bpe得到的词表,而是做两次binarize,第一次是为每一个语言对进行一次binarize,然后得到不同的词表。接着将这些词表进行合并,作为第二次binarize的参数。
本文记录笔者通过对fairseq-preprocess流程的理解,参考https://github.com/RayeRen/multilingual-kd-pytorch/blob/master/preprocess_universal.py,实现更加简便的、一步到位的多个语言对binarize流程。
在这之后,本文也给出了上面所说的第一种的预处理方式。(关于第二种,随缘补充)

multilingual fairseq-preprocess1

方法简介

该方法通过对fairseq.fairseq_cli.preprocess.py的理解,修改得到一个用于multilingual fairseq-preprocess的代码。

从fairseq.fairseq_cli.preprocess.py中可以看到:

如果提供srcdict或者tgtdict,则会通过task.load_dictionary(args.srcdict)来读取词典。task.load_dictionary的执行流程为:[fairseq.tasks.translation.TranslationTask]->[fairseq.tasks.fairseq_task.FairseqTask.load_dictionary]->[fairseq.data.dictionary.Dictionary.load]->[fairseq.data.dictionary.Dictionary.add_from_file]。

如果不提供dict,则会通过task.build_dictionary来创建词典,[fairseq.tasks.fairseq_task.FairseqTask.build_dictionary代码如下:

d = Dictionary()
for filename in filenames:
    Dictionary.add_file_to_dictionary(
        filename, d, tokenizer.tokenize_line, workers
    )
d.finalize(threshold=threshold, nwords=nwords, padding_factor=padding_factor)
return d

只要把所有语言对的train data都加入到filenames中,就可以直接创建一个共享的词表,接下来只要用这个词表对所有语言对进行binarize就可以了。因此,修改过程如下:
笔者首先将fairseq.fairseq_cli.preprocess.py复制到当前目录一份,然后修改以下3个函数:

cli_main

def cli_main():
    parser = options.get_preprocessing_parser()
    parser.add_argument('--pref', metavar='FP', default=None, help='data prefix')
    args = parser.parse_args()
    main(args)

main

def main(args):
    # setup some basic things
    utils.import_user_module(args)

    os.makedirs(args.destdir, exist_ok=True)

    logger.addHandler(
        logging.FileHandler(
            filename=os.path.join(args.destdir, "preprocess.log"),
        )
    )
    logger.info(args)

    assert (
            args.dataset_impl != "huffman"
    ), "preprocessing.py doesn't support Huffman yet, use HuffmanCodeBuilder directly."

    # build shared dictionaries

    # target = not args.only_source

    train_files = glob.glob('{}/train.*-*.*'.format(args.pref))
    train_files = [f for f in train_files if len(f.split('.')) in [3, 4, 5]]
    test_files = glob.glob('{}/test.*-*.*'.format(args.pref))
    test_files = [f for f in test_files if len(f.split('.')) in [3, 4, 5]]
    valid_files = glob.glob('{}/valid.*-*.*'.format(args.pref))
    valid_files = [f for f in valid_files if len(f.split('.')) in [3, 4, 5]]
    lng_pairs = set([f.split('/')[-1].split(".")[1] for f in (train_files + test_files + valid_files)])
    task = tasks.get_task(args.task)
    shared_dictionary = _build_dictionary(
        train_files,
        task=task,
        args=args,
        src=True,
    )
    # save dictionaries
    if args.joined_dictionary:
        shared_dictionary.save(os.path.join(args.destdir, "dict.txt"))
    else:
        for lng_pair in lng_pairs:
            src, tgt = lng_pair.split('-')
            tmp_src_dict_path = os.path.join(args.destdir, f'dict.{src}.txt')
            tmp_tgt_dict_path = os.path.join(args.destdir, f'dict.{tgt}.txt')
            if not os.path.exists(tmp_src_dict_path):
                shared_dictionary.save(tmp_src_dict_path)
            if not os.path.exists(tmp_tgt_dict_path):
                shared_dictionary.save(tmp_tgt_dict_path)

    if args.dict_only:
        return

    for lng_pair in lng_pairs:
        src_and_tgt = lng_pair.split('-')
        if len(src_and_tgt) != 2:
            continue
        src, tgt = src_and_tgt
        print("| building: ", src, tgt)
        args.source_lang = src
        args.target_lang = tgt
        _make_all(src, shared_dictionary, args)
        _make_all(tgt, shared_dictionary, args)


    logger.info("Wrote preprocessed data to {}".format(args.destdir))

_make_all

def _make_all(lang, vocab, args):
    lng_pair = f"{args.source_lang}-{args.target_lang}"
    _make_dataset( ## iwslt14.tokenized/train.en-ar
        vocab, os.path.join(args.pref, f"train.{lng_pair}"), "train", lang, args=args, num_workers=args.workers
    )
    _make_dataset(
        vocab, os.path.join(args.pref, f"valid.{lng_pair}"), "valid", lang, args=args, num_workers=args.workers
    )
    _make_dataset(
        vocab, os.path.join(args.pref, f"test.{lng_pair}"), "test", lang, args=args, num_workers=args.workers
    )

multilingual fairseq-preprocess2

方法简介

该方法在学习bpe之后,就会得到一个共享词表,需要对这个词表进行一些修改,然后作为binarize的参数。

generate_split-iwslt14.sh

当前目录有以下文件:
[机器翻译] multilingual fairseq-preprocess的两种做法_第1张图片
执行下面脚本,完成数据的划分后,得到下面的文件,其中的train.all用于学习sentencepiece:
[机器翻译] multilingual fairseq-preprocess的两种做法_第2张图片

#!/usr/bin/env bash
# Adapted from https://github.com/facebookresearch/MIXER/blob/master/prepareData.sh

echo 'Cloning Moses github repository (for tokenization scripts)...'
git clone git://github.com/moses-smt/mosesdecoder.git

###
# just generate train\test\valid data for iwslt14
# with same simple preprocess steps and without tokenization, because the next step is learn spm
###
SCRIPTS=mosesdecoder/scripts
LC=$SCRIPTS/tokenizer/lowercase.perl
CLEAN=$SCRIPTS/training/clean-corpus-n.perl
tmp=tmp
orig=orig
tgt=en
rm -r $orig
rm -r $tmp
mkdir -p $orig $tmp

for src in ar de es fa he it nl pl; do
    lang=$src-en
    echo "pre-processing train data..."
    for l in $src $tgt; do
        if [[ ! -f $src-en.tgz ]]; then
            wget https://wit3.fbk.eu/archive/2014-01//texts/$src/en/$src-en.tgz
        fi
        cd $orig
        tar zxvf ../$src-en.tgz
        cd ..

        f=train.tags.$lang.$l

        cat $orig/$lang/$f | \
        grep -v '' | \
        grep -v '' | \
        grep -v '' | \
        grep -v '' | \
        sed -e 's///g'</span> <span class="token operator">|</span> <span class="token punctuation">\</span>
        <span class="token function">sed</span> -e <span class="token string">'s/<\/title>//g'</span> <span class="token operator">|</span> <span class="token punctuation">\</span>
        <span class="token function">sed</span> -e <span class="token string">'s/<description>//g'</span> <span class="token operator">|</span> <span class="token punctuation">\</span>
        <span class="token function">sed</span> -e <span class="token string">'s/<\/description>//g'</span> <span class="token operator">></span> <span class="token variable">$tmp</span>/<span class="token variable">$f</span>
        <span class="token builtin class-name">echo</span> <span class="token string">""</span>
    <span class="token keyword">done</span>
    <span class="token keyword">for</span> <span class="token for-or-select variable">l</span> <span class="token keyword">in</span> <span class="token variable">$src</span> <span class="token variable">$tgt</span><span class="token punctuation">;</span> <span class="token keyword">do</span>
        perl <span class="token variable">$LC</span> <span class="token operator"><</span> <span class="token variable">$tmp</span>/train.tags.<span class="token variable">$lang</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token operator">></span> <span class="token variable">$tmp</span>/train.<span class="token variable">$lang</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
        <span class="token function">rm</span> <span class="token variable">$tmp</span>/train.tags.<span class="token variable">$lang</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
    <span class="token keyword">done</span>
    <span class="token builtin class-name">echo</span> <span class="token string">"pre-processing valid/test data..."</span>
    <span class="token keyword">for</span> <span class="token for-or-select variable">l</span> <span class="token keyword">in</span> <span class="token variable">$src</span> <span class="token variable">$tgt</span><span class="token punctuation">;</span> <span class="token keyword">do</span>
      <span class="token keyword">for</span> <span class="token for-or-select variable">o</span> <span class="token keyword">in</span> <span class="token variable"><span class="token variable">`</span><span class="token function">ls</span> $orig/$lang/IWSLT14.TED*.$l.xml<span class="token variable">`</span></span><span class="token punctuation">;</span> <span class="token keyword">do</span>
        <span class="token assign-left variable">fname</span><span class="token operator">=</span><span class="token variable">${o<span class="token operator">##</span>*<span class="token operator">/</span>}</span>
        <span class="token assign-left variable">f</span><span class="token operator">=</span><span class="token variable">$tmp</span>/<span class="token variable">${fname<span class="token operator">%</span>.*}</span>
        <span class="token builtin class-name">echo</span> <span class="token variable">$o</span> <span class="token variable">$f</span>
        <span class="token function">grep</span> <span class="token string">'<seg id'</span> <span class="token variable">$o</span> <span class="token operator">|</span> <span class="token punctuation">\</span>
            <span class="token function">sed</span> -e <span class="token string">'s/<seg id="[0-9]*">\s*//g'</span> <span class="token operator">|</span> <span class="token punctuation">\</span>
            <span class="token function">sed</span> -e <span class="token string">'s/\s*<\/seg>\s*//g'</span> <span class="token operator">|</span> <span class="token punctuation">\</span>
            <span class="token function">sed</span> -e <span class="token string">"s/\’/\'/g"</span> <span class="token operator">|</span> <span class="token punctuation">\</span>
        perl <span class="token variable">$LC</span> <span class="token operator">></span> <span class="token variable">$f</span>
        <span class="token builtin class-name">echo</span> <span class="token string">""</span>
        <span class="token keyword">done</span>
    <span class="token keyword">done</span>

    <span class="token builtin class-name">echo</span> <span class="token string">"creating train, valid, test..."</span>
    <span class="token keyword">for</span> <span class="token for-or-select variable">l</span> <span class="token keyword">in</span> <span class="token variable">$src</span> <span class="token variable">$tgt</span><span class="token punctuation">;</span> <span class="token keyword">do</span>
      <span class="token function">mv</span> <span class="token variable">$tmp</span>/train.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token variable">$tmp</span>/train-valid.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
      <span class="token function">awk</span> <span class="token string">'{if (NR%23 == 0)  print $0; }'</span> <span class="token variable">$tmp</span>/train-valid.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token operator">></span> <span class="token variable">$tmp</span>/valid.en-<span class="token variable">$src</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
      <span class="token function">awk</span> <span class="token string">'{if (NR%23 != 0)  print $0; }'</span> <span class="token variable">$tmp</span>/train-valid.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token operator">></span> <span class="token variable">$tmp</span>/train.en-<span class="token variable">$src</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
      <span class="token function">rm</span> <span class="token variable">$tmp</span>/train-valid.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
      <span class="token function">cat</span> <span class="token variable">$tmp</span>/IWSLT14.TED.dev2010.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token punctuation">\</span>
          <span class="token variable">$tmp</span>/IWSLT14.TEDX.dev2012.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token punctuation">\</span>
          <span class="token variable">$tmp</span>/IWSLT14.TED.tst2010.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token punctuation">\</span>
          <span class="token variable">$tmp</span>/IWSLT14.TED.tst2011.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token punctuation">\</span>
          <span class="token variable">$tmp</span>/IWSLT14.TED.tst2012.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token punctuation">\</span>
          <span class="token operator">></span> <span class="token variable">$tmp</span>/test.en-<span class="token variable">$src</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
      <span class="token function">rm</span> <span class="token variable">$tmp</span>/IWSLT14.TED*.<span class="token variable">$src</span>-<span class="token variable">$tgt</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
    <span class="token keyword">done</span>


    <span class="token assign-left variable">TRAIN</span><span class="token operator">=</span><span class="token variable">$tmp</span>/train.all
    <span class="token keyword">for</span> <span class="token for-or-select variable">l</span> <span class="token keyword">in</span> <span class="token variable">$src</span> <span class="token variable">$tgt</span><span class="token punctuation">;</span> <span class="token keyword">do</span>
        <span class="token function">cat</span> <span class="token variable">$tmp</span>/train.en-<span class="token variable">$src</span><span class="token builtin class-name">.</span><span class="token variable">$l</span> <span class="token operator">>></span> <span class="token variable">$TRAIN</span>
    <span class="token keyword">done</span>
<span class="token keyword">done</span>

<span class="token builtin class-name">echo</span> <span class="token string">"counting..."</span>
<span class="token keyword">for</span> <span class="token for-or-select variable">src</span> <span class="token keyword">in</span> ar de es fa he it <span class="token function">nl</span> pl<span class="token punctuation">;</span> <span class="token keyword">do</span>
  <span class="token keyword">for</span> <span class="token for-or-select variable">split</span> <span class="token keyword">in</span> train valid <span class="token builtin class-name">test</span><span class="token punctuation">;</span> <span class="token keyword">do</span>
    <span class="token keyword">for</span> <span class="token for-or-select variable">l</span> <span class="token keyword">in</span> <span class="token variable">$src</span> <span class="token variable">$tgt</span><span class="token punctuation">;</span> <span class="token keyword">do</span>
      <span class="token function">wc</span> -l <span class="token variable">$tmp</span>/<span class="token variable">$split</span>.en-<span class="token variable">$src</span><span class="token builtin class-name">.</span><span class="token variable">$l</span>
    <span class="token keyword">done</span>
  <span class="token keyword">done</span>
<span class="token keyword">done</span>

<span class="token builtin class-name">echo</span> <span class="token string">"done"</span>
</code></pre> 
  <h2>learn_and_encode_spm-iwslt14.sh</h2> 
  <p>学习spm,并apply,得到下面文件,用于binarize。</p> 
  <p><a href="http://img.e-com-net.com/image/info8/87ab9124c0914e37957d7bd597d167c5.jpg" target="_blank"><img src="http://img.e-com-net.com/image/info8/87ab9124c0914e37957d7bd597d167c5.jpg" alt="[机器翻译] multilingual fairseq-preprocess的两种做法_第3张图片" width="547" height="525" style="border:1px solid black;"></a></p> 
  <pre><code class="prism language-bash"><span class="token shebang important">#!/usr/bin/env bash</span>
<span class="token builtin class-name">echo</span> <span class="token string">'Cloning fairseq repository...'</span>
<span class="token function">git</span> clone git@github.com:facebookresearch/fairseq.git
<span class="token comment"># learn bpe</span>
<span class="token assign-left variable">bpe</span><span class="token operator">=</span>bpe
<span class="token assign-left variable">tmp</span><span class="token operator">=</span>tmp
<span class="token assign-left variable">tgt</span><span class="token operator">=</span>en
<span class="token assign-left variable">SCRIPTS</span><span class="token operator">=</span>mosesdecoder/scripts
<span class="token assign-left variable">CLEAN</span><span class="token operator">=</span><span class="token variable">$SCRIPTS</span>/training/clean-corpus-n.perl
<span class="token function">rm</span> -r <span class="token variable">$bpe</span>
<span class="token function">mkdir</span> -p <span class="token variable">$bpe</span>

python -u fairseq/scripts/spm_train.py <span class="token punctuation">\</span>
  --input<span class="token operator">=</span><span class="token variable">$tmp</span>/train.all <span class="token punctuation">\</span>
  --model_prefix<span class="token operator">=</span>spm.bpe <span class="token punctuation">\</span>
  --vocab_size<span class="token operator">=</span><span class="token number">30000</span> <span class="token punctuation">\</span>
  --character_coverage<span class="token operator">=</span><span class="token number">1.0</span> <span class="token punctuation">\</span>
  --model_type<span class="token operator">=</span>bpe <span class="token punctuation">\</span>
  --num_threads<span class="token operator">=</span><span class="token number">45</span> <span class="token punctuation">\</span>
  --shuffle_input_sentence


<span class="token comment"># apply bpe</span>
<span class="token keyword">for</span> <span class="token for-or-select variable">split</span> <span class="token keyword">in</span> train valid <span class="token builtin class-name">test</span><span class="token punctuation">;</span> <span class="token keyword">do</span>
  <span class="token keyword">for</span> <span class="token for-or-select variable">src</span> <span class="token keyword">in</span> ar de es fa he it <span class="token function">nl</span> pl<span class="token punctuation">;</span> <span class="token keyword">do</span>
    <span class="token builtin class-name">echo</span> <span class="token variable">${split}</span> en-<span class="token variable">${src}</span>
    python fairseq/scripts/spm_encode.py <span class="token punctuation">\</span>
      --model spm.bpe.model <span class="token punctuation">\</span>
      --output_format<span class="token operator">=</span>piece <span class="token punctuation">\</span>
      --inputs <span class="token variable">${tmp}</span>/<span class="token variable">${split}</span>.en-<span class="token variable">${src}</span><span class="token builtin class-name">.</span><span class="token variable">${src}</span> <span class="token variable">${tmp}</span>/<span class="token variable">${split}</span>.en-<span class="token variable">${src}</span>.en <span class="token punctuation">\</span>
      --outputs <span class="token variable">${bpe}</span>/<span class="token variable">${split}</span>.en-<span class="token variable">${src}</span>.bpe.unclean.<span class="token variable">${src}</span> <span class="token variable">${bpe}</span>/<span class="token variable">${split}</span>.en-<span class="token variable">${src}</span>.bpe.unclean.en
     restrict length ratio
    perl <span class="token variable">$CLEAN</span> -ratio <span class="token number">1.5</span> <span class="token variable">${bpe}</span>/<span class="token variable">${split}</span>.en-<span class="token variable">${src}</span>.bpe.unclean <span class="token variable">${src}</span> en <span class="token variable">${bpe}</span>/<span class="token variable">${split}</span>.en-<span class="token variable">${src}</span>.bpe <span class="token number">1</span> <span class="token number">256</span>
    <span class="token function">rm</span> <span class="token variable">${bpe}</span>/<span class="token variable">${split}</span>.en-<span class="token variable">${src}</span>.bpe.unclean.*
  <span class="token keyword">done</span>
<span class="token keyword">done</span>
</code></pre> 
  <h2>binarize.sh</h2> 
  <pre><code class="prism language-bash"><span class="token shebang important">#!/usr/bin/env bash</span>
<span class="token comment"># create share dict</span>
<span class="token assign-left variable">path</span><span class="token operator">=</span>data-bin
<span class="token function">rm</span> -r <span class="token variable">$path</span>
<span class="token function">mkdir</span> -p <span class="token variable">$path</span>

<span class="token function">cut</span> -f1 spm.bpe.vocab <span class="token operator">|</span> <span class="token function">tail</span> -n +4 <span class="token operator">|</span> <span class="token function">sed</span> <span class="token string">"s/$/ 100/g"</span> <span class="token operator">></span> <span class="token variable">$path</span>/dict.txt
<span class="token comment">#for lang in ar de es fa he it nl pl en; do</span>
<span class="token comment">#  cp $path/dict.txt $path/dict.${lang}.txt</span>
<span class="token comment">#done</span>

<span class="token keyword">for</span> <span class="token for-or-select variable">split</span> <span class="token keyword">in</span> train valid <span class="token builtin class-name">test</span><span class="token punctuation">;</span> <span class="token keyword">do</span>
  <span class="token keyword">for</span> <span class="token for-or-select variable">src</span> <span class="token keyword">in</span> ar de es fa he it <span class="token function">nl</span> pl<span class="token punctuation">;</span> <span class="token keyword">do</span>
    <span class="token builtin class-name">echo</span> <span class="token variable">${split}</span> en-<span class="token variable">${src}</span>
    fairseq-preprocess <span class="token punctuation">\</span>
        --source-lang <span class="token variable">$src</span> --target-lang en <span class="token punctuation">\</span>
        --trainpref bpe/train.en-<span class="token variable">${src}</span>.bpe <span class="token punctuation">\</span>
        --validpref bpe/valid.en-<span class="token variable">${src}</span>.bpe <span class="token punctuation">\</span>
        --testpref bpe/test.en-<span class="token variable">${src}</span>.bpe <span class="token punctuation">\</span>
        --destdir <span class="token variable">$path</span> <span class="token punctuation">\</span>
        --srcdict <span class="token variable">$path</span>/dict.txt <span class="token punctuation">\</span>
        --tgtdict <span class="token variable">$path</span>/dict.txt
  <span class="token keyword">done</span>
<span class="token keyword">done</span>
</code></pre> 
  <h1>参考</h1> 
  <p>https://github.com/RayeRen/multilingual-kd-pytorch/blob/master/data/iwslt/raw/prepare-iwslt14.sh<br> https://github.com/facebookresearch/fairseq/issues/2110#issue-614837309<br> https://github.com/facebookresearch/fairseq/tree/main/examples/m2m_100</p> 
 </div> 
</div>
                            </div>
                        </div>
                    </div>
                    <!--PC和WAP自适应版-->
                    <div id="SOHUCS" sid="1538393709169635328"></div>
                    <script type="text/javascript" src="/views/front/js/chanyan.js"></script>
                    <!-- 文章页-底部 动态广告位 -->
                    <div class="youdao-fixed-ad" id="detail_ad_bottom"></div>
                </div>
                <div class="col-md-3">
                    <div class="row" id="ad">
                        <!-- 文章页-右侧1 动态广告位 -->
                        <div id="right-1" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_1"> </div>
                        </div>
                        <!-- 文章页-右侧2 动态广告位 -->
                        <div id="right-2" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_2"></div>
                        </div>
                        <!-- 文章页-右侧3 动态广告位 -->
                        <div id="right-3" class="col-lg-12 col-md-12 col-sm-4 col-xs-4 ad">
                            <div class="youdao-fixed-ad" id="detail_ad_3"></div>
                        </div>
                    </div>
                </div>
            </div>
        </div>
    </div>
    <div class="container">
        <h4 class="pt20 mb15 mt0 border-top">你可能感兴趣的:(机器翻译,机器翻译,深度学习,人工智能)</h4>
        <div id="paradigm-article-related">
            <div class="recommend-post mb30">
                <ul class="widget-links">
                    <li><a href="/article/1892438284043350016.htm"
                           title="知识图谱构建概念、工具、实例调研" target="_blank">知识图谱构建概念、工具、实例调研</a>
                        <span class="text-muted">熟悉的黑曼巴</span>
<a class="tag" taget="_blank" href="/search/%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1/1.htm">知识图谱</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>一、知识图谱的概念知识图谱(Knowledgegraph)知识图谱是一种用图模型来描述知识和建模世界万物之间的关联关系的技术方法。知识图谱由节点和边组成。节点可以是实体,如一个人、一本书等,或是抽象的概念,如人工智能、知识图谱等。边可以是实体的属性,如姓名、书名或是实体之间的关系,如朋友、配偶。知识图谱的早期理念来自SemanticWeb(语义网络),其最初理想是把基于文本链接的万维网落转化为基于</div>
                    </li>
                    <li><a href="/article/1892434502102347776.htm"
                           title="auto-gptq安装以及不适配软硬件环境可能出现的问题及解决方式" target="_blank">auto-gptq安装以及不适配软硬件环境可能出现的问题及解决方式</a>
                        <span class="text-muted">IT修炼家</span>
<a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B%E9%83%A8%E7%BD%B2/1.htm">大模型部署</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大模型</a><a class="tag" taget="_blank" href="/search/auto-gptq/1.htm">auto-gptq</a><a class="tag" taget="_blank" href="/search/cuda/1.htm">cuda</a>
                        <div>目录1、auto-gptq是什么?2、auto-gptq安装3、auto-gptq不正确安装可能会出现的问题(1)爆出:`CUDAextensionnotinstalled.`(2)没有报错但是推理速度超级慢1、auto-gptq是什么?Auto-GPTQ是一种专注于量化深度学习模型的工具库。它的主要目标是通过量化技术(Quantization)将大型语言模型(LLM)等深度学习模型的大小和计算复</div>
                    </li>
                    <li><a href="/article/1892434375757328384.htm"
                           title="【deepseek与chatGPT辩论】辩论题: “人工智能是否应当具备自主决策能力?”" target="_blank">【deepseek与chatGPT辩论】辩论题: “人工智能是否应当具备自主决策能力?”</a>
                        <span class="text-muted">海宁不掉头发</span>
<a class="tag" taget="_blank" href="/search/%E8%BD%AF%E4%BB%B6%E5%B7%A5%E7%A8%8B/1.htm">软件工程</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/chatgpt/1.htm">chatgpt</a><a class="tag" taget="_blank" href="/search/deepseek/1.htm">deepseek</a>
                        <div>探讨辩论题这个提案涉及创建一个精确的辩论题目,旨在测试deepseek的应答能力。创建辩论题目提议设计一个辩论题目以测试deepseek的应答能力。希望这个题目具有挑战性并能够测量其回应质量。好的,来一道适合深度学习的辩论题:辩论题:“人工智能是否应当具备自主决策能力?”这个话题涉及到人工智能的发展、伦理以及未来应用,可以从以下几个方面展开辩论:支持方:认为人工智能的自主决策能力能够加速科技进步,</div>
                    </li>
                    <li><a href="/article/1892423520114241536.htm"
                           title="GenAI 平台,3 分钟即可构建基于 Claude、DeepSeek 的 AI Agent" target="_blank">GenAI 平台,3 分钟即可构建基于 Claude、DeepSeek 的 AI Agent</a>
                        <span class="text-muted">DO_Community</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>DigitalOcean云服务在前不久发布了GenAI平台——一个让任何团队都能在几分钟内构建和部署AI代理的平台。DigitalOcean的GenAI平台持续扩展,让人工智能驱动的开发变得更加易用、灵活且强大。近日,Digitalocean宣布将Anthropic的Claude模型和DeepSeekR1引入Digitalocean的生态系统,为你提供更多构建和部署AI应用的选择。通过Anthro</div>
                    </li>
                    <li><a href="/article/1892422258589233152.htm"
                           title="智享AI直播三代系统,马斯克旗下AI人工智能直播工具,媲美DeepSeek!" target="_blank">智享AI直播三代系统,马斯克旗下AI人工智能直播工具,媲美DeepSeek!</a>
                        <span class="text-muted">V__17671155793</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>智享AI直播三代系统,马斯克旗下AI人工智能直播工具,媲美DeepSeek!在科技飞速发展的当下,人工智能正以前所未有的态势重塑着各个行业的格局。直播领域,作为信息传播与商业交互的前沿阵地,也在AI技术的赋能下迎来了颠覆性的变革。其中,马斯克旗下的智享AI直播三代系统宛如一颗璀璨的新星,横空出世,以其卓越的性能和创新的理念,迅速在竞争激烈的直播市场中崭露头角,甚至被业界誉为可媲美DeepSeek的</div>
                    </li>
                    <li><a href="/article/1892419989684678656.htm"
                           title="基于python深度学习遥感影像地物分类与目标识别、分割实践技术应用" target="_blank">基于python深度学习遥感影像地物分类与目标识别、分割实践技术应用</a>
                        <span class="text-muted">xiao5kou4chang6kai4</span>
<a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E9%81%A5%E6%84%9F/1.htm">遥感</a><a class="tag" taget="_blank" href="/search/%E5%8B%98%E6%B5%8B/1.htm">勘测</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E7%B1%BB/1.htm">分类</a>
                        <div>专题一:深度学习发展与机器学习深度学习的历史发展过程机器学习,深度学习等任务的基本处理流程梯度下降算法讲解不同初始化,学习率对梯度下降算法的实例分析从机器学习到深度学习算法专题二深度卷积网络、卷积神经网络、卷积运算的基本原理池化操作,全连接层,以及分类器的作用BP反向传播算法的理解一个简单CNN模型代码理解特征图,卷积核可视化分析专题三TensorFlow与keras介绍与入门TensorFlow</div>
                    </li>
                    <li><a href="/article/1892419226480734208.htm"
                           title="DeepSeek与ChatGPT:会取代搜索引擎和人工客服的人工智能革命" target="_blank">DeepSeek与ChatGPT:会取代搜索引擎和人工客服的人工智能革命</a>
                        <span class="text-muted">云边有个稻草人</span>
<a class="tag" taget="_blank" href="/search/%E7%83%AD%E9%97%A8%E6%96%87%E7%AB%A0/1.htm">热门文章</a><a class="tag" taget="_blank" href="/search/chatgpt/1.htm">chatgpt</a><a class="tag" taget="_blank" href="/search/%E6%90%9C%E7%B4%A2%E5%BC%95%E6%93%8E/1.htm">搜索引擎</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a>
                        <div>云边有个稻草人-CSDN博客在众多创新技术中,DeepSeek和ChatGPT无疑是最为引人注目的。它们通过强大的搜索和对话生成能力,能够改变我们与计算机交互的方式,帮助我们高效地获取信息,增强智能服务。本文将深入探讨这两项技术如何结合使用,为用户提供更精准、更流畅的对话和搜索体验。目录一、介绍1.1什么是DeepSeek?1.2什么是ChatGPT?1.3DeepSeek与ChatGPT的结合:</div>
                    </li>
                    <li><a href="/article/1892411035852271616.htm"
                           title="LLM与知识图谱融合:智能运维知识库构建" target="_blank">LLM与知识图谱融合:智能运维知识库构建</a>
                        <span class="text-muted">AI天才研究院</span>
<a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a><a class="tag" taget="_blank" href="/search/R1/1.htm">R1</a><a class="tag" taget="_blank" href="/search/%26amp%3B/1.htm">&</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AEAI%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD%E5%A4%A7%E6%A8%A1%E5%9E%8B/1.htm">大数据AI人工智能大模型</a><a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E4%BC%81%E4%B8%9A%E7%BA%A7%E5%BA%94%E7%94%A8%E5%BC%80%E5%8F%91%E5%AE%9E%E6%88%98/1.htm">AI大模型企业级应用开发实战</a><a class="tag" taget="_blank" href="/search/AI%E5%AE%9E%E6%88%98/1.htm">AI实战</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6/1.htm">计算科学</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E8%AE%A1%E7%AE%97/1.htm">神经计算</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%9E%8B%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">大型语言模型</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/AGI/1.htm">AGI</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/RPA/1.htm">RPA</a>
                        <div>1.背景介绍随着信息技术的飞速发展,IT运维管理面临着越来越大的挑战。海量的设备、复杂的网络环境、日益增长的数据量,使得传统的运维方式难以满足需求。为了提高运维效率和质量,智能运维应运而生。智能运维的核心是将人工智能技术应用于运维领域,通过机器学习、深度学习等算法,实现自动化、智能化的运维管理。其中,大语言模型(LLM)和知识图谱是两个重要的技术方向。LLM能够理解和生成自然语言,可以用于构建智能</div>
                    </li>
                    <li><a href="/article/1892390108330520576.htm"
                           title="Python中LLM的知识图谱构建:动态更新与推理" target="_blank">Python中LLM的知识图谱构建:动态更新与推理</a>
                        <span class="text-muted">二进制独立开发</span>
<a class="tag" taget="_blank" href="/search/GenAI%E4%B8%8EPython/1.htm">GenAI与Python</a><a class="tag" taget="_blank" href="/search/%E9%9D%9E%E7%BA%AF%E7%B2%B9GenAI/1.htm">非纯粹GenAI</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E7%9F%A5%E8%AF%86%E5%9B%BE%E8%B0%B1/1.htm">知识图谱</a><a class="tag" taget="_blank" href="/search/%E5%BC%80%E5%8F%91%E8%AF%AD%E8%A8%80/1.htm">开发语言</a><a class="tag" taget="_blank" href="/search/%E8%87%AA%E7%84%B6%E8%AF%AD%E8%A8%80%E5%A4%84%E7%90%86/1.htm">自然语言处理</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%88%86%E5%B8%83%E5%BC%8F/1.htm">分布式</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E5%AD%A6%E4%B9%A0/1.htm">机器学习</a>
                        <div>文章目录引言1.知识图谱的基本概念1.1知识图谱的定义1.2知识图谱的构建流程2.利用LLM进行知识抽取2.1实体识别2.2关系抽取2.3属性抽取3.知识融合3.1实体对齐3.2冲突消解4.知识存储5.知识推理5.1规则推理5.2基于LLM的推理6.动态更新6.1增量更新6.2实时更新7.结论引言随着人工智能技术的飞速发展,知识图谱(KnowledgeGraph,KG)作为一种结构化的知识表示方法</div>
                    </li>
                    <li><a href="/article/1892381020796284928.htm"
                           title="无需配置!深脑云一键启用DeepSeek全系AI模型" target="_blank">无需配置!深脑云一键启用DeepSeek全系AI模型</a>
                        <span class="text-muted">小深ai硬件分享</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>解锁无限算力潜能,开启DeepSeek镜像云算力新征程!在人工智能风起云涌的时代,算力就是驱动创新的引擎,而优质的模型镜像则是引领变革的密钥。我们向您介绍一下我们的深脑云算力平台,这里汇聚了DeepSeek的各大版本镜像,为您的科研、开发与创新之路注入强大动力!强大的DeepSeek模型家族DeepSeek,作为AI领域的璀璨明星,以其卓越的性能和先进的技术架构闻名遐迩。我们的平台精心整合了Dee</div>
                    </li>
                    <li><a href="/article/1892381022583058432.htm"
                           title="AI服务器散热黑科技:让芯片“冷静”提速" target="_blank">AI服务器散热黑科技:让芯片“冷静”提速</a>
                        <span class="text-muted">小深ai硬件分享</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E6%9C%8D%E5%8A%A1%E5%99%A8/1.htm">服务器</a>
                        <div>AI服务器为何需要散热黑科技在人工智能飞速发展的当下,AI服务器作为核心支撑,作用重大。从互联网智能推荐,到医疗疾病诊断辅助,从金融风险预测,到教育个性化学习,AI服务器广泛应用,为各类复杂人工智能应用提供强大算力。然而,AI服务器在运行时面临着严峻的散热挑战。随着人工智能技术的不断发展,对AI服务器的计算能力要求越来越高,这使得服务器的功率密度急剧增加。以GPT-4的训练为例,它需要大量的GPU</div>
                    </li>
                    <li><a href="/article/1892375727005822976.htm"
                           title="深度应用场景:DeepSeek —— 探索AI赋能的智慧未来" target="_blank">深度应用场景:DeepSeek —— 探索AI赋能的智慧未来</a>
                        <span class="text-muted">人工智能专属驿站</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>深度应用场景:DeepSeek——探索AI赋能的智慧未来随着人工智能的迅猛发展,数据的价值已不再局限于简单的存储与处理,它们正变得更加智能与高效。DeepSeek,这一创新的AI技术平台,正以其独特的深度学习能力,开启了各行各业的智能化变革。让我们走进一个由DeepSeek打造的深度应用场景,探索它如何推动未来的发展。1.智能医疗:精准诊断,拯救生命想象一下,医生们不再是唯一的诊断专家,而是与AI</div>
                    </li>
                    <li><a href="/article/1892370680985481216.htm"
                           title="卷积神经网络之AlexNet经典神经网络,实现手写数字0~9识别" target="_blank">卷积神经网络之AlexNet经典神经网络,实现手写数字0~9识别</a>
                        <span class="text-muted">知识鱼丸</span>
<a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/cnn/1.htm">cnn</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/AlexNet/1.htm">AlexNet</a><a class="tag" taget="_blank" href="/search/%E7%BB%8F%E5%85%B8%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">经典神经网络</a>
                        <div>深度学习中较为常见的神经网络模型AlexNet,AlexNet是一个采用GPU训练的深层CNN,本质是种LeNet变体。由特征提取层的5个卷积层两个下采样层和分类器中的三个全连接层构成。先看原理:AlexNet网络特点采用ReLU激活函数,使训练速度提升6倍采用dropout层,防止模型过拟合通过平移和翻转的方式对数据进行增强采用LRN局部响应归一化,限制数据大小,防止梯度消失和爆炸。但后续证明批</div>
                    </li>
                    <li><a href="/article/1892369420290945024.htm"
                           title="在 DeepSeek 驱动的编程变革中抓住机遇并脱颖而出" target="_blank">在 DeepSeek 驱动的编程变革中抓住机遇并脱颖而出</a>
                        <span class="text-muted">智想天开</span>
<a class="tag" taget="_blank" href="/search/AI%E6%8A%80%E6%9C%AF/1.htm">AI技术</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/deep/1.htm">deep</a><a class="tag" taget="_blank" href="/search/learning/1.htm">learning</a>
                        <div>公众号地址:在DeepSeek驱动的编程变革中抓住机遇并脱颖而出更多内容请关注公众号:智想天开前言在DeepSeek引领的新一轮AI技术革新中,程序员们正面临着前所未有的挑战。随着DeepSeek等人工智能工具的迅猛发展,编程领域正在发生深刻变革。这些先进的工具不仅能够自动化完成繁重的代码生成和调试任务,还能够根据大量数据提供优化建议,改变了传统编程的工作流程。虽然这些技术为提高工作效率和解放开发</div>
                    </li>
                    <li><a href="/article/1892369293711044608.htm"
                           title="项目管理新趋势!2024年,Jira与Codes你更倾向谁?" target="_blank">项目管理新趋势!2024年,Jira与Codes你更倾向谁?</a>
                        <span class="text-muted">Codes_AndyLiu</span>
<a class="tag" taget="_blank" href="/search/jira/1.htm">jira</a><a class="tag" taget="_blank" href="/search/teambition/1.htm">teambition</a><a class="tag" taget="_blank" href="/search/redmine/1.htm">redmine</a><a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86%E8%BD%AF%E4%BB%B6/1.htm">项目管理软件</a><a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86%E5%B7%A5%E5%85%B7/1.htm">项目管理工具</a><a class="tag" taget="_blank" href="/search/%E9%A1%B9%E7%9B%AE%E7%AE%A1%E7%90%86/1.htm">项目管理</a><a class="tag" taget="_blank" href="/search/jira/1.htm">jira</a><a class="tag" taget="_blank" href="/search/%E5%9B%BD%E4%BA%A7%E5%B9%B3%E6%9B%BF/1.htm">国产平替</a>
                        <div>一、项目管理软件新趋势概述2024年,项目管理软件呈现出诸多新趋势,这些趋势对于项目管理的重要性日益凸显。在数字化转型方面,项目管理软件成为企业实现数字化转型的关键工具。让老板感知数据,让中层管理者感受先进,让基层员工感到舒心.人工智能与自动化在项目管理软件中的应用也越来越广泛。项目管理软件正朝着智能化、自动化的方向迈进,利用AI技术提供个性化和场景化解决方案。例如,工作周报AI化,自动化测试,代</div>
                    </li>
                    <li><a href="/article/1892362734704586752.htm"
                           title="【人工智能】提升编程效率的6种GPT实用应用技巧!保姆级讲解!" target="_blank">【人工智能】提升编程效率的6种GPT实用应用技巧!保姆级讲解!</a>
                        <span class="text-muted">ChatGPT-千鑫</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/AI%E9%A2%86%E5%9F%9F/1.htm">AI领域</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/gpt/1.htm">gpt</a><a class="tag" taget="_blank" href="/search/AI%E7%BC%96%E7%A8%8B/1.htm">AI编程</a>
                        <div>文章目录实用教程:六大AI编程技巧解锁效率提升技巧1:快速实现需求demo操作步骤技巧2:代码审查——AI帮你提升代码质量操作步骤技巧3:错误排查——AI助你快速定位问题操作步骤技巧4:代码注释——AI帮你理解复杂逻辑操作步骤技巧5:数据整理——AI帮你高效准备测试数据操作步骤技巧6:学习未知代码库——AI助你快速掌握新工具操作步骤使用教程:全面掌握CodeMoss的高效编程工具(1)VSCode</div>
                    </li>
                    <li><a href="/article/1892362356776824832.htm"
                           title="利用人工智能增强可读性:自动为文本添加标点符号" target="_blank">利用人工智能增强可读性:自动为文本添加标点符号</a>
                        <span class="text-muted">姚家湾</span>
<a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/%E6%A0%87%E7%82%B9%E7%AC%A6%E5%8F%B7/1.htm">标点符号</a>
                        <div>在数字通信时代,文本的清晰度和可读性至关重要。无论是转录口语、处理原始文本数据还是改进用户生成的内容,标点符号在传达预期信息方面都起着至关重要的作用。但是,手动编辑文本以添加标点符号可能非常耗时且容易出错。这就是人工智能(AI)发挥作用的地方,它提供了一种强大的解决方案,可以自动将标点符号插入句子中。目前,利用大模型的能力,完全可以胜任添加标点符号的工作,不需要其它特别的处理程序。参考代码from</div>
                    </li>
                    <li><a href="/article/1892362228376596480.htm"
                           title="用 TensorFlow 搭建简单的手写数字识别模型" target="_blank">用 TensorFlow 搭建简单的手写数字识别模型</a>
                        <span class="text-muted">lozhyf</span>
<a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/tensorflow/1.htm">tensorflow</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>一、引言手写数字识别是机器学习领域中一个经典且基础的问题,它在很多实际场景中都有广泛的应用,比如邮政系统中的邮件分拣、银行支票金额识别等。TensorFlow是一个强大的开源机器学习框架,由Google开发并维护,它提供了丰富的工具和接口,能帮助我们快速搭建和训练深度学习模型。在这篇博客中,我们将使用TensorFlow构建一个简单的神经网络模型,用于识别手写数字。二、环境准备在开始之前,你需要安</div>
                    </li>
                    <li><a href="/article/1892360967430402048.htm"
                           title="深度学习在医疗影像分析中的革命性应用" target="_blank">深度学习在医疗影像分析中的革命性应用</a>
                        <span class="text-muted">Echo_Wish</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%89%8D%E6%B2%BF%E6%8A%80%E6%9C%AF/1.htm">前沿技术</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>深度学习在医疗影像分析中的革命性应用引言医疗影像分析是现代医学中不可或缺的一部分,特别是在疾病诊断和治疗过程中发挥了至关重要的作用。随着深度学习技术的发展,医疗影像分析的效率和准确性得到了显著提升。本文将探讨如何利用深度学习技术,特别是Python编程语言,来优化医疗影像分析,展示具体的代码实例,并举例说明其实际应用效果。深度学习与医疗影像分析深度学习(DeepLearning)是一种基于人工神经</div>
                    </li>
                    <li><a href="/article/1892350251306643456.htm"
                           title="yolov8人脸识别与脸部关键点检测(代码+原理)" target="_blank">yolov8人脸识别与脸部关键点检测(代码+原理)</a>
                        <span class="text-muted">QQ_1309399183</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E6%9C%BA%E8%A7%86%E8%A7%89%E5%AE%9E%E6%88%98%E9%A1%B9%E7%9B%AE%E9%9B%86%E9%94%A6/1.htm">计算机视觉实战项目集锦</a><a class="tag" taget="_blank" href="/search/YOLO/1.htm">YOLO</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E8%84%B8%E8%AF%86%E5%88%AB/1.htm">人脸识别</a><a class="tag" taget="_blank" href="/search/yolo%E4%BA%BA%E8%84%B8%E6%A3%80%E6%B5%8B/1.htm">yolo人脸检测</a>
                        <div>YOLOv8脸部识别是一个基于YOLOv8算法的人脸检测项目,旨在实现快速、准确地检测图像和视频中的人脸。该项目是对YOLOv8算法的扩展和优化,专门用于人脸检测任务。YOLOv8是一种基于深度学习的目标检测算法,通过将目标检测问题转化为一个回归问题,可以实现实时的目标检测。YOLOv8Face项目在YOLOv8的基础上进行了改进,使其更加适用于人脸检测。以下是YOLOv8Face项目的一些特点和</div>
                    </li>
                    <li><a href="/article/1892342942933250048.htm"
                           title="《从编程小白到人工智能大神:大学新生Python入门攻略》" target="_blank">《从编程小白到人工智能大神:大学新生Python入门攻略》</a>
                        <span class="text-muted">千帆过尽.</span>
<a class="tag" taget="_blank" href="/search/python/1.htm">python</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>前言在如今这个技术飞速发展的时代,编程已经成为许多大学生不可或缺的技能,尤其是对于人工智能方向的学生来说,编程更是必不可少的一部分。作为一名大三学生,并且专注于Python和人工智能方向,我深知刚开始学习编程时的挑战与迷茫。希望本文能帮助作为大学新生的你们在编程入门的过程中少走弯路,提供一条清晰有效的学习路径。一、编程语言选择作为编程新手,选择一门适合自己的编程语言至关重要。对于希望进入人工智能领</div>
                    </li>
                    <li><a href="/article/1892338402662084608.htm"
                           title="探索Vearch:高效的深度学习向量相似度搜索系统" target="_blank">探索Vearch:高效的深度学习向量相似度搜索系统</a>
                        <span class="text-muted">scaFHIO</span>
<a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/python/1.htm">python</a>
                        <div>Vearch是一个可扩展的分布式系统,用于高效搜索深度学习向量的相似度。在本文中,我们将介绍Vearch的技术背景及其核心原理,演示如何使用VearchPythonSDK进行安装和设置,并分析一些实际应用场景,最后提供一些实战建议。技术背景介绍随着深度学习技术的发展,向量相似度搜索在各类应用中变得越来越重要。从图像识别、推荐系统到自然语言处理,向量搜索可以极大地提升系统的性能。然而,随着数据量的增</div>
                    </li>
                    <li><a href="/article/1892330207495385088.htm"
                           title="华为的云端训练算力与迭代效率" target="_blank">华为的云端训练算力与迭代效率</a>
                        <span class="text-muted">AI大模型应用之禅</span>
<a class="tag" taget="_blank" href="/search/DeepSeek/1.htm">DeepSeek</a><a class="tag" taget="_blank" href="/search/R1/1.htm">R1</a><a class="tag" taget="_blank" href="/search/%26amp%3B/1.htm">&</a><a class="tag" taget="_blank" href="/search/AI%E5%A4%A7%E6%A8%A1%E5%9E%8B%E4%B8%8E%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">AI大模型与大数据</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E7%AE%97%E7%A7%91%E5%AD%A6/1.htm">计算科学</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E8%AE%A1%E7%AE%97/1.htm">神经计算</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E7%A5%9E%E7%BB%8F%E7%BD%91%E7%BB%9C/1.htm">神经网络</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E6%95%B0%E6%8D%AE/1.htm">大数据</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%A4%A7%E5%9E%8B%E8%AF%AD%E8%A8%80%E6%A8%A1%E5%9E%8B/1.htm">大型语言模型</a><a class="tag" taget="_blank" href="/search/AI/1.htm">AI</a><a class="tag" taget="_blank" href="/search/AGI/1.htm">AGI</a><a class="tag" taget="_blank" href="/search/LLM/1.htm">LLM</a><a class="tag" taget="_blank" href="/search/Java/1.htm">Java</a><a class="tag" taget="_blank" href="/search/Python/1.htm">Python</a><a class="tag" taget="_blank" href="/search/%E6%9E%B6%E6%9E%84%E8%AE%BE%E8%AE%A1/1.htm">架构设计</a><a class="tag" taget="_blank" href="/search/Agent/1.htm">Agent</a><a class="tag" taget="_blank" href="/search/RPA/1.htm">RPA</a>
                        <div>华为云、云端训练、算力、迭代效率、人工智能、深度学习、模型训练、分布式训练、优化算法1.背景介绍人工智能(AI)技术近年来发展迅速,深度学习作为其核心驱动力,在图像识别、自然语言处理、语音识别等领域取得了突破性进展。然而,深度学习模型的训练需要海量数据和强大的计算资源,这成为AI技术发展面临的瓶颈之一。云计算作为一种新型的计算模式,为深度学习提供了强大的算力支持。华为云作为国内领先的云计算平台,在</div>
                    </li>
                    <li><a href="/article/1892314580617588736.htm"
                           title="AI外呼机器人:营销新利器还是骚扰电话的升级版?" target="_blank">AI外呼机器人:营销新利器还是骚扰电话的升级版?</a>
                        <span class="text-muted">yoloGina</span>
<a class="tag" taget="_blank" href="/search/%E5%AE%A2%E6%88%B7%E7%AE%A1%E7%90%86/1.htm">客户管理</a><a class="tag" taget="_blank" href="/search/%E5%A4%96%E5%91%BC%E7%B3%BB%E7%BB%9F/1.htm">外呼系统</a><a class="tag" taget="_blank" href="/search/%E7%94%B5%E8%AF%9D%E5%A4%96%E5%91%BC/1.htm">电话外呼</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E6%9C%BA%E5%99%A8%E4%BA%BA/1.htm">机器人</a>
                        <div>"您好,这里是XX房产,最近有购房需求吗?""您好,您最近有种牙需求吗?"相信很多人都接到过类似的营销电话,而电话那头,很可能已经不是真人,而是AI外呼机器人。近年来,AI外呼系统凭借其高效率、低成本的优势,迅速在电销行业普及,成为企业营销的"新宠"。据统计,2022年中国AI外呼市场规模已达50亿元,预计2025年将突破100亿元。AI外呼系统的核心技术是语音识别和自然语言处理。通过深度学习海量</div>
                    </li>
                    <li><a href="/article/1892288196562186240.htm"
                           title="深入浅出:CUDA是什么,如何利用它进行高效并行计算" target="_blank">深入浅出:CUDA是什么,如何利用它进行高效并行计算</a>
                        <span class="text-muted">码上飞扬</span>
<a class="tag" taget="_blank" href="/search/CUDA/1.htm">CUDA</a>
                        <div>在当今这个数据驱动的时代,计算能力的需求日益增加,特别是在深度学习、科学计算和图像处理等领域。为了满足这些需求,NVIDIA推出了CUDA(ComputeUnifiedDeviceArchitecture),这是一种并行计算平台和编程模型。本文将带你全面了解CUDA的基本概念、工作原理及其应用场景。一、什么是CUDA?CUDA(ComputeUnifiedDeviceArchitecture)是由</div>
                    </li>
                    <li><a href="/article/1892284417959849984.htm"
                           title="【深度学习】学习率调度策略" target="_blank">【深度学习】学习率调度策略</a>
                        <span class="text-muted">黑白交界</span>
<a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a>
                        <div>什么是学习率可以理解为模型在每一次迭代中的模型更新调整的幅度,“学习”新信息的速度。学习率定义了模型权重(参数)在梯度下降或其他优化算法中的更新步伐。较大的学习率意味着在每次参数更新时,模型会进行更大幅度的调整,而较小的学习率则意味着细致的、渐进的调整。适当的学习率可以帮助模型跳出局部最优解。当使用较大的学习率时,模型有可能跨越一些小的局部最优,从而找到全局最优解,但也有可能错过全局最优。因此,在</div>
                    </li>
                    <li><a href="/article/1892276983908331520.htm"
                           title="【深度学习pytorch-93】Transformer 相比 RNN 的优势" target="_blank">【深度学习pytorch-93】Transformer 相比 RNN 的优势</a>
                        <span class="text-muted">华东算法王</span>
<a class="tag" taget="_blank" href="/search/DL-pytorch/1.htm">DL-pytorch</a><a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/pytorch/1.htm">pytorch</a><a class="tag" taget="_blank" href="/search/transformer/1.htm">transformer</a>
                        <div>Transformer相比RNN的优势Transformer和RNN(循环神经网络)都是自然语言处理(NLP)领域的重要架构,但它们的工作原理和应用方式有很大不同。Transformer由于其独特的结构和机制,在多个方面优于RNN。以下是Transformer相比RNN的主要优势:1.并行计算能力RNN的局限性RNN是按顺序处理输入的,即每个时间步的输出都依赖于前一个时间步的输出。这意味着,在训练</div>
                    </li>
                    <li><a href="/article/1892275975589261312.htm"
                           title="深度学习模型中的知识蒸馏是如何工作的?" target="_blank">深度学习模型中的知识蒸馏是如何工作的?</a>
                        <span class="text-muted">c++服务器开发</span>
<a class="tag" taget="_blank" href="/search/%E6%B7%B1%E5%BA%A6%E5%AD%A6%E4%B9%A0/1.htm">深度学习</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a>
                        <div>深度学习模型在多个领域,特别是计算机视觉和自然语言处理中,已经取得了革命性的进展。然而,随着模型复杂性和资源需求的不断攀升,如何将这些庞大模型的知识浓缩为更紧凑、更高效的形式,成为了当前研究的热点。知识蒸馏,作为一种将知识从复杂模型转移到更简单模型的策略,已经成为实现这一目标的有效工具。在本文中,我们将深入探究深度学习模型中知识蒸馏的概念、原理及其在各领域的应用,以期为读者提供一个全面而严谨的视角</div>
                    </li>
                    <li><a href="/article/1892262354696073216.htm"
                           title="吐血整理!权重持久化方案优化,让你的模型性能飙升" target="_blank">吐血整理!权重持久化方案优化,让你的模型性能飙升</a>
                        <span class="text-muted">盼达思文体科创</span>
<a class="tag" taget="_blank" href="/search/%E7%BB%8F%E9%AA%8C%E5%88%86%E4%BA%AB/1.htm">经验分享</a>
                        <div>吐血整理!权重持久化方案优化,让你的模型性能飙升引言你是否在做深度学习项目时,遭遇过模型训练结果无法有效保存,导致之前的努力付诸东流的痛苦?又或者在模型权重持久化时,发现保存和加载的速度极慢,严重影响项目进度?今天咱们就来好好聊聊权重持久化方案的优化,帮你解决这些让人头疼的问题!核心内容❗传统方案痛点:大多数人都踩过的坑在很多深度学习项目里,大家常用的权重持久化方案存在不少问题。比如说,使用普通的</div>
                    </li>
                    <li><a href="/article/1892260083954413568.htm"
                           title="【第四届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2025】网络安全,人工智能,数字经济的研究" target="_blank">【第四届网络安全、人工智能与数字经济国际学术会议(CSAIDE 2025】网络安全,人工智能,数字经济的研究</a>
                        <span class="text-muted">禁默</span>
<a class="tag" taget="_blank" href="/search/%E5%AD%A6%E6%9C%AF%E4%BC%9A%E8%AE%AE/1.htm">学术会议</a><a class="tag" taget="_blank" href="/search/%E8%AF%9D%E9%A2%98%E6%8E%A2%E8%AE%A8/1.htm">话题探讨</a><a class="tag" taget="_blank" href="/search/web%E5%AE%89%E5%85%A8/1.htm">web安全</a><a class="tag" taget="_blank" href="/search/%E4%BA%BA%E5%B7%A5%E6%99%BA%E8%83%BD/1.htm">人工智能</a><a class="tag" taget="_blank" href="/search/%E5%AE%89%E5%85%A8/1.htm">安全</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E5%AD%97%E7%BB%8F%E6%B5%8E/1.htm">数字经济</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E6%9C%AF%E8%AE%BA%E6%96%87/1.htm">学术论文</a>
                        <div>重要信息会议官网:www.csaide.net会议时间:2025年3月7-9日会议地点:马来西亚-马来西亚理工大学新山校区(线上+线下混合)简介过去几年,数字经济蓬勃发展,已成为全球经济增长的驱动力。然而,网络安全成为其最大的挑战。为了确保数字经济的可持续发展,人工智能被认为是至关重要的技术手段。第四届网络安全、人工智能与数字经济(CSAIDE2025)将于2025年3月7日至9日在马来西亚举行。</div>
                    </li>
                                <li><a href="/article/117.htm"
                                       title="Algorithm" target="_blank">Algorithm</a>
                                    <span class="text-muted">香水浓</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/Algorithm/1.htm">Algorithm</a>
                                    <div>冒泡排序 
 

	public static void sort(Integer[] param) {
		for (int i = param.length - 1; i > 0; i--) {
			for (int j = 0; j < i; j++) {
				int current = param[j];
				int next = param[j + 1];</div>
                                </li>
                                <li><a href="/article/244.htm"
                                       title="mongoDB 复杂查询表达式" target="_blank">mongoDB 复杂查询表达式</a>
                                    <span class="text-muted">开窍的石头</span>
<a class="tag" taget="_blank" href="/search/mongodb/1.htm">mongodb</a>
                                    <div>1:count 
   Pg: db.user.find().count(); 
   统计多少条数据 
2:不等于$ne 
   Pg: db.user.find({_id:{$ne:3}},{name:1,sex:1,_id:0}); 
   查询id不等于3的数据。 
3:大于$gt $gte(大于等于) 
&n</div>
                                </li>
                                <li><a href="/article/371.htm"
                                       title="Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space" target="_blank">Jboss Java heap space异常解决方法, jboss OutOfMemoryError : PermGen space</a>
                                    <span class="text-muted">0624chenhong</span>
<a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/jboss/1.htm">jboss</a>
                                    <div>转自 
http://blog.csdn.net/zou274/article/details/5552630 
 
解决办法: 
 
window->preferences->java->installed jres->edit jre 
把default vm arguments 的参数设为-Xms64m -Xmx512m 
 
 
 
----------------</div>
                                </li>
                                <li><a href="/article/498.htm"
                                       title="文件上传 下载 解析 相对路径" target="_blank">文件上传 下载 解析 相对路径</a>
                                    <span class="text-muted">不懂事的小屁孩</span>
<a class="tag" taget="_blank" href="/search/%E6%96%87%E4%BB%B6%E4%B8%8A%E4%BC%A0/1.htm">文件上传</a>
                                    <div>有点坑吧,弄这么一个简单的东西弄了一天多,身边还有大神指导着,网上各种百度着。 
下面总结一下遇到的问题: 
 
文件上传,在页面上传的时候,不要想着去操作绝对路径,浏览器会对客户端的信息进行保护,避免用户信息收到攻击。 
在上传图片,或者文件时,使用form表单来操作。 
前台通过form表单传输一个流到后台,而不是ajax传递参数到后台,代码如下: 
 

<form action=&</div>
                                </li>
                                <li><a href="/article/625.htm"
                                       title="怎么实现qq空间批量点赞" target="_blank">怎么实现qq空间批量点赞</a>
                                    <span class="text-muted">换个号韩国红果果</span>
<a class="tag" taget="_blank" href="/search/qq/1.htm">qq</a>
                                    <div>纯粹为了好玩!! 
逻辑很简单 
1 打开浏览器console;输入以下代码。 
先上添加赞的代码 
 

var tools={};
		//添加所有赞
		function  init(){
			document.body.scrollTop=10000;
				setTimeout(function(){document.body.scrollTop=0;},2000);//加</div>
                                </li>
                                <li><a href="/article/752.htm"
                                       title="判断是否为中文" target="_blank">判断是否为中文</a>
                                    <span class="text-muted">灵静志远</span>
<a class="tag" taget="_blank" href="/search/%E4%B8%AD%E6%96%87/1.htm">中文</a>
                                    <div>方法一: 
public class Zhidao { 
 public static void main(String args[]) { 
 String s = "sdf灭礌 kjl d{';\fdsjlk是"; 
 int n=0; 
 for(int i=0; i<s.length(); i++) { 
 n = (int)s.charAt(i); 
 if((</div>
                                </li>
                                <li><a href="/article/879.htm"
                                       title="一个电话面试后总结" target="_blank">一个电话面试后总结</a>
                                    <span class="text-muted">a-john</span>
<a class="tag" taget="_blank" href="/search/%E9%9D%A2%E8%AF%95/1.htm">面试</a>
                                    <div>今天,接了一个电话面试,对于还是初学者的我来说,紧张了半天。 
面试的问题分了层次,对于一类问题,由简到难。自己觉得回答不好的地方作了一下总结: 
  
在谈到集合类的时候,举几个常用的集合类,想都没想,直接说了list,map。 
  
然后对list和map分别举几个类型: 
  
list方面:ArrayList,LinkedList。在谈到他们的区别时,愣住了</div>
                                </li>
                                <li><a href="/article/1006.htm"
                                       title="MSSQL中Escape转义的使用" target="_blank">MSSQL中Escape转义的使用</a>
                                    <span class="text-muted">aijuans</span>
<a class="tag" taget="_blank" href="/search/MSSQL/1.htm">MSSQL</a>
                                    <div>IF OBJECT_ID('tempdb..#ABC') is not null
drop table tempdb..#ABC


create table #ABC
(
PATHNAME NVARCHAR(50)
)


insert into #ABC
SELECT N'/ABCDEFGHI' 
UNION ALL SELECT N'/ABCDGAFGASASSDFA' 
UNION ALL</div>
                                </li>
                                <li><a href="/article/1133.htm"
                                       title="一个简单的存储过程" target="_blank">一个简单的存储过程</a>
                                    <span class="text-muted">asialee</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a><a class="tag" taget="_blank" href="/search/%E5%AD%98%E5%82%A8%E8%BF%87%E7%A8%8B/1.htm">存储过程</a><a class="tag" taget="_blank" href="/search/%E6%9E%84%E9%80%A0%E6%95%B0%E6%8D%AE/1.htm">构造数据</a><a class="tag" taget="_blank" href="/search/%E6%89%B9%E9%87%8F%E6%8F%92%E5%85%A5/1.htm">批量插入</a>
                                    <div>           今天要批量的生成一批测试数据,其中中间有部分数据是变化的,本来想写个程序来生成的,后来想到存储过程就可以搞定,所以随手写了一个,记录在此: 
  
         
DELIMITER $$  
DROP PROCEDURE IF EXISTS inse</div>
                                </li>
                                <li><a href="/article/1260.htm"
                                       title="annot convert from HomeFragment_1 to Fragment" target="_blank">annot convert from HomeFragment_1 to Fragment</a>
                                    <span class="text-muted">百合不是茶</span>
<a class="tag" taget="_blank" href="/search/android/1.htm">android</a><a class="tag" taget="_blank" href="/search/%E5%AF%BC%E5%8C%85%E9%94%99%E8%AF%AF/1.htm">导包错误</a>
                                    <div>创建了几个类继承Fragment, 需要将创建的类存储在ArrayList<Fragment>中; 出现不能将new 出来的对象放到队列中,原因很简单; 
    创建类时引入包是:import android.app.Fragment; 
  
   创建队列和对象时使用的包是:import android.support.v4.ap</div>
                                </li>
                                <li><a href="/article/1387.htm"
                                       title="Weblogic10两种修改端口的方法" target="_blank">Weblogic10两种修改端口的方法</a>
                                    <span class="text-muted">bijian1013</span>
<a class="tag" taget="_blank" href="/search/weblogic/1.htm">weblogic</a><a class="tag" taget="_blank" href="/search/%E7%AB%AF%E5%8F%A3%E5%8F%B7/1.htm">端口号</a><a class="tag" taget="_blank" href="/search/%E9%85%8D%E7%BD%AE%E7%AE%A1%E7%90%86/1.htm">配置管理</a><a class="tag" taget="_blank" href="/search/config.xml/1.htm">config.xml</a>
                                    <div>一.进入控制台进行修改    1.进入控制台:  http://127.0.0.1:7001/console     2.展开左边树菜单         域结构->环境->服务器-->点击AdminServer(管理) &</div>
                                </li>
                                <li><a href="/article/1514.htm"
                                       title="mysql 操作指令" target="_blank">mysql 操作指令</a>
                                    <span class="text-muted">征客丶</span>
<a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>一、连接mysql 
进入 mysql 的安装目录; 
$ bin/mysql -p [host IP 如果是登录本地的mysql 可以不写 -p 直接 -u] -u [userName] -p 
输入密码,回车,接连; 
 
二、权限操作[如果你很了解mysql数据库后,你可以直接去修改系统表,然后用 mysql> flush privileges; 指令让权限生效] 
1、赋权 
mys</div>
                                </li>
                                <li><a href="/article/1641.htm"
                                       title="【Hive一】Hive入门" target="_blank">【Hive一】Hive入门</a>
                                    <span class="text-muted">bit1129</span>
<a class="tag" taget="_blank" href="/search/hive/1.htm">hive</a>
                                    <div>Hive安装与配置 
Hive的运行需要依赖于Hadoop,因此需要首先安装Hadoop2.5.2,并且Hive的启动前需要首先启动Hadoop。 
  Hive安装和配置的步骤 
  
1. 从如下地址下载Hive0.14.0 
  
http://mirror.bit.edu.cn/apache/hive/ 
  
 2.解压hive,在系统变</div>
                                </li>
                                <li><a href="/article/1768.htm"
                                       title="ajax 三种提交请求的方法" target="_blank">ajax 三种提交请求的方法</a>
                                    <span class="text-muted">BlueSkator</span>
<a class="tag" taget="_blank" href="/search/Ajax/1.htm">Ajax</a><a class="tag" taget="_blank" href="/search/jqery/1.htm">jqery</a>
                                    <div>1、ajax 提交请求 
$.ajax({
			type:"post",
			url : "${ctx}/front/Hotel/getAllHotelByAjax.do",
			dataType : "json",
			success : function(result) {
				try {
					for(v</div>
                                </li>
                                <li><a href="/article/1895.htm"
                                       title="mongodb开发环境下的搭建入门" target="_blank">mongodb开发环境下的搭建入门</a>
                                    <span class="text-muted">braveCS</span>
<a class="tag" taget="_blank" href="/search/%E8%BF%90%E7%BB%B4/1.htm">运维</a>
                                    <div>  
linux下安装mongodb 
1)官网下载mongodb-linux-x86_64-rhel62-3.0.4.gz 
2)linux 解压   
gzip -d mongodb-linux-x86_64-rhel62-3.0.4.gz; 
mv mongodb-linux-x86_64-rhel62-3.0.4 mongodb-linux-x86_64-rhel62-</div>
                                </li>
                                <li><a href="/article/2022.htm"
                                       title="编程之美-最短摘要的生成" target="_blank">编程之美-最短摘要的生成</a>
                                    <span class="text-muted">bylijinnan</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/%E7%AE%97%E6%B3%95/1.htm">算法</a><a class="tag" taget="_blank" href="/search/%E7%BC%96%E7%A8%8B%E4%B9%8B%E7%BE%8E/1.htm">编程之美</a>
                                    <div>

import java.util.HashMap;
import java.util.Map;
import java.util.Map.Entry;

public class ShortestAbstract {

	/**
	 * 编程之美 最短摘要的生成
	 * 扫描过程始终保持一个[pBegin,pEnd]的range,初始化确保[pBegin,pEnd]的ran</div>
                                </li>
                                <li><a href="/article/2149.htm"
                                       title="json数据解析及typeof" target="_blank">json数据解析及typeof</a>
                                    <span class="text-muted">chengxuyuancsdn</span>
<a class="tag" taget="_blank" href="/search/js/1.htm">js</a><a class="tag" taget="_blank" href="/search/typeof/1.htm">typeof</a><a class="tag" taget="_blank" href="/search/json%E8%A7%A3%E6%9E%90/1.htm">json解析</a>
                                    <div>   
       // json格式
	var people='{"authors": [{"firstName": "AAA","lastName": "BBB"},'
		                    +' {"firstName": "CCC&</div>
                                </li>
                                <li><a href="/article/2276.htm"
                                       title="流程系统设计的层次和目标" target="_blank">流程系统设计的层次和目标</a>
                                    <span class="text-muted">comsci</span>
<a class="tag" taget="_blank" href="/search/%E8%AE%BE%E8%AE%A1%E6%A8%A1%E5%BC%8F/1.htm">设计模式</a><a class="tag" taget="_blank" href="/search/%E6%95%B0%E6%8D%AE%E7%BB%93%E6%9E%84/1.htm">数据结构</a><a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/%E6%A1%86%E6%9E%B6/1.htm">框架</a><a class="tag" taget="_blank" href="/search/%E8%84%9A%E6%9C%AC/1.htm">脚本</a>
                                    <div> 
                              流程系统设计的层次和目标 
 
 
 </div>
                                </li>
                                <li><a href="/article/2403.htm"
                                       title="RMAN List和report 命令" target="_blank">RMAN List和report 命令</a>
                                    <span class="text-muted">daizj</span>
<a class="tag" taget="_blank" href="/search/oracle/1.htm">oracle</a><a class="tag" taget="_blank" href="/search/list/1.htm">list</a><a class="tag" taget="_blank" href="/search/report/1.htm">report</a><a class="tag" taget="_blank" href="/search/rman/1.htm">rman</a>
                                    <div>LIST 命令 
使用RMAN LIST 命令显示有关资料档案库中记录的备份集、代理副本和映像副本的 
信息。使用此命令可列出: 
• RMAN 资料档案库中状态不是AVAILABLE 的备份和副本 
• 可用的且可以用于还原操作的数据文件备份和副本 
• 备份集和副本,其中包含指定数据文件列表或指定表空间的备份 
• 包含指定名称或范围的所有归档日志备份的备份集和副本 
• 由标记、完成时间、可</div>
                                </li>
                                <li><a href="/article/2530.htm"
                                       title="二叉树:红黑树" target="_blank">二叉树:红黑树</a>
                                    <span class="text-muted">dieslrae</span>
<a class="tag" taget="_blank" href="/search/%E4%BA%8C%E5%8F%89%E6%A0%91/1.htm">二叉树</a>
                                    <div>    红黑树是一种自平衡的二叉树,它的查找,插入,删除操作时间复杂度皆为O(logN),不会出现普通二叉搜索树在最差情况时时间复杂度会变为O(N)的问题. 
    红黑树必须遵循红黑规则,规则如下 
    
1、每个节点不是红就是黑。     2、根总是黑的  &</div>
                                </li>
                                <li><a href="/article/2657.htm"
                                       title="C语言homework3,7个小题目的代码" target="_blank">C语言homework3,7个小题目的代码</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/c/1.htm">c</a>
                                    <div>1、打印100以内的所有奇数。 
# include <stdio.h>

int main(void)
{
	int i;

	for (i=1; i<=100; i++)
	{
		if (i%2 != 0)
			printf("%d ", i);
	}

	return 0;
}
 
 2、从键盘上输入10个整数,</div>
                                </li>
                                <li><a href="/article/2784.htm"
                                       title="自定义按钮, 图片在上, 文字在下, 居中显示" target="_blank">自定义按钮, 图片在上, 文字在下, 居中显示</a>
                                    <span class="text-muted">dcj3sjt126com</span>
<a class="tag" taget="_blank" href="/search/%E8%87%AA%E5%AE%9A%E4%B9%89/1.htm">自定义</a>
                                    <div>#import <UIKit/UIKit.h>

@interface MyButton : UIButton

-(void)setFrame:(CGRect)frame ImageName:(NSString*)imageName Target:(id)target Action:(SEL)action Title:(NSString*)title Font:(CGFloa</div>
                                </li>
                                <li><a href="/article/2911.htm"
                                       title="MySQL查询语句练习题,测试足够用了" target="_blank">MySQL查询语句练习题,测试足够用了</a>
                                    <span class="text-muted">flyvszhb</span>
<a class="tag" taget="_blank" href="/search/sql/1.htm">sql</a><a class="tag" taget="_blank" href="/search/mysql/1.htm">mysql</a>
                                    <div>http://blog.sina.com.cn/s/blog_767d65530101861c.html 
1.创建student和score表 
CREATE  TABLE  student ( 
id  INT(10)  NOT NULL  UNIQUE  PRIMARY KEY  , 
name  VARCHAR</div>
                                </li>
                                <li><a href="/article/3038.htm"
                                       title="转:MyBatis Generator 详解" target="_blank">转:MyBatis Generator 详解</a>
                                    <span class="text-muted">happyqing</span>
<a class="tag" taget="_blank" href="/search/mybatis/1.htm">mybatis</a>
                                    <div>  
MyBatis Generator 详解 
http://blog.csdn.net/isea533/article/details/42102297 
  
MyBatis Generator详解 
http://git.oschina.net/free/Mybatis_Utils/blob/master/MybatisGeneator/MybatisGeneator.</div>
                                </li>
                                <li><a href="/article/3165.htm"
                                       title="让程序员少走弯路的14个忠告" target="_blank">让程序员少走弯路的14个忠告</a>
                                    <span class="text-muted">jingjing0907</span>
<a class="tag" taget="_blank" href="/search/%E5%B7%A5%E4%BD%9C/1.htm">工作</a><a class="tag" taget="_blank" href="/search/%E8%AE%A1%E5%88%92/1.htm">计划</a><a class="tag" taget="_blank" href="/search/%E5%AD%A6%E4%B9%A0/1.htm">学习</a>
                                    <div>  
无论是谁,在刚进入某个领域之时,有再大的雄心壮志也敌不过眼前的迷茫:不知道应该怎么做,不知道应该做什么。下面是一名软件开发人员所学到的经验,希望能对大家有所帮助 
  
1.不要害怕在工作中学习。  
只要有电脑,就可以通过电子阅读器阅读报纸和大多数书籍。如果你只是做好自己的本职工作以及分配的任务,那是学不到很多东西的。如果你盲目地要求更多的工作,也是不可能提升自己的。放</div>
                                </li>
                                <li><a href="/article/3292.htm"
                                       title="nginx和NetScaler区别" target="_blank">nginx和NetScaler区别</a>
                                    <span class="text-muted">流浪鱼</span>
<a class="tag" taget="_blank" href="/search/nginx/1.htm">nginx</a>
                                    <div>NetScaler是一个完整的包含操作系统和应用交付功能的产品,Nginx并不包含操作系统,在处理连接方面,需要依赖于操作系统,所以在并发连接数方面和防DoS攻击方面,Nginx不具备优势。 
2.易用性方面差别也比较大。Nginx对管理员的水平要求比较高,参数比较多,不确定性给运营带来隐患。在NetScaler常见的配置如健康检查,HA等,在Nginx上的配置的实现相对复杂。 
3.策略灵活度方</div>
                                </li>
                                <li><a href="/article/3419.htm"
                                       title="第11章 动画效果(下)" target="_blank">第11章 动画效果(下)</a>
                                    <span class="text-muted">onestopweb</span>
<a class="tag" taget="_blank" href="/search/%E5%8A%A8%E7%94%BB/1.htm">动画</a>
                                    <div>index.html 
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/</div>
                                </li>
                                <li><a href="/article/3546.htm"
                                       title="FAQ - SAP BW BO roadmap" target="_blank">FAQ - SAP BW BO roadmap</a>
                                    <span class="text-muted">blueoxygen</span>
<a class="tag" taget="_blank" href="/search/BO/1.htm">BO</a><a class="tag" taget="_blank" href="/search/BW/1.htm">BW</a>
                                    <div>http://www.sdn.sap.com/irj/boc/business-objects-for-sap-faq 
  
Besides, I care that how to integrate tightly. 
  
By the way, for BW consultants, please just focus on Query Designer which i</div>
                                </li>
                                <li><a href="/article/3673.htm"
                                       title="关于java堆内存溢出的几种情况" target="_blank">关于java堆内存溢出的几种情况</a>
                                    <span class="text-muted">tomcat_oracle</span>
<a class="tag" taget="_blank" href="/search/java/1.htm">java</a><a class="tag" taget="_blank" href="/search/jvm/1.htm">jvm</a><a class="tag" taget="_blank" href="/search/jdk/1.htm">jdk</a><a class="tag" taget="_blank" href="/search/thread/1.htm">thread</a>
                                    <div>【情况一】:      
java.lang.OutOfMemoryError: Java heap space:这种是java堆内存不够,一个原因是真不够,另一个原因是程序中有死循环;     如果是java堆内存不够的话,可以通过调整JVM下面的配置来解决:     <jvm-arg>-Xms3062m</jvm-arg>     <jvm-arg>-Xmx</div>
                                </li>
                                <li><a href="/article/3800.htm"
                                       title="Manifest.permission_group权限组" target="_blank">Manifest.permission_group权限组</a>
                                    <span class="text-muted">阿尔萨斯</span>
<a class="tag" taget="_blank" href="/search/Permission/1.htm">Permission</a>
                                    <div>结构 
继承关系 
public static final class Manifest.permission_group extends Object 
java.lang.Object 
android. Manifest.permission_group 常量 
ACCOUNTS 直接通过统计管理器访问管理的统计 
COST_MONEY可以用来让用户花钱但不需要通过与他们直接牵涉的权限 
D</div>
                                </li>
                </ul>
            </div>
        </div>
    </div>

<div>
    <div class="container">
        <div class="indexes">
            <strong>按字母分类:</strong>
            <a href="/tags/A/1.htm" target="_blank">A</a><a href="/tags/B/1.htm" target="_blank">B</a><a href="/tags/C/1.htm" target="_blank">C</a><a
                href="/tags/D/1.htm" target="_blank">D</a><a href="/tags/E/1.htm" target="_blank">E</a><a href="/tags/F/1.htm" target="_blank">F</a><a
                href="/tags/G/1.htm" target="_blank">G</a><a href="/tags/H/1.htm" target="_blank">H</a><a href="/tags/I/1.htm" target="_blank">I</a><a
                href="/tags/J/1.htm" target="_blank">J</a><a href="/tags/K/1.htm" target="_blank">K</a><a href="/tags/L/1.htm" target="_blank">L</a><a
                href="/tags/M/1.htm" target="_blank">M</a><a href="/tags/N/1.htm" target="_blank">N</a><a href="/tags/O/1.htm" target="_blank">O</a><a
                href="/tags/P/1.htm" target="_blank">P</a><a href="/tags/Q/1.htm" target="_blank">Q</a><a href="/tags/R/1.htm" target="_blank">R</a><a
                href="/tags/S/1.htm" target="_blank">S</a><a href="/tags/T/1.htm" target="_blank">T</a><a href="/tags/U/1.htm" target="_blank">U</a><a
                href="/tags/V/1.htm" target="_blank">V</a><a href="/tags/W/1.htm" target="_blank">W</a><a href="/tags/X/1.htm" target="_blank">X</a><a
                href="/tags/Y/1.htm" target="_blank">Y</a><a href="/tags/Z/1.htm" target="_blank">Z</a><a href="/tags/0/1.htm" target="_blank">其他</a>
        </div>
    </div>
</div>
<footer id="footer" class="mb30 mt30">
    <div class="container">
        <div class="footBglm">
            <a target="_blank" href="/">首页</a> -
            <a target="_blank" href="/custom/about.htm">关于我们</a> -
            <a target="_blank" href="/search/Java/1.htm">站内搜索</a> -
            <a target="_blank" href="/sitemap.txt">Sitemap</a> -
            <a target="_blank" href="/custom/delete.htm">侵权投诉</a>
        </div>
        <div class="copyright">版权所有 IT知识库 CopyRight © 2000-2050 E-COM-NET.COM , All Rights Reserved.
<!--            <a href="https://beian.miit.gov.cn/" rel="nofollow" target="_blank">京ICP备09083238号</a><br>-->
        </div>
    </div>
</footer>
<!-- 代码高亮 -->
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shCore.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shLegacy.js"></script>
<script type="text/javascript" src="/static/syntaxhighlighter/scripts/shAutoloader.js"></script>
<link type="text/css" rel="stylesheet" href="/static/syntaxhighlighter/styles/shCoreDefault.css"/>
<script type="text/javascript" src="/static/syntaxhighlighter/src/my_start_1.js"></script>





</body>

</html>